diff --git a/girs/Gst-1.0.gir b/girs/Gst-1.0.gir index 9cacb6c899..6ec4fff2a0 100644 --- a/girs/Gst-1.0.gir +++ b/girs/Gst-1.0.gir @@ -26903,6 +26903,35 @@ last ref and @obj is about to be freed. + + Declare a #GMutexLocker variable with g_autoptr() and lock the object. The +mutex will be unlocked automatically when leaving the scope. + +``` c +{ + GST_OBJECT_AUTO_LOCK (obj, locker); + + obj->stuff_with_lock(); + if (cond) { + // No need to unlock + return; + } + + // Unlock before end of scope + g_clear_pointer (&locker, g_mutex_locker_free); + obj->stuff_without_lock(); +} +``` + + + + a #GstObject to lock + + + a variable name to be declared + + + @@ -28482,6 +28511,35 @@ queries explicitly if your element supports multiple scheduling modes. + + Declare a #GRecMutexLocker variable with g_autoptr() and lock the pad. The +recursive mutex will be unlocked automatically when leaving the scope. + +``` c +{ + GST_PAD_STREAM_AUTO_LOCK (pad, locker); + + gst_pad_push_event(pad, event1); + if (cond) { + // No need to unlock + return; + } + + // Unlock before end of scope + g_clear_pointer (&locker, g_rec_mutex_locker_free); + gst_pad_push_event(pad, event2); +} +``` + + + + a #GstPad + + + a variable name to be declared + + + Take the pad's stream lock. The stream lock is recursive and will be taken when buffers or serialized downstream events are pushed on a pad.