[vlc-devel] [PATCH] input: don't wait data to create sout input
Thomas Guillem
thomas at gllm.fr
Tue Jan 30 08:49:12 CET 2018
On Mon, Jan 29, 2018, at 23:02, Francois Cartegnie wrote:
> No sout mux buffer parameters is sufficient
> as spu can arrive really late.
> ---
> src/input/decoder.c | 20 ++++++++++++++++++--
> 1 file changed, 18 insertions(+), 2 deletions(-)
>
> diff --git a/src/input/decoder.c b/src/input/decoder.c
> index 0d3df97934..6a9a4fcb06 100644
> --- a/src/input/decoder.c
> +++ b/src/input/decoder.c
> @@ -1953,8 +1953,24 @@ decoder_t *input_DecoderNew( input_thread_t *p_input,
> es_format_t *fmt, input_clock_t *p_clock,
> sout_instance_t *p_sout )
> {
> - return decoder_New( VLC_OBJECT(p_input), p_input, fmt, p_clock,
> - input_priv(p_input)->p_resource, p_sout );
> + decoder_t *p_dec = decoder_New( VLC_OBJECT(p_input), p_input, fmt, p_clock,
> + input_priv(p_input)->p_resource, p_sout );
> +#ifdef ENABLE_SOUT
> + /* Do not delay sout creation for SPU or DATA. */
> + if( p_dec && p_sout && fmt->b_packetized &&
> + (fmt->i_cat != VIDEO_ES && fmt->i_cat != AUDIO_ES) )
> + {
> + decoder_owner_sys_t *p_owner = p_dec->p_owner;
> + p_owner->p_sout_input = sout_InputNew( p_owner->p_sout, fmt );
> + if( p_owner->p_sout_input == NULL )
> + {
> + msg_Err( p_dec, "cannot create sout input (%4.4s)",
> + (char *)&fmt->i_codec );
> + p_owner->error = true;
> + }
> + }
> +#endif
> + return p_dec;
The p_sout_input is not locked but it should be read and write from the DecoderThread.
> }
>
> /**
> --
> 2.14.3
>
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel
More information about the vlc-devel
mailing list