input: decoder: remove decoder thread in sout scenarios
Currently, a decoder thread is spawned to handle both the display and the stream output. The decoder thread is actually unneeded by the stream output as packetizing is the only task to do before forwarding the data to the stream output. No heavy decoding is involved.
In addition to make the runtime lighter for stream output, having the
sout handling synchronous would help a lot for the implementation of
PCR
forwarding in stream output (see !1394 (merged)) as the asynchronous
SetPCR
handling could be then managed in transcode only.
This patch removes the decoder thread usage in stream output scenarios
directly in the vlc_input_decoder
. While this is far from ideal and
looks hacky, it's the best way I found to not change the code base too
much and not introduce unseen regressions right before 4.0 release.
These changes can be considered temporary as the plan in the long run
(after 4.0) is to remove stream output mention from vlc_input_decoder
and create a stream output specific es_out
implementation.
Refs #26870 #26825 (closed)