client: remove watch of the second client after http tunnel setup

The second client will be freed after the HTTP tunnel has been set up.
Make sure it's RTSP watch is never dispatched again.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=727488
This commit is contained in:
Ognyan Tonchev 2014-04-02 12:03:32 +02:00 committed by Wim Taymans
parent 9c0ef4d9f8
commit 132f77751d

View file

@ -3031,9 +3031,15 @@ tunnel_complete (GstRTSPWatch * watch, gpointer user_data)
/* merge the tunnels into the first client */
gst_rtsp_connection_do_tunnel (opriv->connection, priv->connection);
gst_rtsp_watch_reset (priv->watch);
gst_rtsp_watch_reset (opriv->watch);
g_object_unref (oclient);
/* the old client owns the tunnel now, the new one will be freed */
g_source_destroy ((GSource *) priv->watch);
priv->watch = NULL;
gst_rtsp_client_set_send_func (client, NULL, NULL, NULL);
return GST_RTSP_OK;
/* ERRORS */