summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDarren Salt <linux@youmustbejoking.demon.co.uk>2008-07-15 12:28:58 +0100
committerDarren Salt <linux@youmustbejoking.demon.co.uk>2008-07-15 12:28:58 +0100
commit0eabb0332dd91fdcd5bccfbdd02862ae7d34f681 (patch)
tree97e803f157e50346367b48b87c45507c583f709a
parentfb07620556cad09ebfd1454ea644300c5630276e (diff)
downloadxine-lib-0eabb0332dd91fdcd5bccfbdd02862ae7d34f681.tar.gz
xine-lib-0eabb0332dd91fdcd5bccfbdd02862ae7d34f681.tar.bz2
Recognise AMR audio (normally found in 3GP files).
-rw-r--r--ChangeLog1
-rw-r--r--src/combined/ffmpeg/ff_audio_decoder.c9
-rw-r--r--src/xine-engine/buffer.h2
-rw-r--r--src/xine-engine/buffer_types.c14
4 files changed, 25 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index f9cfafbb7..a5aee5a4c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,7 @@
xine-lib (1.1.15) 2008-??-??
* Use external ffmpeg by default.
* V4L: Don't segfault if asked for an input that doesn't exist
+ * Recognise AMR audio (normally found in 3GP files).
xine-lib (1.1.14) 2008-06-29
* DVB changes:
diff --git a/src/combined/ffmpeg/ff_audio_decoder.c b/src/combined/ffmpeg/ff_audio_decoder.c
index 4d8e440bb..b3b54ab0a 100644
--- a/src/combined/ffmpeg/ff_audio_decoder.c
+++ b/src/combined/ffmpeg/ff_audio_decoder.c
@@ -108,6 +108,8 @@ static const ff_codec_t ff_audio_lookup[] = {
{BUF_AUDIO_SMACKER, CODEC_ID_SMACKAUDIO, "Smacker (ffmpeg)"},
{BUF_AUDIO_FLVADPCM, CODEC_ID_ADPCM_SWF, "Flash ADPCM (ffmpeg)"},
{BUF_AUDIO_WAVPACK, CODEC_ID_WAVPACK, "WavPack (ffmpeg)"},
+ {BUF_AUDIO_AMR_NB, CODEC_ID_AMR_NB, "AMR narrow band (ffmpeg)"},
+ {BUF_AUDIO_AMR_WB, CODEC_ID_AMR_WB, "AMR wide band (ffmpeg)"},
};
@@ -598,7 +600,12 @@ static uint32_t supported_audio_types[] = {
#ifdef CONFIG_WAVPACK_DECODER
BUF_AUDIO_WAVPACK,
#endif
-
+ #ifdef CONFIG_AMR_NB_DECODER
+ BUF_AUDIO_AMR_NB,
+ #endif
+ #ifdef CONFIG_AMR_WB_DECODER
+ BUF_AUDIO_AMR_WB,
+ #endif
0
};
diff --git a/src/xine-engine/buffer.h b/src/xine-engine/buffer.h
index 34e6f7c1d..97df4d2ae 100644
--- a/src/xine-engine/buffer.h
+++ b/src/xine-engine/buffer.h
@@ -260,6 +260,8 @@ extern "C" {
#define BUF_AUDIO_FLVADPCM 0x033C0000
#define BUF_AUDIO_WAVPACK 0x033D0000
#define BUF_AUDIO_MP3ADU 0x033E0000
+#define BUF_AUDIO_AMR_NB 0x033F0000
+#define BUF_AUDIO_AMR_WB 0x03400000
/* spu buffer types: */
diff --git a/src/xine-engine/buffer_types.c b/src/xine-engine/buffer_types.c
index 26adc1b3c..688ed1609 100644
--- a/src/xine-engine/buffer_types.c
+++ b/src/xine-engine/buffer_types.c
@@ -1145,6 +1145,20 @@ static const audio_db_t audio_db[] = {
BUF_AUDIO_WAVPACK,
"Wavpack"
},
+{
+ {
+ ME_FOURCC('s', 'a', 'm', 'r'),
+ },
+ BUF_AUDIO_AMR_NB,
+ "AMR narrow band"
+},
+{
+ {
+ ME_FOURCC('s', 'a', 'w', 'b'),
+ },
+ BUF_AUDIO_AMR_WB,
+ "AMR wide band"
+},
{ { 0 }, 0, "last entry" }
};