Mercurial > libavformat.hg
comparison flvenc.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 | 19a53e99da63 |
children | a427102c12cd |
comparison
equal
deleted
inserted
replaced
5460:8919f5110dbf | 5461:bb70b4771e0c |
---|---|
36 {CODEC_ID_NONE, 0} | 36 {CODEC_ID_NONE, 0} |
37 }; | 37 }; |
38 | 38 |
39 static const AVCodecTag flv_audio_codec_ids[] = { | 39 static const AVCodecTag flv_audio_codec_ids[] = { |
40 {CODEC_ID_MP3, FLV_CODECID_MP3 >> FLV_AUDIO_CODECID_OFFSET}, | 40 {CODEC_ID_MP3, FLV_CODECID_MP3 >> FLV_AUDIO_CODECID_OFFSET}, |
41 {CODEC_ID_PCM_S8, FLV_CODECID_PCM >> FLV_AUDIO_CODECID_OFFSET}, | 41 {CODEC_ID_PCM_U8, FLV_CODECID_PCM >> FLV_AUDIO_CODECID_OFFSET}, |
42 {CODEC_ID_PCM_S16BE, FLV_CODECID_PCM >> FLV_AUDIO_CODECID_OFFSET}, | 42 {CODEC_ID_PCM_S16BE, FLV_CODECID_PCM >> FLV_AUDIO_CODECID_OFFSET}, |
43 {CODEC_ID_PCM_S16LE, FLV_CODECID_PCM_LE >> FLV_AUDIO_CODECID_OFFSET}, | 43 {CODEC_ID_PCM_S16LE, FLV_CODECID_PCM_LE >> FLV_AUDIO_CODECID_OFFSET}, |
44 {CODEC_ID_ADPCM_SWF, FLV_CODECID_ADPCM >> FLV_AUDIO_CODECID_OFFSET}, | 44 {CODEC_ID_ADPCM_SWF, FLV_CODECID_ADPCM >> FLV_AUDIO_CODECID_OFFSET}, |
45 {CODEC_ID_AAC, FLV_CODECID_AAC >> FLV_AUDIO_CODECID_OFFSET}, | 45 {CODEC_ID_AAC, FLV_CODECID_AAC >> FLV_AUDIO_CODECID_OFFSET}, |
46 {CODEC_ID_NELLYMOSER, FLV_CODECID_NELLYMOSER >> FLV_AUDIO_CODECID_OFFSET}, | 46 {CODEC_ID_NELLYMOSER, FLV_CODECID_NELLYMOSER >> FLV_AUDIO_CODECID_OFFSET}, |
105 | 105 |
106 switch(enc->codec_id){ | 106 switch(enc->codec_id){ |
107 case CODEC_ID_MP3: | 107 case CODEC_ID_MP3: |
108 flags |= FLV_CODECID_MP3 | FLV_SAMPLESSIZE_16BIT; | 108 flags |= FLV_CODECID_MP3 | FLV_SAMPLESSIZE_16BIT; |
109 break; | 109 break; |
110 case CODEC_ID_PCM_S8: | 110 case CODEC_ID_PCM_U8: |
111 flags |= FLV_CODECID_PCM | FLV_SAMPLESSIZE_8BIT; | 111 flags |= FLV_CODECID_PCM | FLV_SAMPLESSIZE_8BIT; |
112 break; | 112 break; |
113 case CODEC_ID_PCM_S16BE: | 113 case CODEC_ID_PCM_S16BE: |
114 flags |= FLV_CODECID_PCM | FLV_SAMPLESSIZE_16BIT; | 114 flags |= FLV_CODECID_PCM | FLV_SAMPLESSIZE_16BIT; |
115 break; | 115 break; |
246 | 246 |
247 put_amf_string(pb, "audiosamplerate"); | 247 put_amf_string(pb, "audiosamplerate"); |
248 put_amf_double(pb, audio_enc->sample_rate); | 248 put_amf_double(pb, audio_enc->sample_rate); |
249 | 249 |
250 put_amf_string(pb, "audiosamplesize"); | 250 put_amf_string(pb, "audiosamplesize"); |
251 put_amf_double(pb, audio_enc->codec_id == CODEC_ID_PCM_S8 ? 8 : 16); | 251 put_amf_double(pb, audio_enc->codec_id == CODEC_ID_PCM_U8 ? 8 : 16); |
252 | 252 |
253 put_amf_string(pb, "stereo"); | 253 put_amf_string(pb, "stereo"); |
254 put_amf_bool(pb, audio_enc->channels == 2); | 254 put_amf_bool(pb, audio_enc->channels == 2); |
255 | 255 |
256 put_amf_string(pb, "audiocodecid"); | 256 put_amf_string(pb, "audiocodecid"); |