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");