client: send out teardown signal before tearing down
authorDavid Svensson Fors <davidsf@axis.com>
Mon, 15 Apr 2013 10:21:54 +0000 (12:21 +0200)
committerWim Taymans <wim.taymans@collabora.co.uk>
Mon, 15 Apr 2013 10:21:54 +0000 (12:21 +0200)
The advantage is that in the signal handler you get direct access to
information about what streams are about to get torn down (in the
GstRTSPClientState).

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

gst/rtsp-server/rtsp-client.c

index af07253..5b5affe 100644 (file)
@@ -662,6 +662,10 @@ handle_teardown_request (GstRTSPClient * client, GstRTSPClientState * state)
 
   state->sessmedia = media;
 
+  /* we emit the signal before closing the connection */
+  g_signal_emit (client, gst_rtsp_client_signals[SIGNAL_TEARDOWN_REQUEST],
+      0, state);
+
   /* unlink the all TCP callbacks */
   unlink_session_transports (client, session, media);
 
@@ -685,10 +689,6 @@ handle_teardown_request (GstRTSPClient * client, GstRTSPClientState * state)
 
   send_response (client, session, state->response, TRUE);
 
-  /* we emit the signal before closing the connection */
-  g_signal_emit (client, gst_rtsp_client_signals[SIGNAL_TEARDOWN_REQUEST],
-      0, state);
-
   return TRUE;
 
   /* ERRORS */