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 ();