vlc/vlc-2.2 | branch: master | Rémi Denis-Courmont <[email protected]> | Thu Oct 2 21:33:01 2014 +0300| [021082692843141a0fe57eae70c72fcac369610e] | committer: Rémi Denis-Courmont
avcodec: map AV_CODEC_ID_NONE (cherry picked from commit 97ef3628415ece0ee2931e70cab424d5446eb64b) > http://git.videolan.org/gitweb.cgi/vlc/vlc-2.2.git/?a=commit;h=021082692843141a0fe57eae70c72fcac369610e --- modules/codec/avcodec/avcodec.c | 3 ++- modules/codec/avcodec/encoder.c | 3 +++ modules/codec/avcodec/fourcc.c | 2 ++ modules/demux/avformat/mux.c | 3 ++- 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/modules/codec/avcodec/avcodec.c b/modules/codec/avcodec/avcodec.c index 7046061..2a710f3 100644 --- a/modules/codec/avcodec/avcodec.c +++ b/modules/codec/avcodec/avcodec.c @@ -263,7 +263,8 @@ static int OpenDecoder( vlc_object_t *p_this ) /* *** determine codec type *** */ if( !GetFfmpegCodec( p_dec->fmt_in.i_codec, &i_cat, &i_codec_id, - &psz_namecodec ) ) + &psz_namecodec ) + || i_cat == UNKNOWN_ES ) { return VLC_EGENERIC; } diff --git a/modules/codec/avcodec/encoder.c b/modules/codec/avcodec/encoder.c index 3e18086..c0098d3 100644 --- a/modules/codec/avcodec/encoder.c +++ b/modules/codec/avcodec/encoder.c @@ -281,6 +281,9 @@ int OpenEncoder( vlc_object_t *p_this ) psz_namecodec = "Raw video"; } + if( i_cat == UNKNOWN_ES ) + return VLC_EGENERIC; + if( p_enc->fmt_out.i_cat == VIDEO_ES && i_cat != VIDEO_ES ) { msg_Err( p_enc, "\"%s\" is not a video encoder", psz_namecodec ); diff --git a/modules/codec/avcodec/fourcc.c b/modules/codec/avcodec/fourcc.c index 3608f2c..c6875d0 100644 --- a/modules/codec/avcodec/fourcc.c +++ b/modules/codec/avcodec/fourcc.c @@ -43,6 +43,8 @@ static const struct int i_cat; } codecs_table[] = { + { 0, AV_CODEC_ID_NONE, UNKNOWN_ES }, + /* * Video Codecs */ diff --git a/modules/demux/avformat/mux.c b/modules/demux/avformat/mux.c index c9532f5..2974a6d 100644 --- a/modules/demux/avformat/mux.c +++ b/modules/demux/avformat/mux.c @@ -180,7 +180,8 @@ static int AddStream( sout_mux_t *p_mux, sout_input_t *p_input ) msg_Dbg( p_mux, "adding input" ); - if( !GetFfmpegCodec( fmt->i_codec, 0, &i_codec_id, 0 ) ) + if( !GetFfmpegCodec( fmt->i_codec, 0, &i_codec_id, 0 ) + || i_codec_id == AV_CODEC_ID_NONE ) { msg_Dbg( p_mux, "couldn't find codec for fourcc '%4.4s'", (char *)&fmt->i_codec ); _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
