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}