changeset 19537:45e1650f9ad5

don't try to autodetect aac in pes packets (the detection is prone to give wrong results); use the stream_type from the PMT instead
author nicodvb
date Sat, 26 Aug 2006 17:31:42 +0000
parents 7dee65ac137e
children ed0ae2df0fe8
files libmpdemux/demux_ts.c
diffstat 1 files changed, 2 insertions(+), 17 deletions(-) [+]
line wrap: on
line diff
--- a/libmpdemux/demux_ts.c	Sat Aug 26 17:10:26 2006 +0000
+++ b/libmpdemux/demux_ts.c	Sat Aug 26 17:31:42 2006 +0000
@@ -1425,26 +1425,11 @@
 	}
 	else if ((stream_id & 0xe0) == 0xc0)
 	{
-		int profile = 0, srate = 0, channels = 0;
-		uint32_t hdr, l = 0;
-
-		hdr = (p[0] << 24) | (p[1] << 16) | (p[2] << 8) | p[3];
-		if(pes_is_aligned && ((hdr & 0xfff00000) == 0xfff00000))
-		{
-			// ADTS AAC shows with MPA layer 4 (00 in the layer bitstream)
-			l = 4 - ((hdr & 0x00060000) >> 17);
-			profile = ((hdr & 0x0000C000) >> 14);
-			srate = ((hdr & 0x00003c00) >> 10);
-			channels = ((hdr & 0x000001E0) >> 5);
-		}
-		mp_msg(MSGT_DEMUX, MSGL_DBG2, "\n\naudio header: %2X %2X %2X %2X\nLAYER: %d, PROFILE: %d, SRATE=%d, CHANNELS=%d\n\n", p[0], p[1], p[3], p[4], l, profile, srate, channels);
-
 		es->start   = p;
 		es->size    = packet_len;
 
-
-		if((type_from_pmt == AUDIO_AAC) || (l == 4)) //see in parse_pmt()
-			es->type    = AUDIO_AAC;
+		if(type_from_pmt != UNKNOWN)
+			es->type = type_from_pmt;
 		else
 			es->type    = AUDIO_MP2;