gst/avi/gstavi.c: increase rank because no known issues anymore ...
authorThijs Vermeir <thijsvermeir@gmail.com>
Wed, 2 Jan 2008 13:54:10 +0000 (13:54 +0000)
committerThijs Vermeir <thijsvermeir@gmail.com>
Wed, 2 Jan 2008 13:54:10 +0000 (13:54 +0000)
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
gst/avi/gstavi.c
gst/avi/gstavisubtitle.c

index 018428b..44ffafe 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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):
index 57ddf44..48c8100 100644 (file)
@@ -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;
   }
index d8c4515..6fdf5fe 100644 (file)
@@ -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);
   }