[FFmpeg-devel] [PATCH]Don't overwrite codec_id with 0 in ff_mp4_read_dec_config_descr

Carl Eugen Hoyos cehoyos at ag.or.at
Wed May 21 22:20:28 CEST 2014


Hi!

Attached patch is the first of two possibilities to fix ticket #3660, imo 
this patch is a good idea no matter if the second one gets applied.

Please comment, Carl Eugen
-------------- next part --------------
diff --git a/libavformat/isom.c b/libavformat/isom.c
index b34398b..d768c32 100644
--- a/libavformat/isom.c
+++ b/libavformat/isom.c
@@ -441,6 +441,7 @@ static const AVCodecTag mp4_audio_types[] = {
 
 int ff_mp4_read_dec_config_descr(AVFormatContext *fc, AVStream *st, AVIOContext *pb)
 {
+    enum AVCodecID codec_id;
     int len, tag;
     int ret;
     int object_type_id = avio_r8(pb);
@@ -454,7 +455,9 @@ int ff_mp4_read_dec_config_descr(AVFormatContext *fc, AVStream *st, AVIOContext
         return -1;
     }
 
-    st->codec->codec_id= ff_codec_get_id(ff_mp4_obj_type, object_type_id);
+    codec_id= ff_codec_get_id(ff_mp4_obj_type, object_type_id);
+    if (codec_id)
+        st->codec->codec_id= codec_id;
     av_dlog(fc, "esds object type id 0x%02x\n", object_type_id);
     len = ff_mp4_read_descr(fc, pb, &tag);
     if (tag == MP4DecSpecificDescrTag) {


More information about the ffmpeg-devel mailing list