[vlc-devel] Demux/Stream pause state propagation

Francois Cartegnie fcvlcdev at free.fr
Sat Oct 10 15:56:53 CEST 2015


On pause, the input does notify new state to demux or its slave stream:

if( p_demux->s != NULL )
    i_ret = stream_Control( p_demux->s, STREAM_SET_PAUSE_STATE, true );
    i_ret = demux_Control( p_demux, DEMUX_SET_PAUSE_STATE, true );

The problem being, for example, adaptive, the slave stream is a fully
read manifest, does exist, and will always succeed. The demuxer will
never get notified.

I believe notifying both by default would raise some new issues.

I see three options then:

* Have the streams fail on SET_PAUSE_STATE when they reach eof.
Probably incorrect as they can still seek.

* Have new demux flag for routing this control.

* Add new signal/control to notify demuxer its stream handled pause.


More information about the vlc-devel mailing list