media: also handle prepare and range in suspended state
authorWim Taymans <wtaymans@redhat.com>
Fri, 29 Nov 2013 09:53:08 +0000 (10:53 +0100)
committerWim Taymans <wtaymans@redhat.com>
Fri, 29 Nov 2013 09:53:08 +0000 (10:53 +0100)
When we are suspended, we are already prepared.
We can get the range in the suspended state.

gst/rtsp-server/rtsp-client.c
gst/rtsp-server/rtsp-media.c

index a9ccbc2..3bbd64e 100644 (file)
@@ -1937,10 +1937,12 @@ handle_request (GstRTSPClient * client, GstRTSPMessage * request)
     gst_rtsp_message_dump (request);
   }
 
-  GST_INFO ("client %p: received a request", client);
-
   gst_rtsp_message_parse_request (request, &method, &uristr, &version);
 
+  GST_INFO ("client %p: received a request %s %s %s", client,
+      gst_rtsp_method_as_text (method), uristr,
+      gst_rtsp_version_as_text (version));
+
   /* we can only handle 1.0 requests */
   if (version != GST_RTSP_VERSION_1_0)
     goto not_supported;
index 2c72d97..eea4035 100644 (file)
@@ -1325,7 +1325,8 @@ gst_rtsp_media_get_range_string (GstRTSPMedia * media, gboolean play,
   priv = media->priv;
 
   g_rec_mutex_lock (&priv->state_lock);
-  if (priv->status != GST_RTSP_MEDIA_STATUS_PREPARED)
+  if (priv->status != GST_RTSP_MEDIA_STATUS_PREPARED &&
+      priv->status != GST_RTSP_MEDIA_STATUS_SUSPENDED)
     goto not_prepared;
 
   g_mutex_lock (&priv->lock);
@@ -1993,7 +1994,8 @@ gst_rtsp_media_prepare (GstRTSPMedia * media, GstRTSPThread * thread)
   g_rec_mutex_lock (&priv->state_lock);
   priv->prepare_count++;
 
-  if (priv->status == GST_RTSP_MEDIA_STATUS_PREPARED)
+  if (priv->status == GST_RTSP_MEDIA_STATUS_PREPARED ||
+      priv->status == GST_RTSP_MEDIA_STATUS_SUSPENDED)
     goto was_prepared;
 
   if (priv->status == GST_RTSP_MEDIA_STATUS_PREPARING)