On Friday 11 December 2015 02:29:53 am Michael Niedermayer wrote: > On Thu, Dec 10, 2015 at 11:50:45PM +0100, Carl Eugen Hoyos wrote: > > Hi! > > > > Attached patch is definitely a good idea imo, the mov demuxer also > > sets codec_tag reading the same atom, for "A_MS/ACM" codec_tag is > > already set. > > > > Please comment, Carl Eugen > > > > matroskadec.c | 1 + > > 1 file changed, 1 insertion(+) > > 2304ec17547647dad8121a55cac95f099a8e6ef1 patchmkvaudiofourcc.diff > > diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c > > index aad567a..95cebdd 100644 > > --- a/libavformat/matroskadec.c > > +++ b/libavformat/matroskadec.c > > @@ -2124,6 +2124,7 @@ static int matroska_parse_tracks(AVFormatContext > > *s) } > > } else if (track->type == MATROSKA_TRACK_TYPE_AUDIO) { > > st->codec->codec_type = AVMEDIA_TYPE_AUDIO; > > + st->codec->codec_tag = fourcc; > > st->codec->sample_rate = track->audio.out_samplerate; > > st->codec->channels = track->audio.channels; > > if (!st->codec->bits_per_coded_sample) > > this changes things like: > Stream #0:7(jpn): Audio: adpcm_ima_wav ([17][0][0][0] / 0x0011), 11025 Hz, > 2 channels, s16p, 88 kb/s to > Stream #0:7(jpn): Audio: adpcm_ima_wav, 11025 Hz, 2 channels, s16p, 88 > kb/s > > in [CCCP]_Mega_Weird_Audio_Test.mkv > > is that intended ?
No, new patch attached. Thank you, Carl Eugen
diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c index aad567a..b77e7e8 100644 --- a/libavformat/matroskadec.c +++ b/libavformat/matroskadec.c @@ -1853,6 +1853,7 @@ static int matroska_parse_tracks(AVFormatContext *s) if (ret < 0) return ret; codec_id = st->codec->codec_id; + fourcc = st->codec->codec_tag; extradata_offset = FFMIN(track->codec_priv.size, 18); } else if (!strcmp(track->codec_id, "A_QUICKTIME") && (track->codec_priv.size >= 86) @@ -2124,6 +2125,7 @@ static int matroska_parse_tracks(AVFormatContext *s) } } else if (track->type == MATROSKA_TRACK_TYPE_AUDIO) { st->codec->codec_type = AVMEDIA_TYPE_AUDIO; + st->codec->codec_tag = fourcc; st->codec->sample_rate = track->audio.out_samplerate; st->codec->channels = track->audio.channels; if (!st->codec->bits_per_coded_sample)
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel