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 602126 - [qtdemux] Doesn't output language codes.
[qtdemux] Doesn't output language codes.
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
0.10.16
Other Linux
: Normal normal
: 0.10.17
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2009-11-16 19:10 UTC by Hammered
Modified: 2009-12-13 13:13 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Hammered 2009-11-16 19:10:45 UTC
qtdemux outputs tag messages for each track found(video/audio/subs) but these tags don't have GST_TAG_LANGUAGE_CODE set.

How to recreate problem: Create an mp4 file(any input will do) and set the language code for each track. Decode the file using qtdemux and examine the emitted tag messages.
Comment 1 Mark Nauwelaerts 2009-12-10 15:34:44 UTC
Following moderately recent commit added some language code to tags:

commit 955a719c1a9a340f22351bd5a0187ab4361a0799
Author: Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Date:   Fri Oct 9 17:02:57 2009 +0200

    qtdemux: provide language tag for stream


And following run illustrates that it seems to work :)
(provided language info is sufficiently valid, e.g. no such one in video stream)

Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
FOUND TAG      : found by element "qtdemux0".
     video codec: MPEG-4 video
FOUND TAG      : found by element "qtdemux0".
     audio codec: MPEG-4 AAC audio
   language code: eng
FOUND TAG      : found by element "qtdemux0".
     audio codec: MPEG-4 AAC audio
   language code: ger
FOUND TAG      : found by element "qtdemux0".
  subtitle codec: 3GPP timed text
   language code: ger
FOUND TAG      : found by element "qtdemux0".
  subtitle codec: 3GPP timed text
   language code: eng
FOUND TAG      : found by element "qtdemux0".
container format: ISO MP4/M4A
Comment 2 Tim-Philipp Müller 2009-12-10 15:49:53 UTC
Not that we enforce this anywhere, but it might be worth mentioning that our core docs (now) say that GST_TAG_LANGUAGE should contain the two-letter ISO-639-1 code, and we're putting three-letter ISO-639-2 codes into the tag here. This is not the first time we have this problem, so I was thinking maybe we should have a utility function in libgsttag or libgstpbutils to convert from -1 to -2 codes and vice versa...
Comment 3 Tim-Philipp Müller 2009-12-13 13:13:18 UTC
commit 6c4c8f8670fa3fee644ac18899c264b8065f03f8
Author: Tim-Philipp Müller <tim.muller@collabora.co.uk>
Date:   Sun Dec 13 13:10:12 2009 +0000

    qtdemux: fix up language code extraction some more
    
    Quicktime uses ISO 639-2 for language codes, but GST_TAG_LANGUAGE
    is supposed to hold a ISO 639-1 code, so convert as needed using
    the new API from -base.
    
    See #602126.