summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJinghua Luo <sunmoon1997@gmail.com>2008-04-07 17:54:41 +0100
committerJinghua Luo <sunmoon1997@gmail.com>2008-04-07 17:54:41 +0100
commit7e0dcead623c909ce6dd07995b08b829a9dcfdd5 (patch)
treea05d4c6c6739d64068ee59f5f60bc097f4c00458
parent3cd18fa8a66318366936c50d54e65a8703a66ebd (diff)
downloadxine-lib-7e0dcead623c909ce6dd07995b08b829a9dcfdd5.tar.gz
xine-lib-7e0dcead623c909ce6dd07995b08b829a9dcfdd5.tar.bz2
Implement support for "MPEG-3 adu".
-rw-r--r--src/combined/ffmpeg/ff_audio_decoder.c1
-rw-r--r--src/demuxers/demux_real.c7
-rw-r--r--src/xine-engine/buffer.h1
-rw-r--r--src/xine-engine/buffer_types.c8
4 files changed, 17 insertions, 0 deletions
diff --git a/src/combined/ffmpeg/ff_audio_decoder.c b/src/combined/ffmpeg/ff_audio_decoder.c
index 3362f7012..d95ae4e0c 100644
--- a/src/combined/ffmpeg/ff_audio_decoder.c
+++ b/src/combined/ffmpeg/ff_audio_decoder.c
@@ -79,6 +79,7 @@ static const ff_codec_t ff_audio_lookup[] = {
{BUF_AUDIO_14_4, CODEC_ID_RA_144, "Real 14.4 (ffmpeg)"},
{BUF_AUDIO_28_8, CODEC_ID_RA_288, "Real 28.8 (ffmpeg)"},
{BUF_AUDIO_MPEG, CODEC_ID_MP3, "MP3 (ffmpeg)"},
+ {BUF_AUDIO_MP3ADU, CODEC_ID_MP3ADU, "MPEG-3 adu (ffmpeg)"},
{BUF_AUDIO_MSADPCM, CODEC_ID_ADPCM_MS, "MS ADPCM (ffmpeg)"},
{BUF_AUDIO_QTIMAADPCM, CODEC_ID_ADPCM_IMA_QT, "QT IMA ADPCM (ffmpeg)"},
{BUF_AUDIO_MSIMAADPCM, CODEC_ID_ADPCM_IMA_WAV, "MS IMA ADPCM (ffmpeg)"},
diff --git a/src/demuxers/demux_real.c b/src/demuxers/demux_real.c
index cb67c36fa..fa4e87e07 100644
--- a/src/demuxers/demux_real.c
+++ b/src/demuxers/demux_real.c
@@ -824,6 +824,13 @@ unknown:
memcpy(buf->content, mdpr->type_specific_data + 79,
buf->decoder_info[2]);
+ } else if(buf->type == BUF_AUDIO_MP3ADU) {
+ buf->decoder_flags |= BUF_FLAG_STDHEADER | BUF_FLAG_FRAME_END;
+ buf->size = 0;
+ buf->decoder_info[0] = 0;
+ buf->decoder_info[1] = 0;
+ buf->decoder_info[2] = 0;
+ buf->decoder_info[3] = 0;
} else {
memcpy(buf->content, mdpr->type_specific_data,
mdpr->type_specific_len);
diff --git a/src/xine-engine/buffer.h b/src/xine-engine/buffer.h
index 2bcc29510..ebb308a04 100644
--- a/src/xine-engine/buffer.h
+++ b/src/xine-engine/buffer.h
@@ -258,6 +258,7 @@ extern "C" {
#define BUF_AUDIO_SMACKER 0x033B0000
#define BUF_AUDIO_FLVADPCM 0x033C0000
#define BUF_AUDIO_WAVPACK 0x033D0000
+#define BUF_AUDIO_MP3ADU 0x033E0000
/* spu buffer types: */
diff --git a/src/xine-engine/buffer_types.c b/src/xine-engine/buffer_types.c
index 7242738e1..26adc1b3c 100644
--- a/src/xine-engine/buffer_types.c
+++ b/src/xine-engine/buffer_types.c
@@ -806,6 +806,14 @@ static const audio_db_t audio_db[] = {
},
{
{
+ ME_FOURCC('a', 'd', 'u', 0x55),
+ 0
+ },
+ BUF_AUDIO_MP3ADU,
+ "MPEG layer-3 adu"
+},
+{
+ {
ME_FOURCC('t','w','o','s'),
ME_FOURCC('i','n','2','4'),
0