add PacketDuration
This commit is contained in:
parent
77c2d0ba69
commit
99334d2a92
9
audio.go
9
audio.go
@ -292,11 +292,10 @@ func (self *AudioEncoder) encodeOne(frame av.AudioFrame) (gotpkt bool, pkt av.Pa
|
|||||||
if cgotpkt != 0 {
|
if cgotpkt != 0 {
|
||||||
gotpkt = true
|
gotpkt = true
|
||||||
pkt.Data = C.GoBytes(unsafe.Pointer(cpkt.data), cpkt.size)
|
pkt.Data = C.GoBytes(unsafe.Pointer(cpkt.data), cpkt.size)
|
||||||
pkt.Time = time.Duration(frame.SampleCount)*time.Second/time.Duration(self.SampleRate)
|
|
||||||
C.av_packet_unref(&cpkt)
|
C.av_packet_unref(&cpkt)
|
||||||
|
|
||||||
if debug {
|
if debug {
|
||||||
fmt.Println("ffmpeg: Encode", frame.SampleCount, frame.SampleRate, frame.ChannelLayout, frame.SampleFormat, "pkt", len(pkt.Data), "dur", pkt.Time)
|
fmt.Println("ffmpeg: Encode", frame.SampleCount, frame.SampleRate, frame.ChannelLayout, frame.SampleFormat, "len", len(pkt.Data))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -657,3 +656,9 @@ func (self audioCodecData) ChannelLayout() av.ChannelLayout {
|
|||||||
return self.channelLayout
|
return self.channelLayout
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (self audioCodecData) PacketDuration(data []byte) (dur time.Duration, err error) {
|
||||||
|
// TODO: implement it
|
||||||
|
err = fmt.Errorf("ffmpeg: cannot get packet duration")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user