mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-03 04:52:28 +00:00
client: set the watch to flushing before going to NULL
First set the watch to flushing so that we unblock any current and future attempt to send data on the watch, Then set the pipeline to NULL. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=728153
This commit is contained in:
parent
9219509bcf
commit
e69241ac97
1 changed files with 7 additions and 0 deletions
|
@ -819,6 +819,10 @@ handle_teardown_request (GstRTSPClient * client, GstRTSPContext * ctx)
|
|||
g_signal_emit (client, gst_rtsp_client_signals[SIGNAL_TEARDOWN_REQUEST],
|
||||
0, ctx);
|
||||
|
||||
/* make sure we unblock the backlog and don't accept new messages
|
||||
* on the watch */
|
||||
gst_rtsp_watch_set_flushing (priv->watch, TRUE);
|
||||
|
||||
/* unlink the all TCP callbacks */
|
||||
unlink_session_transports (client, session, sessmedia);
|
||||
|
||||
|
@ -827,6 +831,9 @@ handle_teardown_request (GstRTSPClient * client, GstRTSPContext * ctx)
|
|||
|
||||
gst_rtsp_session_media_set_state (sessmedia, GST_STATE_NULL);
|
||||
|
||||
/* allow messages again so that we can send the reply */
|
||||
gst_rtsp_watch_set_flushing (priv->watch, FALSE);
|
||||
|
||||
/* unmanage the media in the session, returns false if all media session
|
||||
* are torn down. */
|
||||
if (!gst_rtsp_session_release_media (session, sessmedia)) {
|
||||
|
|
Loading…
Reference in a new issue