From a5b1e1e96dd6199663053a53af458a64f32a1c93 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Sebastian=20Dr=C3=B6ge?= Date: Tue, 2 Jun 2020 12:51:35 +0300 Subject: [PATCH] clockselect: Don't register GstClockSelectClockId multiple times --- gst/debugutils/gstclockselect.c | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/gst/debugutils/gstclockselect.c b/gst/debugutils/gstclockselect.c index 4181e63..3fa1a04 100644 --- a/gst/debugutils/gstclockselect.c +++ b/gst/debugutils/gstclockselect.c @@ -49,19 +49,23 @@ static GType gst_clock_select_clock_id_get_type (void) { static GType clock_id_type = 0; - static const GEnumValue clock_id_types[] = { - {GST_CLOCK_SELECT_CLOCK_ID_DEFAULT, - "Default (elected from elements) pipeline clock", "default"}, - {GST_CLOCK_SELECT_CLOCK_ID_MONOTONIC, "System monotonic clock", - "monotonic"}, - {GST_CLOCK_SELECT_CLOCK_ID_REALTIME, "System realtime clock", "realtime"}, - {GST_CLOCK_SELECT_CLOCK_ID_PTP, "PTP clock", "ptp"}, - {GST_CLOCK_SELECT_CLOCK_ID_TAI, "System TAI clock", "tai"}, - {0, NULL, NULL}, - }; - - clock_id_type = - g_enum_register_static ("GstClockSelectClockId", clock_id_types); + + if (g_once_init_enter (&clock_id_type)) { + GType type; + static const GEnumValue clock_id_types[] = { + {GST_CLOCK_SELECT_CLOCK_ID_DEFAULT, + "Default (elected from elements) pipeline clock", "default"}, + {GST_CLOCK_SELECT_CLOCK_ID_MONOTONIC, "System monotonic clock", + "monotonic"}, + {GST_CLOCK_SELECT_CLOCK_ID_REALTIME, "System realtime clock", "realtime"}, + {GST_CLOCK_SELECT_CLOCK_ID_PTP, "PTP clock", "ptp"}, + {GST_CLOCK_SELECT_CLOCK_ID_TAI, "System TAI clock", "tai"}, + {0, NULL, NULL}, + }; + + type = g_enum_register_static ("GstClockSelectClockId", clock_id_types); + g_once_init_leave (&clock_id_type, type); + } return clock_id_type; } -- 2.7.4