[FFmpeg-devel] [PATCH v3] swr/swresample: avoid reapplication of firstpts

Gyan Doshi ffmpeg at gyani.pro
Mon Dec 18 12:20:49 EET 2023



On 2023-12-18 09:31 am, Gyan Doshi wrote:
>
>
> On 2023-12-16 03:44 pm, Gyan Doshi wrote:
>> During a resampling operation where
>>
>> 1) user has specified first_pts
>> 2) SWR_FLAG_RESAMPLE is not set initially (directly or otherwise)
>> 3) first_pts has been fulfilled (always using hard compensation)
>>
>> then upon first encountering a delay where a soft compensation is
>> required, swr_set_compensation will lead to another init of swr which
>> will reset outpts to the specified firstpts thus leading to an output
>> frame having its pts = firstpts. When the next input frame is received,
>> swr will see a large delay and inject silence from firstpts to the
>> current frame's pts. This can lead to severe desync and in worst case,
>> loss of audio playback.
>>
>> Parameter firstpts initialized to AV_NOPTS_VALUE in swr_alloc and then
>> checked in swr_init to avoid resetting outpts, thus avoiding 
>> reapplication
>> of firstpts.
>>
>> Fixes #4131.
>> ---
>> Added fate test
>
> Plan to push soon.

Pushed as be8a4f80b97222d99b4262c9230ca8a1db28973a

Regards,
Gyan



More information about the ffmpeg-devel mailing list