[farsight2/master] lib: Add fs_session_get_stream_transmitter_type api

Olivier Crête olivier.crete at collabora.co.uk
Tue Jul 14 09:50:55 PDT 2009


---
 docs/libs/farsight2-libs-sections.txt |    1 +
 gst-libs/gst/farsight/fs-session.c    |   23 +++++++++++++++++++++++
 gst-libs/gst/farsight/fs-session.h    |    9 ++++++++-
 3 files changed, 32 insertions(+), 1 deletions(-)

diff --git a/docs/libs/farsight2-libs-sections.txt b/docs/libs/farsight2-libs-sections.txt
index fecf3a4..b31fbb0 100644
--- a/docs/libs/farsight2-libs-sections.txt
+++ b/docs/libs/farsight2-libs-sections.txt
@@ -58,6 +58,7 @@ fs_session_stop_telephony_event
 fs_session_set_send_codec
 fs_session_set_codec_preferences
 fs_session_list_transmitters
+fs_session_get_stream_transmitter_type
 fs_session_emit_error
 <SUBSECTION Standard>
 FS_SESSION
diff --git a/gst-libs/gst/farsight/fs-session.c b/gst-libs/gst/farsight/fs-session.c
index d430124..ea20e8b 100644
--- a/gst-libs/gst/farsight/fs-session.c
+++ b/gst-libs/gst/farsight/fs-session.c
@@ -599,3 +599,26 @@ fs_session_list_transmitters (FsSession *session)
     return NULL;
   }
 }
+
+
+/**
+ * fs_session_get_stream_transmitter_type:
+ * @session: A #FsSession
+ * @transmitter: The name of the transmitter
+ *
+ * Returns the GType of the stream transmitter, bindings can use it
+ * to validate/convert the parameters passed to fs_session_new_stream().
+ *
+ * Returns: The #GType of the stream transmitter
+ */
+GType
+fs_session_get_stream_transmitter_type (FsSession *session,
+    const gchar *transmitter)
+{
+  FsSessionClass *klass = FS_SESSION_GET_CLASS (session);
+
+  if (klass->get_stream_transmitter_type)
+    return klass->get_stream_transmitter_type (session, transmitter);
+
+  return 0;
+}
diff --git a/gst-libs/gst/farsight/fs-session.h b/gst-libs/gst/farsight/fs-session.h
index fa6de84..d994fa8 100644
--- a/gst-libs/gst/farsight/fs-session.h
+++ b/gst-libs/gst/farsight/fs-session.h
@@ -138,9 +138,12 @@ struct _FsSessionClass
 
   gchar** (* list_transmitters) (FsSession *session);
 
+  GType (* get_stream_transmitter_type) (FsSession *session,
+                                         const gchar *transmitter);
+
 
   /*< private >*/
-  gpointer _padding[8];
+  gpointer _padding[7];
 };
 
 /**
@@ -189,6 +192,10 @@ void fs_session_emit_error (FsSession *session,
     const gchar *error_msg,
     const gchar *debug_msg);
 
+GType fs_session_get_stream_transmitter_type (FsSession *session,
+    const gchar *transmitter);
+
+
 G_END_DECLS
 
 #endif /* __FS_SESSION_H__ */
-- 
1.5.6.5




More information about the farsight-commits mailing list