GNOME Bugzilla – Bug 692473
qtmux: does not store stream specific tags
Last modified: 2015-02-03 03:27:21 UTC
Created attachment 234330 [details] Small test app I have attached a simple test application. I basically tries to set 3 tags in an Quicktime file. The TAG_APPLICATION_NAME is set, but the second TAG_LANGUAGE_CODE seems to be ignored even if we have LANGUAGE_CODE defined for Quicktime, and finally the last one is TAG_ENCODER which is also ignored and the old encoder names are even carried forth, making it look like the h264 came from a theora encoder :) There are some Tag specification here for Quicktime - http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/QuickTime.html But I think all we need are already in the muxer, we just need the mapping to the GStreamer keys.
This is the first step, I'm still working on the qtdemux bits. commit e52b2cb2cf4ab1b30f3ee5c1de5b746330c47c91 Author: Thiago Santos <thiagoss@osg.samsung.com> Date: Sat Jan 31 14:32:34 2015 -0300 qtmux: store stream and container tags separately Tags received via events, when marked as stream tags, will be stored on that stream's trak atom instead of being stored in the main tags atom. This allows the resulting file to have global and stream tags stored. https://bugzilla.gnome.org/show_bug.cgi?id=692473 commit 6321cdedb3b9bb1d7f89309c6718bd2c588d727e Author: Thiago Santos <thiagoss@osg.samsung.com> Date: Sat Jan 31 13:14:44 2015 -0300 qtmux: refactor tags functions to accomodata UDTA at trak level Refactor the functions that were bound to the 'moov' atom to directly pass the desired 'udta' that should receive the tags. This allows the tags to be written to 'udta' at the 'moov' or the 'trak' level, creating tags that are for the container or for a stream only. https://bugzilla.gnome.org/show_bug.cgi?id=692473 commit f0fde8be887106f0f00b14299dfcbf340018c9ab Author: Thiago Santos <thiagoss@osg.samsung.com> Date: Sat Jan 31 10:47:40 2015 -0300 qtmux: map application name to _swr tag It refers to the application name and version used to create the file https://bugzilla.gnome.org/show_bug.cgi?id=692473
Had to fix a couple of things on your test application but got it all working. Please reopen if you still have problems with stream tags in qtmux. commit 75dee31b0d8d04cb5f5565d5ee111974b6de44de Author: Thiago Santos <thiagoss@osg.samsung.com> Date: Mon Feb 2 13:35:59 2015 -0300 qtdemux: parse stream tags Keep global and stream tags separately and parse the udta node that can be found under the trak atom. The udta will contain stream specific tags and will be pushed as such https://bugzilla.gnome.org/show_bug.cgi?id=692473