From 311264bcf8df707de65e404aa5d66de150930bb2 Mon Sep 17 00:00:00 2001 From: Thijs Vermeir Date: Wed, 2 Jan 2008 13:54:10 +0000 Subject: [PATCH] gst/avi/gstavi.c: increase rank because no known issues anymore ... Original commit message from CVS: * gst/avi/gstavi.c: increase rank because no known issues anymore ... * gst/avi/gstavisubtitle.c: send subtitle name to the srcpad --- ChangeLog | 7 +++++++ gst/avi/gstavi.c | 2 +- gst/avi/gstavisubtitle.c | 21 ++++++++++++++++++++- 3 files changed, 28 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 018428b..44ffafe 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2008-01-02 Thijs Vermeir + + * gst/avi/gstavi.c: + increase rank because no known issues anymore ... + * gst/avi/gstavisubtitle.c: + send subtitle name to the srcpad + 2007-12-31 Wim Taymans * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_send), (gst_rtspsrc_open): diff --git a/gst/avi/gstavi.c b/gst/avi/gstavi.c index 57ddf44..48c8100 100644 --- a/gst/avi/gstavi.c +++ b/gst/avi/gstavi.c @@ -43,7 +43,7 @@ plugin_init (GstPlugin * plugin) GST_TYPE_AVI_DEMUX) || !gst_element_register (plugin, "avimux", GST_RANK_NONE, GST_TYPE_AVI_MUX) || - !gst_element_register (plugin, "avisubtitle", GST_RANK_NONE, + !gst_element_register (plugin, "avisubtitle", GST_RANK_PRIMARY, GST_TYPE_AVI_SUBTITLE)) { return FALSE; } diff --git a/gst/avi/gstavisubtitle.c b/gst/avi/gstavisubtitle.c index d8c4515..6fdf5fe 100644 --- a/gst/avi/gstavisubtitle.c +++ b/gst/avi/gstavisubtitle.c @@ -57,6 +57,7 @@ static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src", GST_STATIC_CAPS ("application/x-subtitle") ); +static void gst_avi_subtitle_title_tag (GstAviSubtitle * sub, gchar * title); static GstFlowReturn gst_avi_subtitle_chain (GstPad * pad, GstBuffer * buffer); static GstStateChangeReturn gst_avi_subtitle_change_state (GstElement * element, GstStateChange transition); @@ -134,6 +135,24 @@ gst_avi_subtitle_extract_file (GstAviSubtitle * sub, GstBuffer * buffer, return ret; } +/** + * gst_avi_subtitle_title_tag: + * @sub: subtitle element + * @title: the title of this subtitle stream + * + * Send an event to the srcpad of the @sub element with the title + * of the subtitle stream as a GST_TAG_TITLE + */ +static void +gst_avi_subtitle_title_tag (GstAviSubtitle * sub, gchar * title) +{ + GstTagList *temp_list = gst_tag_list_new (); + + gst_tag_list_add (temp_list, GST_TAG_MERGE_APPEND, GST_TAG_TITLE, title, + NULL); + gst_pad_push_event (sub->src, gst_event_new_tag (temp_list)); +} + static GstFlowReturn gst_avi_subtitle_parse_gab2_chunk (GstAviSubtitle * sub, GstBuffer * buf) { @@ -160,8 +179,8 @@ gst_avi_subtitle_parse_gab2_chunk (GstAviSubtitle * sub, GstBuffer * buf) NULL, NULL, NULL); if (name_utf8) { - /* FIXME: put in a taglist */ GST_LOG_OBJECT (sub, "subtitle name: %s", name_utf8); + gst_avi_subtitle_title_tag (sub, name_utf8); g_free (name_utf8); } -- 2.7.4