From 0e3fdb1e167dfce394ef4cc0c5005ec2334b7ad2 Mon Sep 17 00:00:00 2001 From: Matthias Hardt Date: Thu, 26 Jul 2012 20:38:28 +0200 Subject: [PATCH] tsdemux: extract ISO 639 language codes for subtitles into taglists https://bugzilla.gnome.org/show_bug.cgi?id=680200 --- gst/mpegtsdemux/mpegtspacketizer.c | 3 +++ gst/mpegtsdemux/tsdemux.c | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/gst/mpegtsdemux/mpegtspacketizer.c b/gst/mpegtsdemux/mpegtspacketizer.c index 1857fda28c..7e7aa9eb1b 100644 --- a/gst/mpegtsdemux/mpegtspacketizer.c +++ b/gst/mpegtsdemux/mpegtspacketizer.c @@ -1002,6 +1002,9 @@ mpegts_packetizer_parse_pmt (MpegTSPacketizer2 * packetizer, /* ISO 639 LANGUAGE */ desc_data = gst_mpeg_descriptor_find (&desc, DESC_ISO_639_LANGUAGE); + if (!desc_data) { + desc_data = gst_mpeg_descriptor_find (&desc, DESC_DVB_SUBTITLING); + } if (desc_data && DESC_ISO_639_LANGUAGE_codes_n (desc_data)) { gchar *lang_code; gchar *language_n = (gchar *) diff --git a/gst/mpegtsdemux/tsdemux.c b/gst/mpegtsdemux/tsdemux.c index d419c46b0f..d3890156f2 100644 --- a/gst/mpegtsdemux/tsdemux.c +++ b/gst/mpegtsdemux/tsdemux.c @@ -637,6 +637,12 @@ gst_ts_demux_create_tags (TSDemuxStream * stream) desc = mpegts_get_descriptor_from_stream ((MpegTSBaseStream *) stream, DESC_ISO_639_LANGUAGE); + + if (!desc) { + desc = mpegts_get_descriptor_from_stream ((MpegTSBaseStream *) stream, + DESC_DVB_SUBTITLING); + } + if (desc) { if (!stream->taglist) stream->taglist = gst_tag_list_new_empty ();