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 629839 - [qtdemux] Update xmp tags parsing
[qtdemux] Update xmp tags parsing
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
git master
Other All
: Normal enhancement
: 0.10.26
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2010-09-16 11:22 UTC by Thiago Sousa Santos
Modified: 2010-09-21 02:52 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
qtdemux: Parse xmp packet in uuid atom (5.21 KB, patch)
2010-09-16 11:27 UTC, Thiago Sousa Santos
committed Details | Review
qtdemux: Delay tags posting a little (3.31 KB, patch)
2010-09-16 11:27 UTC, Thiago Sousa Santos
committed Details | Review

Description Thiago Sousa Santos 2010-09-16 11:22:16 UTC
New adobe xmp specs have different placements for qt/mp4 variants. We are only handling the qt one.

These 2 patches make it work for the mp4 one, too.

The first patch is for pull mode and makes qtdemux parse all top-level atoms before start pushing the streams' data. This is because for mp4 the xmp is placed on a top-level uuid atom.

The second one delays the tags posting to immediately before starting to push the streams' data. This is needed for merging xmp and native tags before posting them.

Not sure how we can handle nicely this for push mode, maybe use best-effort and only parse it if we find it before we get a moov+mdat.
Comment 1 Thiago Sousa Santos 2010-09-16 11:27:02 UTC
Created attachment 170408 [details] [review]
qtdemux: Parse xmp packet in uuid atom

xmp packet is placed into a top-level uuid atom for
isom/mp4 variants.

This patch makes qtdemux parse all top-level atoms
in pull-mode before starting to push data, making
it able to find those tags.
Comment 2 Thiago Sousa Santos 2010-09-16 11:27:20 UTC
Created attachment 170409 [details] [review]
qtdemux: Delay tags posting a little

Delay tags posting until we've parsed all the headers so
that the native and xmp tags get merged before posting
Comment 3 Thiago Sousa Santos 2010-09-21 02:51:56 UTC
commit 52f5e95aee4aed3d077736860ebc65a0b1b04754
Author: Thiago Santos <thiago.sousa.santos@collabora.co.uk>
Date:   Mon Sep 20 23:17:35 2010 -0300

    qtdemux: Parse uuid atoms in push mode
    
    Parses uuid atoms in push mode when they are found, they might
    contain xmp tags.
    
    Also does a minor refactoring to put the global tags posting
    into a single function instead of repeating it in 3 different
    places.
    
    Fixes #629839

commit 9227352e31d474920ffedc8cae77d221130d256b
Author: Thiago Santos <thiago.sousa.santos@collabora.co.uk>
Date:   Thu Sep 16 08:04:02 2010 -0300

    qtdemux: Delay tags posting a little
    
    Delay tags posting until we've parsed all the headers so
    that the native and xmp tags get merged before posting
    
    https://bugzilla.gnome.org/show_bug.cgi?id=629839

commit 52f5e95aee4aed3d077736860ebc65a0b1b04754
Author: Thiago Santos <thiago.sousa.santos@collabora.co.uk>
Date:   Mon Sep 20 23:17:35 2010 -0300

    qtdemux: Parse uuid atoms in push mode
    
    Parses uuid atoms in push mode when they are found, they might
    contain xmp tags.
    
    Also does a minor refactoring to put the global tags posting
    into a single function instead of repeating it in 3 different
    places.
    
    Fixes #629839

commit 9227352e31d474920ffedc8cae77d221130d256b
Author: Thiago Santos <thiago.sousa.santos@collabora.co.uk>
Date:   Thu Sep 16 08:04:02 2010 -0300

    qtdemux: Delay tags posting a little
    
    Delay tags posting until we've parsed all the headers so
    that the native and xmp tags get merged before posting
    
    https://bugzilla.gnome.org/show_bug.cgi?id=629839