static gboolean gst_rtspsrc_setup_auth (GstRTSPSrc * src,
GstRTSPMessage * response);
-static void gst_rtspsrc_loop_send_cmd (GstRTSPSrc * src, gint cmd, gint mask);
+static gboolean gst_rtspsrc_loop_send_cmd (GstRTSPSrc * src, gint cmd,
+ gint mask);
static GstRTSPResult gst_rtspsrc_send_cb (GstRTSPExtension * ext,
GstRTSPMessage * request, GstRTSPMessage * response, GstRTSPSrc * src);
gst_rtspsrc_loop_error_cmd (src, cmd);
}
-static void
+static gboolean
gst_rtspsrc_loop_send_cmd (GstRTSPSrc * src, gint cmd, gint mask)
{
gint old;
+ gboolean flushed = FALSE;
/* start new request */
gst_rtspsrc_loop_start_cmd (src, cmd);
if (src->busy_cmd & mask) {
GST_DEBUG_OBJECT (src, "connection flush busy %d", src->busy_cmd);
gst_rtspsrc_connection_flush (src, TRUE);
+ flushed = TRUE;
} else {
GST_DEBUG_OBJECT (src, "not interrupting busy cmd %d", src->busy_cmd);
}
if (src->task)
gst_task_start (src->task);
GST_OBJECT_UNLOCK (src);
+
+ return flushed;
}
static gboolean