From fda4cfd15e329ca59dfb2238d3d9697e1d1cc27a Mon Sep 17 00:00:00 2001 From: "Jan Alexander Steffens (heftig)" Date: Fri, 25 Sep 2020 19:08:17 +0200 Subject: [PATCH] srt: Fix use of srt_startup `srt_startup` can also return 1 if it was successful. Avoid warning in this case. Avoid a race when checking whether we need to call it at all. Part-of: --- ext/srt/gstsrtobject.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/ext/srt/gstsrtobject.c b/ext/srt/gstsrtobject.c index de22dabb77..4c9ae37cb1 100644 --- a/ext/srt/gstsrtobject.c +++ b/ext/srt/gstsrtobject.c @@ -262,16 +262,14 @@ gst_srt_object_new (GstElement * element) { GstSRTObject *srtobject; - if (g_atomic_int_get (&srt_init_refcount) == 0) { + if (g_atomic_int_add (&srt_init_refcount, 1) == 0) { GST_DEBUG_OBJECT (element, "Starting up SRT"); - if (srt_startup () != 0) { + if (srt_startup () < 0) { g_warning ("Failed to initialize SRT (reason: %s)", srt_getlasterror_str ()); } } - g_atomic_int_inc (&srt_init_refcount); - srtobject = g_new0 (GstSRTObject, 1); srtobject->element = element; srtobject->parameters = gst_structure_new_empty ("application/x-srt-params");