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;
}