From 85c6b9b712c35632523e8301f6f0ed4893619001 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Wed, 5 May 2010 19:35:48 +0200 Subject: [PATCH] videomixer: Make selection of a sinkpad number threadsafe --- gst/videomixer/videomixer.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gst/videomixer/videomixer.c b/gst/videomixer/videomixer.c index c77604e81d..3c94c63945 100644 --- a/gst/videomixer/videomixer.c +++ b/gst/videomixer/videomixer.c @@ -1101,7 +1101,9 @@ gst_videomixer_request_new_pad (GstElement * element, gchar *name = NULL; GstVideoMixerCollect *mixcol = NULL; - if (req_name == NULL || strlen (req_name) < 6) { + GST_VIDEO_MIXER_STATE_LOCK (mix); + if (req_name == NULL || strlen (req_name) < 6 + || !g_str_has_prefix (req_name, "sink_")) { /* no name given when requesting the pad, use next available int */ serial = mix->next_sinkpad++; } else { @@ -1116,7 +1118,6 @@ gst_videomixer_request_new_pad (GstElement * element, templ->direction, "template", templ, NULL); g_free (name); - GST_VIDEO_MIXER_STATE_LOCK (mix); mixpad->zorder = mix->numpads; mixpad->xpos = DEFAULT_PAD_XPOS; mixpad->ypos = DEFAULT_PAD_YPOS;