ac3: make the value of codec_id during (E-)AC-3 parsing stay CODEC_ID_EAC3
authorJustin Ruggles <justin.ruggles@gmail.com>
Wed, 7 Jul 2010 23:52:24 +0000 (23:52 +0000)
committerJustin Ruggles <justin.ruggles@gmail.com>
Wed, 7 Jul 2010 23:52:24 +0000 (23:52 +0000)
if any E-AC-3 frames have been detected instead of switching back and forth for
AC-3 core + dependent E-AC-3 substream(s).
Fixes Issue 2022.

Originally committed as revision 24103 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/ac3_parser.c

index 856f97a..6cd666b 100644 (file)
@@ -181,7 +181,7 @@ static int ac3_sync(uint64_t state, AACAC3ParseContext *hdr_info,
     hdr_info->samples = hdr.num_blocks * 256;
     if(hdr.bitstream_id>10)
         hdr_info->codec_id = CODEC_ID_EAC3;
-    else
+    else if (hdr_info->codec_id == CODEC_ID_NONE)
         hdr_info->codec_id = CODEC_ID_AC3;
 
     *need_next_header = (hdr.frame_type != EAC3_FRAME_TYPE_AC3_CONVERT);