media: disconnect from signal handlers in unprepare()
[platform/upstream/gstreamer.git] / gst / rtsp-server / rtsp-session-media.c
index fb4d71c..c475f8f 100644 (file)
 struct _GstRTSPSessionMediaPrivate
 {
   GMutex lock;
-  GstRTSPUrl *url;
-  GstRTSPMedia *media;
-  GstRTSPState state;
-  guint counter;
+  GstRTSPUrl *url;              /* unmutable */
+  GstRTSPMedia *media;          /* unmutable */
+  GstRTSPState state;           /* protected by lock */
+  guint counter;                /* protected by lock */
 
-  GPtrArray *transports;
+  GPtrArray *transports;        /* protected by lock */
 };
 
 enum
@@ -177,6 +177,22 @@ gst_rtsp_session_media_get_media (GstRTSPSessionMedia * media)
 }
 
 /**
+ * gst_rtsp_session_media_get_base_time:
+ * @media: a #GstRTSPSessionMedia
+ *
+ * Get the base_time of the #GstRTSPMedia in @media
+ *
+ * Returns: the base_time of the media.
+ */
+GstClockTime
+gst_rtsp_session_media_get_base_time (GstRTSPSessionMedia * media)
+{
+  g_return_val_if_fail (GST_IS_RTSP_SESSION_MEDIA (media), GST_CLOCK_TIME_NONE);
+
+  return gst_rtsp_media_get_base_time (media->priv->media);
+}
+
+/**
  * gst_rtsp_session_media_set_transport:
  * @media: a #GstRTSPSessionMedia
  * @stream: a #GstRTSPStream