GNOME Bugzilla – Bug 602126
[qtdemux] Doesn't output language codes.
Last modified: 2009-12-13 13:13:18 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.
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
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...
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.