matroskaenc: set the actual PCM bitdepth in the header

The actual bitdepth can be different to the storage format (ie. sample format).
Fixes the stored bitdepth for 24-bit formats like FLAC.
This commit is contained in:
Hendrik Leppkes 2016-03-16 12:39:19 +01:00
parent 109dfed7fc
commit c43d485811
1 changed files with 6 additions and 2 deletions

View File

@ -850,8 +850,12 @@ static int mkv_write_track(AVFormatContext *s, MatroskaMuxContext *mkv,
return 0;
}
if (!bit_depth && codec->codec_id != AV_CODEC_ID_ADPCM_G726)
bit_depth = av_get_bytes_per_sample(codec->sample_fmt) << 3;
if (!bit_depth && codec->codec_id != AV_CODEC_ID_ADPCM_G726) {
if (codec->bits_per_raw_sample)
bit_depth = codec->bits_per_raw_sample;
else
bit_depth = av_get_bytes_per_sample(codec->sample_fmt) << 3;
}
if (!bit_depth)
bit_depth = codec->bits_per_coded_sample;