[vlc-devel] [PATCH] input/stream_demux: pace control
yhuelf at gmail.com
Sun Oct 28 22:50:23 CET 2012
On Sat, Oct 27, 2012 at 3:51 PM, Rémi Denis-Courmont <remi at remlab.net> wrote:
> Le samedi 27 octobre 2012 16:37:31, Frédéric Yhuel a écrit :
>> On Sat, Oct 27, 2012 at 2:25 PM, Rémi Denis-Courmont <remi at remlab.net>
>> > Le samedi 27 octobre 2012 15:15:22, Frédéric Yhuel a écrit :
>> >> On Sat, Oct 27, 2012 at 11:25 AM, Rémi Denis-Courmont <remi at remlab.net>
>> > wrote:
>> >> > The stream_demux is paced by its input FIFO, and the FIFO is paced by
>> >> > the the parent demux. No thanks.
>> >> The problem is that it is not easy to pace the parent demux, in my case.
>> > The main demux is naturally paced by the finite bandwidth of the input
>> > stream.
>> Of course, but if we rely only on the limited bandwidth of the input
>> stream, the size of the demux_stream's FIFO could worth several
>> seconds, and so could be the size of decoders' FIFO. Then, the stop
>> button would not act timely.
> Decoders queues cannot grow infinitely long.
How long? I guess it depends on the decoder. With H.264, at least, it
can be several seconds.
> Stop has always been immediate
> regardless; it simply flushes the queue.
Yeah but it seems like flushed data is played back, and after that
only, VLC closes.
If I'm not wrong, there's only three modules using stream_demux:
live555, rtp, and bluray.
I don't know about bluray, but with a RTP stream, of course, decoders'
queues won't grow too much. Not more than "network-caching" value, I
guess, i.e. one second by default. Because the main demux is naturally
With HLS, Smooth Streaming, etc, the main demux can only be "coarsely
paced", if that makes sense.
> And pause/resume have been immediate
> for several years.
> I am not sure if the lack of direct congestion control on the stream_Demux
> FIFO is a real problem. But your patch seems to slow down the stream_Demux
> thread. That would make the problem worse rather than better.
Well, in my case, I assure you you that it makes the problem much better.
More information about the vlc-devel