comparison flvdec.c @ 5461:bb70b4771e0c libavformat

FLV 8-bit PCM is unsigned, not signed Fixes issue #1569
author daniel
date Mon, 14 Dec 2009 03:30:25 +0000
parents 4211f91f69b1
children 60e08f8038bd
comparison
equal deleted inserted replaced
5460:8919f5110dbf 5461:bb70b4771e0c
48 static void flv_set_audio_codec(AVFormatContext *s, AVStream *astream, int flv_codecid) { 48 static void flv_set_audio_codec(AVFormatContext *s, AVStream *astream, int flv_codecid) {
49 AVCodecContext *acodec = astream->codec; 49 AVCodecContext *acodec = astream->codec;
50 switch(flv_codecid) { 50 switch(flv_codecid) {
51 //no distinction between S16 and S8 PCM codec flags 51 //no distinction between S16 and S8 PCM codec flags
52 case FLV_CODECID_PCM: 52 case FLV_CODECID_PCM:
53 acodec->codec_id = acodec->bits_per_coded_sample == 8 ? CODEC_ID_PCM_S8 : 53 acodec->codec_id = acodec->bits_per_coded_sample == 8 ? CODEC_ID_PCM_U8 :
54 #if HAVE_BIGENDIAN 54 #if HAVE_BIGENDIAN
55 CODEC_ID_PCM_S16BE; 55 CODEC_ID_PCM_S16BE;
56 #else 56 #else
57 CODEC_ID_PCM_S16LE; 57 CODEC_ID_PCM_S16LE;
58 #endif 58 #endif
59 break; 59 break;
60 case FLV_CODECID_PCM_LE: 60 case FLV_CODECID_PCM_LE:
61 acodec->codec_id = acodec->bits_per_coded_sample == 8 ? CODEC_ID_PCM_S8 : CODEC_ID_PCM_S16LE; break; 61 acodec->codec_id = acodec->bits_per_coded_sample == 8 ? CODEC_ID_PCM_U8 : CODEC_ID_PCM_S16LE; break;
62 case FLV_CODECID_AAC : acodec->codec_id = CODEC_ID_AAC; break; 62 case FLV_CODECID_AAC : acodec->codec_id = CODEC_ID_AAC; break;
63 case FLV_CODECID_ADPCM: acodec->codec_id = CODEC_ID_ADPCM_SWF; break; 63 case FLV_CODECID_ADPCM: acodec->codec_id = CODEC_ID_ADPCM_SWF; break;
64 case FLV_CODECID_SPEEX: 64 case FLV_CODECID_SPEEX:
65 acodec->codec_id = CODEC_ID_SPEEX; 65 acodec->codec_id = CODEC_ID_SPEEX;
66 acodec->sample_rate = 16000; 66 acodec->sample_rate = 16000;