Struct AVClass
#[repr(C)]pub struct AVClass {
pub class_name: *const i8,
pub item_name: Option<unsafe extern "C" fn(*mut c_void) -> *const i8>,
pub option: *const AVOption,
pub version: i32,
pub log_level_offset_offset: i32,
pub parent_log_context_offset: i32,
pub category: AVClassCategory,
pub get_category: Option<unsafe extern "C" fn(*mut c_void) -> AVClassCategory>,
pub query_ranges: Option<unsafe extern "C" fn(*mut *mut AVOptionRanges, *mut c_void, *const i8, i32) -> i32>,
pub child_next: Option<unsafe extern "C" fn(*mut c_void, *mut c_void) -> *mut c_void>,
pub child_class_iterate: Option<unsafe extern "C" fn(*mut *mut c_void) -> *const AVClass>,
}
dep_ffmpeg
only.Expand description
Describe the class of an AVClass context structure. That is an arbitrary struct of which the first field is a pointer to an AVClass struct (e.g. AVCodecContext, AVFormatContext etc.).
Fields§
§class_name: *const i8
The name of the class; usually it is the same name as the context structure type to which the AVClass is associated.
item_name: Option<unsafe extern "C" fn(*mut c_void) -> *const i8>
A pointer to a function which returns the name of a context instance ctx associated with the class.
option: *const AVOption
a pointer to the first option specified in the class if any or NULL
@see av_set_default_options()
version: i32
LIBAVUTIL_VERSION with which this structure was created. This is used to allow fields to be added without requiring major version bumps everywhere.
log_level_offset_offset: i32
Offset in the structure where log_level_offset is stored. 0 means there is no such variable
parent_log_context_offset: i32
Offset in the structure where a pointer to the parent context for logging is stored. For example a decoder could pass its AVCodecContext to eval as such a parent context, which an av_log() implementation could then leverage to display the parent context. The offset can be NULL.
category: AVClassCategory
Category used for visualization (like color) This is only set if the category is equal for all objects using this class. available since version (51 << 16 | 56 << 8 | 100)
get_category: Option<unsafe extern "C" fn(*mut c_void) -> AVClassCategory>
Callback to return the category. available since version (51 << 16 | 59 << 8 | 100)
query_ranges: Option<unsafe extern "C" fn(*mut *mut AVOptionRanges, *mut c_void, *const i8, i32) -> i32>
Callback to return the supported/allowed ranges. available since version (52.12)
child_next: Option<unsafe extern "C" fn(*mut c_void, *mut c_void) -> *mut c_void>
Return next AVOptions-enabled child or NULL
child_class_iterate: Option<unsafe extern "C" fn(*mut *mut c_void) -> *const AVClass>
Iterate over the AVClasses corresponding to potential AVOptions-enabled children.
@param iter pointer to opaque iteration state. The caller must initialize *iter to NULL before the first call. @return AVClass for the next AVOptions-enabled child or NULL if there are no more such children.
@note The difference between child_next and this is that child_next iterates over already existing objects, while child_class_iterate iterates over all possible children.
Trait Implementations§
impl Copy for AVClass
impl Eq for AVClass
impl StructuralPartialEq for AVClass
Auto Trait Implementations§
impl Freeze for AVClass
impl RefUnwindSafe for AVClass
impl !Send for AVClass
impl !Sync for AVClass
impl Unpin for AVClass
impl UnwindSafe for AVClass
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> ByteSized for T
impl<T> ByteSized for T
Source§const BYTE_ALIGN: usize = _
const BYTE_ALIGN: usize = _
Source§fn byte_align(&self) -> usize
fn byte_align(&self) -> usize
Source§fn ptr_size_ratio(&self) -> [usize; 2]
fn ptr_size_ratio(&self) -> [usize; 2]
Source§impl<T, R> Chain<R> for Twhere
T: ?Sized,
impl<T, R> Chain<R> for Twhere
T: ?Sized,
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.Source§impl<T> ExtAny for T
impl<T> ExtAny for T
Source§fn type_hash_with<H: Hasher>(&self, hasher: H) -> u64
fn type_hash_with<H: Hasher>(&self, hasher: H) -> u64
TypeId
of Self
using a custom hasher.Source§fn as_any_mut(&mut self) -> &mut dyn Anywhere
Self: Sized,
fn as_any_mut(&mut self) -> &mut dyn Anywhere
Self: Sized,
Source§impl<T> ExtMem for Twhere
T: ?Sized,
impl<T> ExtMem for Twhere
T: ?Sized,
Source§const NEEDS_DROP: bool = _
const NEEDS_DROP: bool = _
Source§fn mem_align_of<T>() -> usize
fn mem_align_of<T>() -> usize
Source§fn mem_align_of_val(&self) -> usize
fn mem_align_of_val(&self) -> usize
Source§fn mem_size_of<T>() -> usize
fn mem_size_of<T>() -> usize
Source§fn mem_size_of_val(&self) -> usize
fn mem_size_of_val(&self) -> usize
Source§fn mem_needs_drop(&self) -> bool
fn mem_needs_drop(&self) -> bool
true
if dropping values of this type matters. Read moreSource§fn mem_forget(self)where
Self: Sized,
fn mem_forget(self)where
Self: Sized,
self
without running its destructor. Read moreSource§fn mem_replace(&mut self, other: Self) -> Selfwhere
Self: Sized,
fn mem_replace(&mut self, other: Self) -> Selfwhere
Self: Sized,
Source§unsafe fn mem_zeroed<T>() -> T
unsafe fn mem_zeroed<T>() -> T
unsafe_layout
only.T
represented by the all-zero byte-pattern. Read moreSource§unsafe fn mem_transmute_copy<Src, Dst>(src: &Src) -> Dst
unsafe fn mem_transmute_copy<Src, Dst>(src: &Src) -> Dst
unsafe_layout
only.T
represented by the all-zero byte-pattern. Read moreSource§fn mem_as_bytes(&self) -> &[u8] ⓘ
fn mem_as_bytes(&self) -> &[u8] ⓘ
unsafe_slice
only.§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
Source§impl<T> Hook for T
impl<T> Hook for T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more