From 058d792548444b7e39e59538986272b54f86e67b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Tue, 16 Jul 2019 11:44:40 +0300 Subject: [PATCH] buffer: Allow setting/unsetting buffer flags As there are extension flags types, we need separate setter/unsetter functions for the flags, or otherwise we would always clear the extension flags types (e.g. GstVideoBufferFlags). --- gstreamer/src/buffer.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gstreamer/src/buffer.rs b/gstreamer/src/buffer.rs index 9f1e54200..663a6f15c 100644 --- a/gstreamer/src/buffer.rs +++ b/gstreamer/src/buffer.rs @@ -374,7 +374,11 @@ impl BufferRef { } pub fn set_flags(&mut self, flags: BufferFlags) { - self.0.mini_object.flags = flags.bits(); + self.0.mini_object.flags |= flags.bits(); + } + + pub fn unset_flags(&mut self, flags: BufferFlags) { + self.0.mini_object.flags &= !flags.bits(); } pub fn get_meta(&self) -> Option> {