multiple_desc_type

Macro multiple_desc_type 

Source
macro_rules! multiple_desc_type {
    (enum $s:ident { $($v:ident($t:ty),)* } ) => { ... };
}
Expand description

Build a frame memory descriptor enum that supports multiple descriptor types.

This is useful for the case where the frames’ memory backing is not decided at compile-time. In this case, this macro can be used to list all the potential types supported at run-time, and the selected one can be built as the program is run.

§Example

use cros_codecs::multiple_desc_type; use cros_codecs::utils::DmabufFrame;

/// Frames’ memory can be provided either by the backend, or via PRIME DMABUF handles. multiple_desc_type! { enum OwnedOrDmaDescriptor { Owned(()), Dmabuf(DmabufFrame), } }