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 i8The 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 AVOptiona pointer to the first option specified in the class if any or NULL
@see av_set_default_options()
version: i32LIBAVUTIL_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: i32Offset in the structure where log_level_offset is stored. 0 means there is no such variable
parent_log_context_offset: i32Offset 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: AVClassCategoryCategory 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