#[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: u32,
pub get_category: Option<unsafe extern "C" fn(_: *mut c_void) -> u32>,
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>,
}
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: u32
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) -> u32>
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.