diff options
author | Thijs Vermeir <thijsvermeir@gmail.com> | 2008-01-02 13:54:10 +0000 |
---|---|---|
committer | Thijs Vermeir <thijsvermeir@gmail.com> | 2008-01-02 13:54:10 +0000 |
commit | 311264bcf8df707de65e404aa5d66de150930bb2 (patch) | |
tree | ad9187ec3cbc29e7bc15a5340d325f9d4f5f5eae | |
parent | eb5e87944c1d2024463f96c475f5083af6522bce (diff) |
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
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | gst/avi/gstavi.c | 2 | ||||
-rw-r--r-- | gst/avi/gstavisubtitle.c | 21 |
3 files changed, 28 insertions, 2 deletions
@@ -1,3 +1,10 @@ +2008-01-02 Thijs Vermeir <thijsvermeir@gmail.com> + + * 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 <wim.taymans@collabora.co.uk> * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_send), (gst_rtspsrc_open): diff --git a/gst/avi/gstavi.c b/gst/avi/gstavi.c index 57ddf440..48c81002 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 d8c45150..6fdf5fea 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); } |