mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-09-30 15:52:32 +00:00
rtspsrc: return when a flush was issued
Make gst_rtspsrc_loop_send_cmd() return TRUE when the current action has been flushed
This commit is contained in:
parent
a956a6ceb2
commit
7b2e002879
1 changed files with 7 additions and 2 deletions
|
@ -267,7 +267,8 @@ static void gst_rtspsrc_handle_message (GstBin * bin, GstMessage * message);
|
||||||
static gboolean gst_rtspsrc_setup_auth (GstRTSPSrc * src,
|
static gboolean gst_rtspsrc_setup_auth (GstRTSPSrc * src,
|
||||||
GstRTSPMessage * response);
|
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,
|
static GstRTSPResult gst_rtspsrc_send_cb (GstRTSPExtension * ext,
|
||||||
GstRTSPMessage * request, GstRTSPMessage * response, GstRTSPSrc * src);
|
GstRTSPMessage * request, GstRTSPMessage * response, GstRTSPSrc * src);
|
||||||
|
|
||||||
|
@ -4455,10 +4456,11 @@ gst_rtspsrc_loop_end_cmd (GstRTSPSrc * src, gint cmd, GstRTSPResult ret)
|
||||||
gst_rtspsrc_loop_error_cmd (src, cmd);
|
gst_rtspsrc_loop_error_cmd (src, cmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static gboolean
|
||||||
gst_rtspsrc_loop_send_cmd (GstRTSPSrc * src, gint cmd, gint mask)
|
gst_rtspsrc_loop_send_cmd (GstRTSPSrc * src, gint cmd, gint mask)
|
||||||
{
|
{
|
||||||
gint old;
|
gint old;
|
||||||
|
gboolean flushed = FALSE;
|
||||||
|
|
||||||
/* start new request */
|
/* start new request */
|
||||||
gst_rtspsrc_loop_start_cmd (src, cmd);
|
gst_rtspsrc_loop_start_cmd (src, cmd);
|
||||||
|
@ -4484,12 +4486,15 @@ gst_rtspsrc_loop_send_cmd (GstRTSPSrc * src, gint cmd, gint mask)
|
||||||
if (src->busy_cmd & mask) {
|
if (src->busy_cmd & mask) {
|
||||||
GST_DEBUG_OBJECT (src, "connection flush busy %d", src->busy_cmd);
|
GST_DEBUG_OBJECT (src, "connection flush busy %d", src->busy_cmd);
|
||||||
gst_rtspsrc_connection_flush (src, TRUE);
|
gst_rtspsrc_connection_flush (src, TRUE);
|
||||||
|
flushed = TRUE;
|
||||||
} else {
|
} else {
|
||||||
GST_DEBUG_OBJECT (src, "not interrupting busy cmd %d", src->busy_cmd);
|
GST_DEBUG_OBJECT (src, "not interrupting busy cmd %d", src->busy_cmd);
|
||||||
}
|
}
|
||||||
if (src->task)
|
if (src->task)
|
||||||
gst_task_start (src->task);
|
gst_task_start (src->task);
|
||||||
GST_OBJECT_UNLOCK (src);
|
GST_OBJECT_UNLOCK (src);
|
||||||
|
|
||||||
|
return flushed;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
|
|
Loading…
Reference in a new issue