[vlc-devel] [PATCH 3/8] sout/core: handle drain

Rémi Denis-Courmont remi at remlab.net
Tue Jan 30 17:31:36 CET 2018

Le maanantaina 29. tammikuuta 2018, 19.25.51 EET Thomas Guillem a écrit :
> On most modules, draining consist of calling pf_send with the next sout with
> a NULL buffer.

Repeating myself, but "draining" makes no sense if you have multiple ES: To 
finish draining an ES, you might need future blocks from other ES - depending 
how the multiplexing and/or output buffering is done. So this will never work 
with more than one ES.

And if you have only one ES left, then it´s pretty much useless - you can just 
drain on deletion.

This is very much *unlike* the audio output case. Audio outputs implicitly 
drop pending frames when deleted (flushing), so they need explicit draining 
when applicable. Stream output has no use cases for flushing, it can always 
drain implicitly, AFAIK.


More information about the vlc-devel mailing list