summaryrefslogtreecommitdiffstats
path: root/gst
diff options
context:
space:
mode:
authorRobin Stocker <robin@nibor.org>2009-02-04 09:20:28 +0100
committerSebastian Dröge <sebastian.droege@collabora.co.uk>2009-02-04 09:20:28 +0100
commit7353cdc02960b207433a31489c91f618b15f725d (patch)
treee95352c98af863e8418a7ea68bd9326e5f283666 /gst
parentd3d7c89d4856b8bafb94443662173c32a00aaf41 (diff)
Read Matroska Title element for the TITLE tag
Not all Matroska files have a Tags element which contains information about the title among other things. Most video Matroska files only contain the Title element so we should parse this too. Fixes bug #570435.
Diffstat (limited to 'gst')
-rw-r--r--gst/matroska/matroska-demux.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/gst/matroska/matroska-demux.c b/gst/matroska/matroska-demux.c
index aafdd2ad..3c656c2c 100644
--- a/gst/matroska/matroska-demux.c
+++ b/gst/matroska/matroska-demux.c
@@ -2743,6 +2743,21 @@ gst_matroska_demux_parse_info (GstMatroskaDemux * demux)
break;
}
+ case GST_MATROSKA_ID_TITLE:{
+ gchar *text;
+ GstTagList *taglist;
+
+ if ((ret = gst_ebml_read_utf8 (ebml, &id, &text)) != GST_FLOW_OK)
+ break;
+
+ GST_DEBUG_OBJECT (demux, "Title: %s", GST_STR_NULL (text));
+ taglist = gst_tag_list_new ();
+ gst_tag_list_add (taglist, GST_TAG_MERGE_APPEND, GST_TAG_TITLE, text,
+ NULL);
+ gst_element_found_tags (GST_ELEMENT (ebml), taglist);
+ break;
+ }
+
default:
GST_WARNING_OBJECT (demux,
"Unknown SegmentInfo subelement 0x%x - ignoring", id);
@@ -2754,7 +2769,6 @@ gst_matroska_demux_parse_info (GstMatroskaDemux * demux)
case GST_MATROSKA_ID_PREVFILENAME:
case GST_MATROSKA_ID_NEXTUID:
case GST_MATROSKA_ID_NEXTFILENAME:
- case GST_MATROSKA_ID_TITLE:
case GST_MATROSKA_ID_SEGMENTFAMILY:
case GST_MATROSKA_ID_CHAPTERTRANSLATE:
ret = gst_ebml_read_skip (ebml);