# HG changeset patch # User reimar # Date 1277138490 0 # Node ID 171320c96f2ce2080af4e42a668d4f81f2ab26a8 # Parent 91b713df588fd3348da426ee4e98a338c0c59f90 Make demux_ts detect LATM AAC as a separate type. diff -r 91b713df588f -r 171320c96f2c etc/codecs.conf --- a/etc/codecs.conf Mon Jun 21 14:46:09 2010 +0000 +++ b/etc/codecs.conf Mon Jun 21 16:41:30 2010 +0000 @@ -4016,7 +4016,7 @@ audiocodec faad info "FAAD AAC (MPEG-2/MPEG-4 Audio)" status working - fourcc mp4a,MP4A + fourcc mp4a,MP4A,MP4L fourcc "VLB " ; Used in NSV, not really working fourcc "AAC " ; Used in NSV fourcc "AACP" ; Used in NSV for AACPlus diff -r 91b713df588f -r 171320c96f2c libmpdemux/demux_ts.c --- a/libmpdemux/demux_ts.c Mon Jun 21 14:46:09 2010 +0000 +++ b/libmpdemux/demux_ts.c Mon Jun 21 16:41:30 2010 +0000 @@ -85,6 +85,7 @@ SL_PES_STREAM = 0xD000000, SL_SECTION = 0xD100000, MP4_OD = 0xD200000, + AUDIO_AAC_LATM = mmioFOURCC('M', 'P', '4', 'L'), } es_stream_type_t; typedef struct { @@ -246,7 +247,7 @@ } TS_pids_t; -#define IS_AUDIO(x) (((x) == AUDIO_MP2) || ((x) == AUDIO_A52) || ((x) == AUDIO_LPCM_BE) || ((x) == AUDIO_AAC) || ((x) == AUDIO_DTS) || ((x) == AUDIO_TRUEHD)) +#define IS_AUDIO(x) (((x) == AUDIO_MP2) || ((x) == AUDIO_A52) || ((x) == AUDIO_LPCM_BE) || ((x) == AUDIO_AAC) || ((x) == AUDIO_DTS) || ((x) == AUDIO_TRUEHD) || ((x) == AUDIO_AAC_LATM)) #define IS_VIDEO(x) (((x) == VIDEO_MPEG1) || ((x) == VIDEO_MPEG2) || ((x) == VIDEO_MPEG4) || ((x) == VIDEO_H264) || ((x) == VIDEO_AVC) || ((x) == VIDEO_DIRAC) || ((x) == VIDEO_VC1)) #define IS_SUB(x) (((x) == SPU_DVD) || ((x) == SPU_DVB) || ((x) == SPU_TELETEXT)) @@ -875,6 +876,8 @@ mp_msg(MSGT_DEMUXER, MSGL_INFO, "AUDIO LPCM(pid=%d)", param->apid); else if(param->atype == AUDIO_AAC) mp_msg(MSGT_DEMUXER, MSGL_INFO, "AUDIO AAC(pid=%d)", param->apid); + else if(param->atype == AUDIO_AAC_LATM) + mp_msg(MSGT_DEMUXER, MSGL_INFO, "AUDIO AAC LATM(pid=%d)", param->apid); else if(param->atype == AUDIO_TRUEHD) mp_msg(MSGT_DEMUXER, MSGL_INFO, "AUDIO TRUEHD(pid=%d)", param->apid); else @@ -2508,8 +2511,10 @@ pmt->es[idx].type = VIDEO_MPEG4; break; case 0x0f: + pmt->es[idx].type = AUDIO_AAC; + break; case 0x11: - pmt->es[idx].type = AUDIO_AAC; + pmt->es[idx].type = AUDIO_AAC_LATM; break; case 0x1b: pmt->es[idx].type = VIDEO_H264;