GNOME Bugzilla – Bug 661171
gst-discoverer should not merge tags with different contents from different streams
Last modified: 2018-11-03 11:19:46 UTC
It is common for a stream to have substreams in different languages - mostly for audio and subtitles. All the language tags will be merged into one (and the contents of a random (from the user's pov) one will be used). As seen below, this is also the case for things like bitrate, encoder, etc. Topology: container: Ogg subtitles: Kate subtitle format subtitles: Kate subtitle format audio: Vorbis audio: Vorbis video: Theora Properties: Duration: 1:54:16.840000000 Seekable: yes Tags: container format: Ogg encoder: Xiph.Org libTheora I 20071025 3 2 1 title: Title 5 - Main Feature comment: Created with thoggen: http://thoggen.net language code: ja encoder version: 0 nominal bitrate: 128000 bitrate: 128000 audio codec: Vorbis video codec: Theora application name: kateenc - libkate 0.4.0 (Tiger) subtitle codec: Kate
FWIW, tagreadbin tries to be smart about this. IIRC it will e.g. look for GST_TAG_{CONTAINER,AUDIO,VIDEO,SUBTITLE} to see if the taglist is stream-specific or not. And if there are no such tags it might check if it got the same taglist for multiple streams. Also where the element that posted it is in the topology possibly. An added complication might also be that now we may have multiple elements posting the same tags, e.g. both oggdemux and theoradec/vorbisdec/flacdec/ will extract tags from the headers.
This should be possible to handle better with 1.0 and the scope in the tag lists.
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/54.