After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 692473 - qtmux: does not store stream specific tags
qtmux: does not store stream specific tags
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
1.x
Other All
: Normal enhancement
: 1.5.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2013-01-24 20:30 UTC by Christian Fredrik Kalager Schaller
Modified: 2015-02-03 03:27 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Small test app (6.02 KB, text/x-python)
2013-01-24 20:30 UTC, Christian Fredrik Kalager Schaller
Details

Description Christian Fredrik Kalager Schaller 2013-01-24 20:30:46 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.
Comment 1 Thiago Sousa Santos 2015-01-31 21:04:28 UTC
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
Comment 2 Thiago Sousa Santos 2015-02-03 03:24:41 UTC
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