diff options
-rw-r--r-- | etc/codecs.conf | 2 | ||||
-rw-r--r-- | libmpcodecs/ad_pcm.c | 4 |
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; |