comparison libmpcodecs/ad_pcm.c @ 12478:7f8eb5f6814a

support for 24 bit pcm/wav files
author reimar
date Sun, 16 May 2004 10:48:59 +0000
parents fde132f084ce
children 827d908c7705
comparison
equal deleted inserted replaced
12477:1550ef7117c4 12478:7f8eb5f6814a
2 #include <stdlib.h> 2 #include <stdlib.h>
3 #include <unistd.h> 3 #include <unistd.h>
4 4
5 #include "config.h" 5 #include "config.h"
6 #include "ad_internal.h" 6 #include "ad_internal.h"
7 #include "../libaf/af_format.h"
7 8
8 static ad_info_t info = 9 static ad_info_t info =
9 { 10 {
10 "Uncompressed PCM audio decoder", 11 "Uncompressed PCM audio decoder",
11 "pcm", 12 "pcm",
27 switch(sh_audio->format){ /* hardware formats: */ 28 switch(sh_audio->format){ /* hardware formats: */
28 case 0x1: // Microsoft PCM 29 case 0x1: // Microsoft PCM
29 switch (sh_audio->samplesize) { 30 switch (sh_audio->samplesize) {
30 case 1: sh_audio->sample_format=AFMT_U8; break; 31 case 1: sh_audio->sample_format=AFMT_U8; break;
31 case 2: sh_audio->sample_format=AFMT_S16_LE; break; 32 case 2: sh_audio->sample_format=AFMT_S16_LE; break;
33 case 3: sh_audio->sample_format=AFMT_AF_FLAGS | AF_FORMAT_I |
34 AF_FORMAT_LE | AF_FORMAT_SI;
35 break;
32 case 4: sh_audio->sample_format=AFMT_S32_LE; break; 36 case 4: sh_audio->sample_format=AFMT_S32_LE; break;
33 } 37 }
34 break; 38 break;
35 case 0x6: sh_audio->sample_format=AFMT_A_LAW;break; 39 case 0x6: sh_audio->sample_format=AFMT_A_LAW;break;
36 case 0x7: sh_audio->sample_format=AFMT_MU_LAW;break; 40 case 0x7: sh_audio->sample_format=AFMT_MU_LAW;break;