[][src]Struct mmal_sys::MMAL_PORT_T

#[repr(C)]
pub struct MMAL_PORT_T {
    pub priv_: *mut MMAL_PORT_PRIVATE_T,
    pub name: *const c_char,
    pub type_: MMAL_PORT_TYPE_T,
    pub index: u16,
    pub index_all: u16,
    pub is_enabled: u32,
    pub format: *mut MMAL_ES_FORMAT_T,
    pub buffer_num_min: u32,
    pub buffer_size_min: u32,
    pub buffer_alignment_min: u32,
    pub buffer_num_recommended: u32,
    pub buffer_size_recommended: u32,
    pub buffer_num: u32,
    pub buffer_size: u32,
    pub component: *mut MMAL_COMPONENT_T,
    pub userdata: *mut MMAL_PORT_USERDATA_T,
    pub capabilities: u32,
}

Definition of a port. A port is the entity that is exposed by components to receive or transmit buffer headers (\ref MMAL_BUFFER_HEADER_T). A port is defined by its \ref MMAL_ES_FORMAT_T.

It may be possible to override the buffer requirements of a port by using the MMAL_PARAMETER_BUFFER_REQUIREMENTS parameter.

Fields

priv_: *mut MMAL_PORT_PRIVATE_T

< Private member used by the framework

name: *const c_char

< Port name. Used for debugging purposes (Read Only)

type_: MMAL_PORT_TYPE_T

< Type of the port (Read Only)

index: u16

< Index of the port in its type list (Read Only)

index_all: u16

< Index of the port in the list of all ports (Read Only)

is_enabled: u32

< Indicates whether the port is enabled or not (Read Only)

format: *mut MMAL_ES_FORMAT_T

< Format of the elementary stream

buffer_num_min: u32

< Minimum number of buffers the port requires (Read Only). This is set by the component.

buffer_size_min: u32

< Minimum size of buffers the port requires (Read Only). This is set by the component.

buffer_alignment_min: u32

< Minimum alignment requirement for the buffers (Read Only). A value of zero means no special alignment requirements. This is set by the component.

buffer_num_recommended: u32

< Number of buffers the port recommends for optimal performance (Read Only). A value of zero means no special recommendation. This is set by the component.

buffer_size_recommended: u32

< Size of buffers the port recommends for optimal performance (Read Only). A value of zero means no special recommendation. This is set by the component.

buffer_num: u32

< Actual number of buffers the port will use. This is set by the client.

buffer_size: u32

< Actual maximum size of the buffers that will be sent to the port. This is set by the client.

component: *mut MMAL_COMPONENT_T

< Component this port belongs to (Read Only)

userdata: *mut MMAL_PORT_USERDATA_T

< Field reserved for use by the client

capabilities: u32

< Flags describing the capabilities of a port (Read Only). Bitwise combination of \ref portcapabilities "Port capabilities" values.

Trait Implementations

impl Clone for MMAL_PORT_T[src]

impl Copy for MMAL_PORT_T[src]

impl Debug for MMAL_PORT_T[src]

Auto Trait Implementations

impl !Send for MMAL_PORT_T

impl Unpin for MMAL_PORT_T

impl !Sync for MMAL_PORT_T

impl UnwindSafe for MMAL_PORT_T

impl RefUnwindSafe for MMAL_PORT_T

Blanket Implementations

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]