/* we always allow setting the master to NULL */
if (master && !GST_OBJECT_FLAG_IS_SET (clock, GST_CLOCK_FLAG_CAN_SET_MASTER))
goto not_supported;
+ if (master && !gst_clock_is_synced (master))
+ goto master_not_synced;
+
GST_CAT_DEBUG_OBJECT (GST_CAT_CLOCK, clock,
"slaving %p to master clock %p", clock, master);
GST_OBJECT_UNLOCK (clock);
GST_OBJECT_UNLOCK (clock);
return FALSE;
}
+
+master_not_synced:
+ {
+ GST_CAT_DEBUG_OBJECT (GST_CAT_CLOCK, master,
+ "master clock is not synced yet");
+ GST_OBJECT_UNLOCK (clock);
+ return FALSE;
+ }
}
/**