rtsp-media-factory: make ::get_element overridable by GI bindings
authorAlessandro Decina <alessandro.d@gmail.com>
Fri, 12 Oct 2012 04:11:36 +0000 (06:11 +0200)
committerAlessandro Decina <alessandro.d@gmail.com>
Mon, 15 Oct 2012 08:50:26 +0000 (10:50 +0200)
The way to annotate vfuncs with GI seems to be to create an invoker (GI term)
for them and to annotate the invoker. Add gst_rtsp_media_factory_get_element()
as the invoker for ::get_element(), making it overridable by GI generated
bindings.

gst/rtsp-server/rtsp-media-factory.c
gst/rtsp-server/rtsp-media-factory.h

index 8db3357..2a4074a 100644 (file)
@@ -877,3 +877,18 @@ default_configure (GstRTSPMediaFactory * factory, GstRTSPMedia * media)
     g_free (mc);
   }
 }
+
+/**
+ * gst_rtsp_media_factory_get_element:
+ * @factory: a #GstRTSPMediaFactory
+ * @url: the url used
+ *
+ * Returns: (transfer floating) a new #GstElement.
+ */
+GstElement *
+gst_rtsp_media_factory_get_element (GstRTSPMediaFactory * factory,
+    const GstRTSPUrl * url)
+{
+  GstRTSPMediaFactoryClass *klass = GST_RTSP_MEDIA_FACTORY_GET_CLASS (factory);
+  return klass->get_element (factory, url);
+}
index baabc86..ede1e0c 100644 (file)
@@ -151,6 +151,8 @@ GstRTSPMedia *        gst_rtsp_media_factory_construct    (GstRTSPMediaFactory *
 void                  gst_rtsp_media_factory_collect_streams (GstRTSPMediaFactory *factory,
                                                               const GstRTSPUrl *url,
                                                               GstRTSPMedia *media);
+GstElement *          gst_rtsp_media_factory_get_element     (GstRTSPMediaFactory *factory, const GstRTSPUrl *url);
 
 G_END_DECLS