put_le16(pb, enc->codec_tag);
put_le16(pb, enc->channels);
put_le32(pb, enc->sample_rate);
- if (enc->codec_id == CODEC_ID_PCM_U8 ||
- enc->codec_id == CODEC_ID_PCM_ALAW ||
- enc->codec_id == CODEC_ID_PCM_MULAW ||
- enc->codec_id == CODEC_ID_PCM_ZORK) {
- bps = 8;
- } else if (enc->codec_id == CODEC_ID_MP2 || enc->codec_id == CODEC_ID_MP3 || enc->codec_id == CODEC_ID_GSM_MS) {
+ if (enc->codec_id == CODEC_ID_MP2 || enc->codec_id == CODEC_ID_MP3 || enc->codec_id == CODEC_ID_GSM_MS) {
bps = 0;
} else if (enc->codec_id == CODEC_ID_ADPCM_IMA_WAV || enc->codec_id == CODEC_ID_ADPCM_MS || enc->codec_id == CODEC_ID_ADPCM_G726 || enc->codec_id == CODEC_ID_ADPCM_YAMAHA) { //
bps = 4;
- } else if (enc->codec_id == CODEC_ID_PCM_S24LE) {
- bps = 24;
- } else if (enc->codec_id == CODEC_ID_PCM_S32LE || enc->codec_id == CODEC_ID_PCM_F32LE) {
- bps = 32;
- } else if (enc->codec_id == CODEC_ID_PCM_F64LE) {
- bps = 64;
} else {
- bps = 16;
+ bps = av_get_bits_per_sample(enc->codec_id);
}
if(bps != enc->bits_per_sample && enc->bits_per_sample){
av_log(enc, AV_LOG_WARNING, "requested bits_per_sample (%d) and actually stored (%d) differ\n", enc->bits_per_sample, bps);