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, and > call avcode_flush_buffers after. It seems the first decoded frame in the > 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 tried > bypassing any swr_convert resampling with same results and also using the > 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 in > AVFrame->data after the seek? > > _______________________________________________ > Libav-user mailing list
> Libav-user@ > http://ffmpeg.org/mailman/listinfo/libav-user 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. -- View this message in context: http://libav-users.943685.n4.nabble.com/Libav-user-Samples-of-silence-after-a-av-seek-frame-tp4662617p4662618.html Sent from the libav-users mailing list archive at Nabble.com. _______________________________________________ Libav-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/libav-user
