mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-04-26 05:06:17 +00:00
server: Emit client-connected signal earlier
Emit client-connected before the client ref is given to a GSource, otherwise client-connected can be emitted after the client object has been freed.
This commit is contained in:
parent
7b0ad7c25f
commit
eb03b5c172
1 changed files with 3 additions and 6 deletions
|
@ -998,6 +998,9 @@ manage_client (GstRTSPServer * server, GstRTSPClient * client)
|
||||||
|
|
||||||
GST_DEBUG_OBJECT (server, "manage client %p", client);
|
GST_DEBUG_OBJECT (server, "manage client %p", client);
|
||||||
|
|
||||||
|
g_signal_emit (server, gst_rtsp_server_signals[SIGNAL_CLIENT_CONNECTED], 0,
|
||||||
|
client);
|
||||||
|
|
||||||
cctx = g_slice_new0 (ClientContext);
|
cctx = g_slice_new0 (ClientContext);
|
||||||
cctx->server = g_object_ref (server);
|
cctx->server = g_object_ref (server);
|
||||||
cctx->client = client;
|
cctx->client = client;
|
||||||
|
@ -1089,9 +1092,6 @@ gst_rtsp_server_transfer_connection (GstRTSPServer * server, GSocket * socket,
|
||||||
/* manage the client connection */
|
/* manage the client connection */
|
||||||
manage_client (server, client);
|
manage_client (server, client);
|
||||||
|
|
||||||
g_signal_emit (server, gst_rtsp_server_signals[SIGNAL_CLIENT_CONNECTED], 0,
|
|
||||||
client);
|
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
/* ERRORS */
|
/* ERRORS */
|
||||||
|
@ -1156,9 +1156,6 @@ gst_rtsp_server_io_func (GSocket * socket, GIOCondition condition,
|
||||||
|
|
||||||
/* manage the client connection */
|
/* manage the client connection */
|
||||||
manage_client (server, client);
|
manage_client (server, client);
|
||||||
|
|
||||||
g_signal_emit (server, gst_rtsp_server_signals[SIGNAL_CLIENT_CONNECTED], 0,
|
|
||||||
client);
|
|
||||||
} else {
|
} else {
|
||||||
GST_WARNING_OBJECT (server, "received unknown event %08x", condition);
|
GST_WARNING_OBJECT (server, "received unknown event %08x", condition);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue