diff options
author | Jinghua Luo <sunmoon1997@gmail.com> | 2008-04-07 17:54:41 +0100 |
---|---|---|
committer | Jinghua Luo <sunmoon1997@gmail.com> | 2008-04-07 17:54:41 +0100 |
commit | 7e0dcead623c909ce6dd07995b08b829a9dcfdd5 (patch) | |
tree | a05d4c6c6739d64068ee59f5f60bc097f4c00458 | |
parent | 3cd18fa8a66318366936c50d54e65a8703a66ebd (diff) | |
download | xine-lib-7e0dcead623c909ce6dd07995b08b829a9dcfdd5.tar.gz xine-lib-7e0dcead623c909ce6dd07995b08b829a9dcfdd5.tar.bz2 |
Implement support for "MPEG-3 adu".
-rw-r--r-- | src/combined/ffmpeg/ff_audio_decoder.c | 1 | ||||
-rw-r--r-- | src/demuxers/demux_real.c | 7 | ||||
-rw-r--r-- | src/xine-engine/buffer.h | 1 | ||||
-rw-r--r-- | src/xine-engine/buffer_types.c | 8 |
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 |