mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-01-30 11:24:17 +00:00
Write bit depth for PCM audio
Originally committed as revision 10322 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
1a302a5c2a
commit
44008871ef
@ -366,6 +366,7 @@ static int mkv_write_tracks(AVFormatContext *s)
|
||||
AVCodecContext *codec = st->codec;
|
||||
offset_t subinfo, track;
|
||||
int native_id = 0;
|
||||
int bit_depth = 0;
|
||||
|
||||
track = start_ebml_master(pb, MATROSKA_ID_TRACKENTRY);
|
||||
put_ebml_uint (pb, MATROSKA_ID_TRACKNUMBER , i + 1);
|
||||
@ -384,6 +385,19 @@ static int mkv_write_tracks(AVFormatContext *s)
|
||||
}
|
||||
}
|
||||
|
||||
switch (codec->codec_id) {
|
||||
case CODEC_ID_PCM_S16LE:
|
||||
case CODEC_ID_PCM_S16BE:
|
||||
case CODEC_ID_PCM_U16LE:
|
||||
case CODEC_ID_PCM_U16BE:
|
||||
bit_depth = 16;
|
||||
break;
|
||||
case CODEC_ID_PCM_S8:
|
||||
case CODEC_ID_PCM_U8:
|
||||
bit_depth = 8;
|
||||
break;
|
||||
}
|
||||
|
||||
// XXX: CodecPrivate for vorbis, theora, aac, native mpeg4, ...
|
||||
if (native_id) {
|
||||
if (codec->codec_id == CODEC_ID_VORBIS || codec->codec_id == CODEC_ID_THEORA) {
|
||||
@ -438,7 +452,9 @@ static int mkv_write_tracks(AVFormatContext *s)
|
||||
subinfo = start_ebml_master(pb, MATROSKA_ID_TRACKAUDIO);
|
||||
put_ebml_uint (pb, MATROSKA_ID_AUDIOCHANNELS , codec->channels);
|
||||
put_ebml_float (pb, MATROSKA_ID_AUDIOSAMPLINGFREQ, codec->sample_rate);
|
||||
// XXX: output sample freq (for sbr) and bitdepth (for pcm)
|
||||
// XXX: output sample freq (for sbr)
|
||||
if (bit_depth)
|
||||
put_ebml_uint(pb, MATROSKA_ID_AUDIOBITDEPTH, bit_depth);
|
||||
end_ebml_master(pb, subinfo);
|
||||
break;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user