media-factory: add a "media-constructed" signal to GstRTSPMediaFactory
[platform/upstream/gstreamer.git] / gst / rtsp-server / rtsp-media-factory.h
index 4d64876..1c7bab9 100644 (file)
@@ -21,6 +21,7 @@
 #include <gst/rtsp/gstrtspurl.h>
 
 #include "rtsp-media.h"
+#include "rtsp-auth.h"
 
 #ifndef __GST_RTSP_MEDIA_FACTORY_H__
 #define __GST_RTSP_MEDIA_FACTORY_H__
@@ -62,6 +63,8 @@ struct _GstRTSPMediaFactory {
   gchar        *launch;
   gboolean      shared;
   gboolean      eos_shutdown;
+  GstRTSPAuth  *auth;
+  guint         buffer_size;
 
   GMutex       *medias_lock;
   GHashTable   *medias;
@@ -90,12 +93,15 @@ struct _GstRTSPMediaFactory {
 struct _GstRTSPMediaFactoryClass {
   GObjectClass  parent_class;
 
-  gchar *           (*gen_key)        (GstRTSPMediaFactory *factory, const GstRTSPUrl *url);
+  gchar *           (*gen_key)         (GstRTSPMediaFactory *factory, const GstRTSPUrl *url);
 
-  GstElement *      (*get_element)    (GstRTSPMediaFactory *factory, const GstRTSPUrl *url);
-  GstRTSPMedia *    (*construct)      (GstRTSPMediaFactory *factory, const GstRTSPUrl *url);
-  void              (*configure)      (GstRTSPMediaFactory *factory, GstRTSPMedia *media);
-  GstElement *      (*create_pipeline)(GstRTSPMediaFactory *factory, GstRTSPMedia *media);
+  GstElement *      (*get_element)     (GstRTSPMediaFactory *factory, const GstRTSPUrl *url);
+  GstRTSPMedia *    (*construct)       (GstRTSPMediaFactory *factory, const GstRTSPUrl *url);
+  void              (*configure)       (GstRTSPMediaFactory *factory, GstRTSPMedia *media);
+  GstElement *      (*create_pipeline) (GstRTSPMediaFactory *factory, GstRTSPMedia *media);
+
+  /* signals */
+  void             (*media_constructed)(GstRTSPMediaFactory *factory, GstRTSPMedia *media);
 };
 
 GType                 gst_rtsp_media_factory_get_type     (void);
@@ -116,6 +122,13 @@ void                  gst_rtsp_media_factory_set_eos_shutdown   (GstRTSPMediaFac
                                                                  gboolean eos_shutdown);
 gboolean              gst_rtsp_media_factory_is_eos_shutdown    (GstRTSPMediaFactory *factory);
 
+void                  gst_rtsp_media_factory_set_auth     (GstRTSPMediaFactory *factory, GstRTSPAuth *auth);
+GstRTSPAuth *         gst_rtsp_media_factory_get_auth     (GstRTSPMediaFactory *factory);
+
+void                  gst_rtsp_media_factory_set_buffer_size    (GstRTSPMediaFactory * factory, guint size);
+guint                 gst_rtsp_media_factory_get_buffer_size    (GstRTSPMediaFactory * factory);
+
+
 /* creating the media from the factory and a url */
 GstRTSPMedia *        gst_rtsp_media_factory_construct    (GstRTSPMediaFactory *factory,
                                                            const GstRTSPUrl *url);