stream: allow access to the rtp session
authorAleix Conchillo Flaque <aleix@oblong.com>
Mon, 24 Jun 2013 18:41:27 +0000 (11:41 -0700)
committerWim Taymans <wim.taymans@collabora.co.uk>
Mon, 24 Jun 2013 21:42:58 +0000 (23:42 +0200)
  https://bugzilla.gnome.org/show_bug.cgi?id=703004

gst/rtsp-server/rtsp-stream.c
gst/rtsp-server/rtsp-stream.h

index 11486e5468b67a6f90787395487b2cda4650aa9f..f992048c90c2dd2e702b5befde6a3508cf1d3a70 100644 (file)
@@ -271,7 +271,7 @@ gst_rtsp_stream_get_mtu (GstRTSPStream * stream)
 
 /* Update the dscp qos property on the udp sinks */
 static void
-update_dscp_qos (GstRTSPStream *stream)
+update_dscp_qos (GstRTSPStream * stream)
 {
   GstRTSPStreamPrivate *priv;
 
@@ -298,7 +298,7 @@ update_dscp_qos (GstRTSPStream *stream)
  * Configure the dscp qos of the outgoing sockets to @dscp_qos.
  */
 void
-gst_rtsp_stream_set_dscp_qos (GstRTSPStream *stream, gint dscp_qos)
+gst_rtsp_stream_set_dscp_qos (GstRTSPStream * stream, gint dscp_qos)
 {
   GstRTSPStreamPrivate *priv;
 
@@ -327,7 +327,7 @@ gst_rtsp_stream_set_dscp_qos (GstRTSPStream *stream, gint dscp_qos)
  * Returns: the DSCP QoS value of the outgoing sockets, or -1 if disbled.
  */
 gint
-gst_rtsp_stream_get_dscp_qos (GstRTSPStream *stream)
+gst_rtsp_stream_get_dscp_qos (GstRTSPStream * stream)
 {
   GstRTSPStreamPrivate *priv;
 
@@ -805,6 +805,32 @@ gst_rtsp_stream_get_server_port (GstRTSPStream * stream,
   g_mutex_unlock (&priv->lock);
 }
 
+/**
+ * gst_rtsp_stream_get_rtpsession:
+ * @stream: a #GstRTSPStream
+ *
+ * Get the RTP session of this stream.
+ *
+ * Returns: The RTP session of this stream. Unref after usage.
+ */
+GObject *
+gst_rtsp_stream_get_rtpsession (GstRTSPStream * stream)
+{
+  GstRTSPStreamPrivate *priv;
+  GObject *session;
+
+  g_return_val_if_fail (GST_IS_RTSP_STREAM (stream), NULL);
+
+  priv = stream->priv;
+
+  g_mutex_lock (&priv->lock);
+  if ((session = priv->session))
+    g_object_ref (session);
+  g_mutex_unlock (&priv->lock);
+
+  return session;
+}
+
 /**
  * gst_rtsp_stream_get_ssrc:
  * @stream: a #GstRTSPStream
index 4b8e53eb66d2ae16d9484f1655e904444cd21033..1060a05182e4a93be18233849f4c6eeb2b1a1019 100644 (file)
@@ -94,6 +94,9 @@ gboolean          gst_rtsp_stream_leave_bin        (GstRTSPStream *stream,
 void              gst_rtsp_stream_get_server_port  (GstRTSPStream *stream,
                                                     GstRTSPRange *server_port,
                                                     GSocketFamily family);
+
+GObject *         gst_rtsp_stream_get_rtpsession   (GstRTSPStream *stream);
+
 void              gst_rtsp_stream_get_ssrc         (GstRTSPStream *stream,
                                                     guint *ssrc);