[FFmpeg-devel] Weird monkey audio codec tag
Sun Sep 16 02:47:40 CEST 2007
On Sun, Sep 16, 2007 at 12:53:42AM +0200, Reimar D?ffinger wrote:
> On Sat, Sep 15, 2007 at 11:36:13PM +0200, Benjamin Zores wrote:
> > It appears Monkey Audio demuxer sets codec_tag to 'APE ' while official
> > fourcc (which is looked for in probe()) is 'MAC '.
> > > st->codec->codec_type = CODEC_TYPE_AUDIO;
> > > st->codec->codec_id = CODEC_ID_APE;
> > > st->codec->codec_tag = MKTAG('A', 'P', 'E', ' ');
> > Kostya, any reason you did this ?
> .ape is the usual file extension for those files and MAC has about 100
> other meanings in addition.
> Of course all this is hard to say since still nobody has found out what
> codec_tag actually is supposed to be there for...
well its more that everyone does with codec_tag whatever he likes and what
most effectively works around a bug he doesnt want to fix ...
codec_tag is supposed to be set to the tag which identifies the used codec
in the specific stream in a container
that would be the fourcc in avi, the fourcc in mov, that object id thingy
in mp4, ...
for formats which use strings to identify codecs, codec_tag is supposed
to be a index into the table of strings shared by the muxer and demuxer
of that format
and each (de)muxer exports a AVCodecTag list containing mappings of
codec_ids to and from codec_tags
that allows an application to pass a codec_tag unchanged from demuxer to
muxer if both support it and remap it to a correct codec_tag for the
used codec if not
so much for the theory, not all (de)muxers conform to this, mp4 for example
is completely broken also other formats like matroska lack a AVCodecTag
so what about demuxers which have no codec tag as they support just one
codec? well in that case it really shouldnt matter what codec_tag is set
to (and any application depending on a specific value is VERY broken,
just think of the foobar container which uses the tag foMA for monkeys
audio, it has a different tag and wont work with that app ...)
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Freedom in capitalist society always remains about the same as it was in
ancient Greek republics: Freedom for slave owners. -- Vladimir Lenin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 189 bytes
Desc: Digital signature
More information about the ffmpeg-devel