summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac2
-rw-r--r--src/combined/ffmpeg/xine_audio.list1
-rw-r--r--src/demuxers/demux_ts.c5
-rw-r--r--src/xine-engine/buffer.h1
-rw-r--r--src/xine-engine/buffer_types.c8
5 files changed, 15 insertions, 2 deletions
diff --git a/configure.ac b/configure.ac
index 98b515bd7..8367a68af 100644
--- a/configure.ac
+++ b/configure.ac
@@ -412,7 +412,7 @@ for ucname in $ffmpeg_uncommon_codecs; do
done
dnl popular ffmpeg codecs
-ffmpeg_popular_codecs="CINEPAK FLASHSV H261 H263 H263I H264 INDEO2 INDEO3 MJPEG MJPEGB MPEG1VIDEO MPEG2VIDEO MPEG4 MPEGVIDEO MSMPEG4V1 MSMPEG4V2 MSMPEG4V3 MSRLE MSVIDEO1 QTRLE RV10 RV20 SVQ1 SVQ3 VC1 VP3 VP5 VP6 VP6F WMV1 WMV2 WMV3 COOK DTS EAC3 FLAC MP2 MP3 QDM2 RA_144 RA_288 WAVPACK WMAV1 WMAV2 WMAPRO ADPCM_SWF"
+ffmpeg_popular_codecs="CINEPAK FLASHSV H261 H263 H263I H264 INDEO2 INDEO3 MJPEG MJPEGB MPEG1VIDEO MPEG2VIDEO MPEG4 MPEGVIDEO MSMPEG4V1 MSMPEG4V2 MSMPEG4V3 MSRLE MSVIDEO1 QTRLE RV10 RV20 SVQ1 SVQ3 VC1 VP3 VP5 VP6 VP6F WMV1 WMV2 WMV3 COOK DTS EAC3 AAC_LATM FLAC MP2 MP3 QDM2 RA_144 RA_288 WAVPACK WMAV1 WMAV2 WMAPRO ADPCM_SWF"
for ucname in $ffmpeg_popular_codecs; do
config_name="CONFIG_${ucname}_DECODER"
diff --git a/src/combined/ffmpeg/xine_audio.list b/src/combined/ffmpeg/xine_audio.list
index 5daa4d8b0..0ebbfbda6 100644
--- a/src/combined/ffmpeg/xine_audio.list
+++ b/src/combined/ffmpeg/xine_audio.list
@@ -42,6 +42,7 @@ WAVPACK WAVPACK WavPack
AMR_NB AMR_NB AMR narrow band
AMR_WB AMR_WB AMR wide band
EAC3 EAC3 E-AC-3
+AAC_LATM AAC_LATM AAC LATM
# disabled codecs (ref. configure.ac)
! AAC
diff --git a/src/demuxers/demux_ts.c b/src/demuxers/demux_ts.c
index cde28adfb..1f0640147 100644
--- a/src/demuxers/demux_ts.c
+++ b/src/demuxers/demux_ts.c
@@ -921,10 +921,13 @@ static int demux_ts_parse_pes_header (xine_t *xine, demux_ts_media *m,
m->type |= BUF_AUDIO_MPEG;
break;
case ISO_13818_PART7_AUDIO:
- case ISO_14496_PART3_AUDIO:
lprintf ("demux_ts: found AAC audio track.\n");
m->type |= BUF_AUDIO_AAC;
break;
+ case ISO_14496_PART3_AUDIO:
+ lprintf ("demux_ts: found AAC LATM audio track.\n");
+ m->type |= BUF_AUDIO_AAC_LATM;
+ break;
default:
lprintf ("demux_ts: unknown audio type: %d, defaulting to MPEG.\n", m->descriptor_tag);
m->type |= BUF_AUDIO_MPEG;
diff --git a/src/xine-engine/buffer.h b/src/xine-engine/buffer.h
index 9198ff103..8f5d1152e 100644
--- a/src/xine-engine/buffer.h
+++ b/src/xine-engine/buffer.h
@@ -262,6 +262,7 @@ extern "C" {
#define BUF_AUDIO_AMR_NB 0x033F0000
#define BUF_AUDIO_AMR_WB 0x03400000
#define BUF_AUDIO_EAC3 0x03410000
+#define BUF_AUDIO_AAC_LATM 0x03420000
/* spu buffer types: */
diff --git a/src/xine-engine/buffer_types.c b/src/xine-engine/buffer_types.c
index 050043c64..913b29115 100644
--- a/src/xine-engine/buffer_types.c
+++ b/src/xine-engine/buffer_types.c
@@ -1192,6 +1192,14 @@ static const audio_db_t audio_db[] = {
BUF_AUDIO_EAC3,
"E-AC-3"
},
+{
+ {
+ ME_FOURCC('M', 'P', '4', 'L'),
+ 0
+ },
+ BUF_AUDIO_AAC_LATM,
+ "AAC LATM"
+},
{ { 0 }, 0, "last entry" }
};