diff options
author | Robin Stocker <robin@nibor.org> | 2009-02-04 09:20:28 +0100 |
---|---|---|
committer | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2009-02-04 09:20:28 +0100 |
commit | 7353cdc02960b207433a31489c91f618b15f725d (patch) | |
tree | e95352c98af863e8418a7ea68bd9326e5f283666 /gst | |
parent | d3d7c89d4856b8bafb94443662173c32a00aaf41 (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.c | 16 |
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); |