gstreamer_analytics_sys/
manual.rs
1use gstreamer_sys as gst_sys;
2use libc::size_t;
3
4use crate::{GstTensorDataType, GstTensorDimOrder, GstTensorLayout};
5
6#[repr(C)]
7pub struct GstTensor {
8 pub id: glib_sys::GQuark,
9 pub layout: GstTensorLayout,
10 pub data_type: GstTensorDataType,
11 pub data: *mut gst_sys::GstBuffer,
12 pub dims_order: GstTensorDimOrder,
13 pub num_dims: size_t,
14 pub dims: [size_t; 0],
15}
16
17impl ::std::fmt::Debug for GstTensor {
18 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
19 f.debug_struct(&format!("GstTensor @ {self:p}"))
20 .field("id", &self.id)
21 .field("layout", &self.layout)
22 .field("data_type", &self.data_type)
23 .field("data", &self.data)
24 .field("dims_order", &self.dims_order)
25 .field("num_dims", &self.num_dims)
26 .field("dims", &unsafe {
27 ::std::slice::from_raw_parts(self.dims.as_ptr(), self.num_dims)
28 })
29 .finish()
30 }
31}