[vlc-devel] [PATCH] input/stream_demux: pace control

Frédéric Yhuel 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>
> wrote:
>> > 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
paced.

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.

Frédéric



More information about the vlc-devel mailing list