rtsp-session-media: add function to get a list of transports
authorPatricia Muscalu <patricia@axis.com>
Mon, 16 Oct 2017 09:35:10 +0000 (11:35 +0200)
committerSebastian Dröge <sebastian@centricular.com>
Wed, 15 Nov 2017 15:46:00 +0000 (17:46 +0200)
Change-Id: I817e10624da0f3200f24d1b232cff481099278e3

https://bugzilla.gnome.org/show_bug.cgi?id=788340

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

index 0fffbca..96ad1b6 100644 (file)
@@ -408,6 +408,30 @@ gst_rtsp_session_media_get_transport (GstRTSPSessionMedia * media, guint idx)
 }
 
 /**
+ * gst_rtsp_session_media_get_transports:
+ * @media: a #GstRTSPSessionMedia
+ *
+ * Get a list of all available #GstRTSPStreamTransport in this session.
+ *
+ * Returns: (transfer full): a list of #GstRTSPStreamTransport,
+ * g_ptr_array_unref () after usage.
+ */
+GPtrArray *
+gst_rtsp_session_media_get_transports (GstRTSPSessionMedia * media)
+{
+  GstRTSPSessionMediaPrivate *priv;
+  GPtrArray *result;
+
+  g_return_val_if_fail (GST_IS_RTSP_SESSION_MEDIA (media), NULL);
+  priv = media->priv;
+
+  g_mutex_lock (&priv->lock);
+  result = g_ptr_array_ref (priv->transports);
+  g_mutex_unlock (&priv->lock);
+
+  return result;
+}
+/**
  * gst_rtsp_session_media_alloc_channels:
  * @media: a #GstRTSPSessionMedia
  * @range: (out): a #GstRTSPRange
index 612173b..2a6fe2a 100644 (file)
@@ -103,6 +103,9 @@ GstRTSPStreamTransport * gst_rtsp_session_media_get_transport  (GstRTSPSessionMe
                                                                 guint idx);
 
 GST_EXPORT
+GPtrArray *              gst_rtsp_session_media_get_transports (GstRTSPSessionMedia *media);
+
+GST_EXPORT
 gboolean                 gst_rtsp_session_media_alloc_channels (GstRTSPSessionMedia *media,
                                                                 GstRTSPRange *range);