#[repr(C)]pub struct AVClass {
pub class_name: *const c_char,
pub item_name: Option<unsafe extern "C" fn(ctx: *mut c_void) -> *const c_char>,
pub option: *const AVOption,
pub version: c_int,
pub log_level_offset_offset: c_int,
pub parent_log_context_offset: c_int,
pub child_next: Option<unsafe extern "C" fn(obj: *mut c_void, prev: *mut c_void) -> *mut c_void>,
pub child_class_next: Option<unsafe extern "C" fn(prev: *const AVClass) -> *const AVClass>,
pub category: AVClassCategory,
pub get_category: Option<unsafe extern "C" fn(ctx: *mut c_void) -> AVClassCategory>,
pub query_ranges: Option<unsafe extern "C" fn(arg1: *mut *mut AVOptionRanges, obj: *mut c_void, key: *const c_char, flags: c_int) -> c_int>,
}
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 c_char
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(ctx: *mut c_void) -> *const c_char>
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: c_int
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: c_int
Offset in the structure where log_level_offset is stored. 0 means there is no such variable
parent_log_context_offset: c_int
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.
child_next: Option<unsafe extern "C" fn(obj: *mut c_void, prev: *mut c_void) -> *mut c_void>
Return next AVOptions-enabled child or NULL
child_class_next: Option<unsafe extern "C" fn(prev: *const AVClass) -> *const AVClass>
Return an AVClass corresponding to the next potential AVOptions-enabled child.
The difference between child_next and this is that child_next iterates over already existing objects, while child_class_next iterates over all possible children.
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(ctx: *mut c_void) -> AVClassCategory>
Callback to return the category. available since version (51 << 16 | 59 << 8 | 100)
query_ranges: Option<unsafe extern "C" fn(arg1: *mut *mut AVOptionRanges, obj: *mut c_void, key: *const c_char, flags: c_int) -> c_int>
Callback to return the supported/allowed ranges. available since version (52.12)