[vlc-devel] [PATCH 2/2] avformat: enable SPU_ES muxing for text subtitles

Steve Lhomme robux4 at ycbcr.xyz
Wed Nov 27 08:14:26 CET 2019


On 2019-11-26 23:54, Alexandre Janniaux wrote:
> Allows SPU_ES to be muxed as long as they carry text subtitles. It
> releases a little bit the constraint on muxing capabilities of avformat
> but in particular allows muxing subrip within matroska files.
> ---
>   modules/demux/avformat/mux.c | 11 ++++++++++-
>   1 file changed, 10 insertions(+), 1 deletion(-)
> 
> diff --git a/modules/demux/avformat/mux.c b/modules/demux/avformat/mux.c
> index 76a3c1da4a..e1d3eb99a4 100644
> --- a/modules/demux/avformat/mux.c
> +++ b/modules/demux/avformat/mux.c
> @@ -220,12 +220,21 @@ static int AddStream( sout_mux_t *p_mux, sout_input_t *p_input )
>           i_codec_id = AV_CODEC_ID_MP3;
>       }
>   
> -    if( fmt->i_cat != VIDEO_ES && fmt->i_cat != AUDIO_ES)
> +    if( fmt->i_cat != VIDEO_ES
> +     && fmt->i_cat != AUDIO_ES
> +     && fmt->i_cat != SPU_ES )
>       {
>           msg_Warn( p_mux, "Unhandled ES category" );
>           return VLC_EGENERIC;
>       }
>   
> +    if( fmt->i_cat == SPU_ES && fmt->i_codec != VLC_CODEC_SUBT )
> +    {
> +        msg_Warn( p_mux, "Unhandled SPU format `%4.4s'",
> +                  (const char*)&fmt->i_codec );
> +        return VLC_EGENERIC;

Shouldn't the GetFfmpegCodec() call to find the appropriate codec_id be 
enough to tell if the SPU format can be handled by ffmpeg or not ?

> +    }
> +
>       /* */
>       p_input->p_sys = malloc( sizeof( int ) );
>       if( unlikely(p_input->p_sys == NULL) )
> -- 
> 2.24.0
> 
> _______________________________________________
> 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