summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorivo <ivo@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-02-26 23:02:09 +0000
committerivo <ivo@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-02-26 23:02:09 +0000
commit15bb88b70667eab1730609e02b26079059b62b40 (patch)
treed2d552c29dd5d18467f24982e7c3a77416c23f5f
parent177a1f03f5928e9d934c1db4ca612f983b4afa0f (diff)
downloadmpv-15bb88b70667eab1730609e02b26079059b62b40.tar.bz2
mpv-15bb88b70667eab1730609e02b26079059b62b40.tar.xz
Add support for 32-bit float WAV files and support for extended WAV files
with 4, 6, 8, ... channels of audio. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14834 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r--etc/codecs.conf2
-rw-r--r--libmpcodecs/ad_pcm.c4
2 files changed, 6 insertions, 0 deletions
diff --git a/etc/codecs.conf b/etc/codecs.conf
index 91deecec33..ae0639d140 100644
--- a/etc/codecs.conf
+++ b/etc/codecs.conf
@@ -2171,6 +2171,8 @@ audiocodec pcm
status working
format 0x0
format 0x1
+ format 0x3 ; IEEE float
+ format 0xfffe ; Extended
format 0x20776172 ; "raw " (MOV files)
format 0x736f7774 ; "twos" (MOV files)
format 0x74776f73 ; "sowt" (MOV files)
diff --git a/libmpcodecs/ad_pcm.c b/libmpcodecs/ad_pcm.c
index a2bcd17827..bd76e704c5 100644
--- a/libmpcodecs/ad_pcm.c
+++ b/libmpcodecs/ad_pcm.c
@@ -28,6 +28,7 @@ static int init(sh_audio_t *sh_audio)
switch(sh_audio->format){ /* hardware formats: */
case 0x0:
case 0x1: // Microsoft PCM
+ case 0xfffe: // Extended
switch (sh_audio->samplesize) {
case 1: sh_audio->sample_format=AF_FORMAT_U8; break;
case 2: sh_audio->sample_format=AF_FORMAT_S16_LE; break;
@@ -35,6 +36,9 @@ static int init(sh_audio_t *sh_audio)
case 4: sh_audio->sample_format=AF_FORMAT_S32_LE; break;
}
break;
+ case 0x3: // IEEE float
+ sh_audio->sample_format=AF_FORMAT_FLOAT_LE;
+ break;
case 0x6: sh_audio->sample_format=AF_FORMAT_A_LAW;break;
case 0x7: sh_audio->sample_format=AF_FORMAT_MU_LAW;break;
case 0x11: sh_audio->sample_format=AF_FORMAT_IMA_ADPCM;break;