rtsp: go and stay in the loop function on PLAY
authorWim Taymans <wim.taymans@collabora.co.uk>
Wed, 25 Jul 2012 10:50:01 +0000 (12:50 +0200)
committerWim Taymans <wim.taymans@collabora.co.uk>
Wed, 25 Jul 2012 10:50:01 +0000 (12:50 +0200)
When we have a PLAY request, go into the LOOP function next. When we are
looping, keep on looping until we are told otherwise.
This fixed rtsp and TCP connections.

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

gst/rtsp/gstrtspsrc.c

index b7c3a50..9eda544 100644 (file)
@@ -6452,7 +6452,10 @@ gst_rtspsrc_thread (GstRTSPSrc * src)
 
   GST_OBJECT_LOCK (src);
   cmd = src->pending_cmd;
-  src->pending_cmd = CMD_WAIT;
+  if (cmd == CMD_PLAY || cmd == CMD_LOOP)
+    src->pending_cmd = CMD_LOOP;
+  else
+    src->pending_cmd = CMD_WAIT;
   GST_DEBUG_OBJECT (src, "got command %d", cmd);
 
   /* we got the message command, so ensure communication is possible again */