[vlc-devel] [PATCH] demux: avcodec: audio: reset reference time on backward seek (fix #9176)

Rémi Denis-Courmont remi at remlab.net
Fri May 16 14:40:14 CEST 2014


Le 2014-05-16 19:13, Francois Cartegnie a écrit :
> Le 16/05/2014 10:15, Ilkka Ollakka a écrit :
>> Yes you are right that it would be really fragile. Maybe better
>> would be just check discontinuity and change demuxers to set
>> discontinuity on seeks.
>
> That's not just about discontinuity. We can't deal with muxed data
> having +AOUT_MAX_PREPARE_TIME (audio sent late after video) or
> -AOUT_MAX_PREPARE_TIME (early audio before video).

I disagree. The packetizers and decoders want data in order, and it is 
thus (one of) the job the demuxers to reorder them if necessary. With 
that in mind, the only way that timestamps can warp is a discontinuity. 
And signaling discontinuities with an appropriate PCR update is also a 
task of the demuxer, AFAIK.

There *is* indeed a problem that the current AOUT_MAX_PREPARE_TIME 
check may break valid streams with very large audio packets or with long 
drops. But the proposed hack to libavcodec will definitely not fix that 
problem; in fact, I think it will rather worsen it.

-- 
Rémi Denis-Courmont



More information about the vlc-devel mailing list