From 7e0dcead623c909ce6dd07995b08b829a9dcfdd5 Mon Sep 17 00:00:00 2001 From: Jinghua Luo Date: Mon, 7 Apr 2008 17:54:41 +0100 Subject: Implement support for "MPEG-3 adu". --- src/combined/ffmpeg/ff_audio_decoder.c | 1 + src/demuxers/demux_real.c | 7 +++++++ src/xine-engine/buffer.h | 1 + src/xine-engine/buffer_types.c | 8 ++++++++ 4 files changed, 17 insertions(+) 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 @@ -804,6 +804,14 @@ static const audio_db_t audio_db[] = { BUF_AUDIO_MPEG, "MPEG layer 2/3" }, +{ + { + ME_FOURCC('a', 'd', 'u', 0x55), + 0 + }, + BUF_AUDIO_MP3ADU, + "MPEG layer-3 adu" +}, { { ME_FOURCC('t','w','o','s'), -- cgit v1.2.3