mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-28 04:31:06 +00:00
rtsp-server: No need to store the GMainContext in the client context
This commit is contained in:
parent
dcc92cbde1
commit
4071e1b999
1 changed files with 7 additions and 7 deletions
|
@ -916,14 +916,12 @@ struct _ClientContext
|
||||||
{
|
{
|
||||||
GstRTSPServer *server;
|
GstRTSPServer *server;
|
||||||
GMainLoop *loop;
|
GMainLoop *loop;
|
||||||
GMainContext *context;
|
|
||||||
GstRTSPClient *client;
|
GstRTSPClient *client;
|
||||||
};
|
};
|
||||||
|
|
||||||
static void
|
static void
|
||||||
free_client_context (ClientContext * ctx)
|
free_client_context (ClientContext * ctx)
|
||||||
{
|
{
|
||||||
g_main_context_unref (ctx->context);
|
|
||||||
if (ctx->loop)
|
if (ctx->loop)
|
||||||
g_main_loop_unref (ctx->loop);
|
g_main_loop_unref (ctx->loop);
|
||||||
g_object_unref (ctx->client);
|
g_object_unref (ctx->client);
|
||||||
|
@ -971,6 +969,7 @@ manage_client (GstRTSPServer * server, GstRTSPClient * client)
|
||||||
{
|
{
|
||||||
ClientContext *ctx;
|
ClientContext *ctx;
|
||||||
GstRTSPServerPrivate *priv = server->priv;
|
GstRTSPServerPrivate *priv = server->priv;
|
||||||
|
GMainContext *mainctx;
|
||||||
|
|
||||||
GST_DEBUG_OBJECT (server, "manage client %p", client);
|
GST_DEBUG_OBJECT (server, "manage client %p", client);
|
||||||
|
|
||||||
|
@ -982,14 +981,15 @@ manage_client (GstRTSPServer * server, GstRTSPClient * client)
|
||||||
|
|
||||||
/* find the context to add the watch */
|
/* find the context to add the watch */
|
||||||
if ((source = g_main_current_source ()))
|
if ((source = g_main_current_source ()))
|
||||||
ctx->context = g_main_context_ref (g_source_get_context (source));
|
mainctx = g_source_get_context (source);
|
||||||
else
|
else
|
||||||
ctx->context = NULL;
|
mainctx = NULL;
|
||||||
} else {
|
} else {
|
||||||
ctx->context = g_main_context_new ();
|
mainctx = g_main_context_new ();
|
||||||
ctx->loop = g_main_loop_new (ctx->context, TRUE);
|
ctx->loop = g_main_loop_new (mainctx, TRUE);
|
||||||
|
g_main_context_unref (mainctx);
|
||||||
}
|
}
|
||||||
gst_rtsp_client_attach (client, ctx->context);
|
gst_rtsp_client_attach (client, mainctx);
|
||||||
|
|
||||||
GST_RTSP_SERVER_LOCK (server);
|
GST_RTSP_SERVER_LOCK (server);
|
||||||
g_signal_connect (client, "closed", (GCallback) unmanage_client, ctx);
|
g_signal_connect (client, "closed", (GCallback) unmanage_client, ctx);
|
||||||
|
|
Loading…
Reference in a new issue