mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs.git
synced 2025-04-15 04:14:07 +00:00
video-info: Use unions for setting extension fields instead of pointer arithmetic
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1674>
This commit is contained in:
parent
15f1ba0c94
commit
60901e27d1
1 changed files with 3 additions and 6 deletions
|
@ -422,18 +422,15 @@ impl<'a> VideoInfoBuilder<'a> {
|
|||
}
|
||||
|
||||
if let Some(multiview_mode) = self.multiview_mode {
|
||||
let ptr = &mut info.ABI._gst_reserved as *mut _ as *mut i32;
|
||||
ptr::write(ptr.offset(0), multiview_mode.into_glib());
|
||||
info.ABI.abi.multiview_mode = multiview_mode.into_glib();
|
||||
}
|
||||
|
||||
if let Some(multiview_flags) = self.multiview_flags {
|
||||
let ptr = &mut info.ABI._gst_reserved as *mut _ as *mut u32;
|
||||
ptr::write(ptr.offset(1), multiview_flags.into_glib());
|
||||
info.ABI.abi.multiview_flags = multiview_flags.into_glib();
|
||||
}
|
||||
|
||||
if let Some(field_order) = self.field_order {
|
||||
let ptr = &mut info.ABI._gst_reserved as *mut _ as *mut i32;
|
||||
ptr::write(ptr.offset(2), field_order.into_glib());
|
||||
info.ABI.abi.field_order = field_order.into_glib();
|
||||
}
|
||||
|
||||
Ok(VideoInfo(info))
|
||||
|
|
Loading…
Reference in a new issue