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 655106 - Tagsetting interface doesn't work
Tagsetting interface doesn't work
Status: RESOLVED NOTABUG
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Linux
: Normal normal
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2011-07-22 10:11 UTC by Christian Fredrik Kalager Schaller
Modified: 2011-10-07 16:22 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
encodebin + tags (3.30 KB, text/x-python)
2011-07-22 10:11 UTC, Christian Fredrik Kalager Schaller
Details

Description Christian Fredrik Kalager Schaller 2011-07-22 10:11:47 UTC
Created attachment 192442 [details]
encodebin + tags

Added code to Transmageddon for setting the TAG_APPLICATION_NAME tag when creating files. Seems to be ignored or overridden in the actual pipeline. 

Attached small simple testapp showing the problem. In the resulting file the 'Writing application' tag doesn't end up as Transmageddon instead the incoming application name is preserved.
Comment 1 Stefan Sauer (gstreamer, gtkdoc dev) 2011-07-24 08:38:28 UTC
Hmm default merge mode should be GST_TAG_MERGE_KEEP, to not override tags you set with tags from events. Although I recall that elements had got that wrong and I fixed it in several of them. Just had a quick look at qtmux and it looks correct though. Also qtmux does not set TAG_APPLICATION_NAME. Whats the value you find in the tags actually?
Comment 2 Christian Fredrik Kalager Schaller 2011-07-24 09:00:36 UTC
Using the 'mediainfo' application I can see this tag : 
Writing application              : Xiph.Org libVorbis I 20100325 (Everywhere)
Comment 3 Stefan Sauer (gstreamer, gtkdoc dev) 2011-07-24 10:50:12 UTC
Is that from the source file or the resulting file. It is weird those as neither of the contain vorbis audio.

btw. gst-launch -t playbin2 uri=... would should which element emits the tags.
Comment 4 Christian Fredrik Kalager Schaller 2011-07-25 08:30:08 UTC
It is from the source file, as I wrote in the initial bug report it seems to keep the original tag instead of writing my new one. The input file is a Ogg file.
Comment 5 Vincent Penquerc'h 2011-08-05 14:31:36 UTC
"Xiph.Org libVorbis I 20100325 (Everywhere)" is the "vendor tag" of the encoding library, it would be different from a user settable tag, such as ENCODER, which would typically be something like "ffmpeg2theora". Something somewhere confuses the two.
Comment 6 Vincent Penquerc'h 2011-08-05 16:13:36 UTC
I filed https://bugzilla.gnome.org/show_bug.cgi?id=656034 which fixes a mismatch for ENCODER (which doesn't mean quite the same thing for gstreamer and Ogg).
I'm thinking that maybe it's mediainfo which doesn't report right. What are the tags like with Stefan's command line ? If it sees both encoder and application-name, it might choose to give precedence to encoder to show the user.
Comment 7 Christian Fredrik Kalager Schaller 2011-10-06 15:02:55 UTC
Checking output based on Stefans suggestion, the tag that is set is the 'encoder' tag. Does GStreamer not match TAG_APPLICATION_NAME to encoder in Quicktime (and should it?)

gst-launch-0.10 -t playbin2 uri=file:///home/cschalle/Videos/asupertest-155555-06102011.mov 
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
FOUND TAG      : found by element "qtdemux0".
     video codec: H.264 / AVC
         bitrate: 1830274
   language code: en
FOUND TAG      : found by element "qtdemux0".
     audio codec: MPEG-4 AAC audio
 maximum bitrate: 194660
         bitrate: 112000
   language code: en
FOUND TAG      : found by element "qtdemux0".
        datetime: 2011-10-06 15:55:55 (UTC +1h)
         encoder: Xiph.Org libVorbis I 20100325 (Everywhere)
application name: Transmageddon transcoder
container format: Quicktime
FOUND TAG      : found by element "faad0".
     audio codec: MPEG-4 AAC
FOUND TAG      : found by element "aacparse0".
 minimum bitrate: 135056
FOUND TAG      : found by element "aacparse0".
 minimum bitrate: 131610
FOUND TAG      : found by element "aacparse0".
 minimum bitrate: 125409
FOUND TAG      : found by element "aacparse0".
 minimum bitrate: 124375
FOUND TAG      : found by element "aacparse0".
 minimum bitrate: 120585
FOUND TAG      : found by element "aacparse0".
 minimum bitrate: 111628
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstPulseSinkClock
FOUND TAG      : found by element "aacparse0".
 minimum bitrate: 108871
FOUND TAG      : found by element "aacparse0".
 minimum bitrate: 108527
Comment 8 Christian Fredrik Kalager Schaller 2011-10-06 15:04:25 UTC
actually looking at the output again I see that it got a tag called 'application name' which is correctly set to 'Transmageddon transcoder'

I will try to file a bug against mediainfo. Closing this a Notabug.
Comment 9 Christian Fredrik Kalager Schaller 2011-10-06 15:18:50 UTC
Just in case someone ever Googles this, I did add GST_TAG_ENCODER to the list of tags I set, and that did update the 'encoder' value in Quicktime. One could argue that having a single 'encoder' value is a bit useless in a format that can have multiple streams in multiple formats.
Comment 10 Tim-Philipp Müller 2011-10-07 16:22:27 UTC
>  One could argue that having a single 'encoder' value is
> a bit useless in a format that can have multiple streams
> in multiple formats.

Yes, that's a limitation of the tag setting API really (or lack of a some other API that allows you to use GstTagSetter on each individual stream).