[Libav-user] Samples of silence after a av_seek_frame
musicspeedchanger at gmail.com
Mon Sep 12 01:46:17 EEST 2016
Yeah I'm rolling it back 2048 samples (arbitrary) from where I want to seek
to and then dropping those extra samples and it is working now. Still odd
On Sep 11, 2016 6:24 PM, "Christopher Snowhill" <kode54 at gmail.com> wrote:
> On 9/11/16 12:30 PM, Steve wrote:
> > Steve wrote
> >> Steve wrote
> >>> I'm using ffmpeg audio decoding to create a gapless audio loop. I call
> >>> av_seek_frame (with AVSEEK_FLAG_BACKWARD) to seek to my desired time,
> >>> call avcode_flush_buffers after. It seems the first decoded frame in
> >>> audio stream after the seek contains a few samples of silence or near
> >>> silence, thus making the loop not gapless.
> >>> If I skip an arbitrary amount of samples, the gap disappears. I've
> >>> bypassing any swr_convert resampling with same results and also using
> >>> deprecated avcodec_decode_audio4 instead of the
> >>> avcodec_send_packet/av_read_frame scheme.
> >>> Is there a way to know how many samples I need to skip so I exactly hit
> >>> the
> >>> actual audio data, or prevent ffmpeg from having these filler samples
> >>> AVFrame->data after the seek?
> >> I should also mention I know that the av_seek_frame won't seek to the
> >> exact time requested, it's on the packet boundary. I can account for the
> >> number of samples I need to skip to get to the exact time, but when the
> >> number of samples is low (or I try without skipping these samples), the
> >> problem of the silence samples is evident.
> >> This is using the mp3 decoder.
> > Incidentally this is ONLY happening with mp3 decoder (the most popular
> > format!). The other decoders like aac, wma, flac don't have this silence
> > gap. I guess it's some sort of bug.
> I also experience behavior like this with WMA Pro. I am forced to
> perform my own rollback on seeking.
> Libav-user mailing list
> Libav-user at ffmpeg.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Libav-user