#[repr(C)]pub struct AVOutputFormat {Show 27 fields
pub name: *const c_char,
pub long_name: *const c_char,
pub mime_type: *const c_char,
pub extensions: *const c_char,
pub audio_codec: AVCodecID,
pub video_codec: AVCodecID,
pub subtitle_codec: AVCodecID,
pub flags: c_int,
pub codec_tag: *const *const AVCodecTag,
pub priv_class: *const AVClass,
pub next: *mut AVOutputFormat,
pub priv_data_size: c_int,
pub write_header: Option<unsafe extern "C" fn(arg1: *mut AVFormatContext) -> c_int>,
pub write_packet: Option<unsafe extern "C" fn(arg1: *mut AVFormatContext, pkt: *mut AVPacket) -> c_int>,
pub write_trailer: Option<unsafe extern "C" fn(arg1: *mut AVFormatContext) -> c_int>,
pub interleave_packet: Option<unsafe extern "C" fn(arg1: *mut AVFormatContext, out: *mut AVPacket, in_: *mut AVPacket, flush: c_int) -> c_int>,
pub query_codec: Option<unsafe extern "C" fn(id: AVCodecID, std_compliance: c_int) -> c_int>,
pub get_output_timestamp: Option<unsafe extern "C" fn(s: *mut AVFormatContext, stream: c_int, dts: *mut i64, wall: *mut i64)>,
pub control_message: Option<unsafe extern "C" fn(s: *mut AVFormatContext, type_: c_int, data: *mut c_void, data_size: usize) -> c_int>,
pub write_uncoded_frame: Option<unsafe extern "C" fn(arg1: *mut AVFormatContext, stream_index: c_int, frame: *mut *mut AVFrame, flags: c_uint) -> c_int>,
pub get_device_list: Option<unsafe extern "C" fn(s: *mut AVFormatContext, device_list: *mut AVDeviceInfoList) -> c_int>,
pub create_device_capabilities: Option<unsafe extern "C" fn(s: *mut AVFormatContext, caps: *mut AVDeviceCapabilitiesQuery) -> c_int>,
pub free_device_capabilities: Option<unsafe extern "C" fn(s: *mut AVFormatContext, caps: *mut AVDeviceCapabilitiesQuery) -> c_int>,
pub data_codec: AVCodecID,
pub init: Option<unsafe extern "C" fn(arg1: *mut AVFormatContext) -> c_int>,
pub deinit: Option<unsafe extern "C" fn(arg1: *mut AVFormatContext)>,
pub check_bitstream: Option<unsafe extern "C" fn(arg1: *mut AVFormatContext, pkt: *const AVPacket) -> c_int>,
}Expand description
@addtogroup lavf_encoding @{
Fields§
§name: *const c_char§long_name: *const c_charDescriptive name for the format, meant to be more human-readable than name. You should use the NULL_IF_CONFIG_SMALL() macro to define it.
mime_type: *const c_char§extensions: *const c_char< comma-separated filename extensions
audio_codec: AVCodecID< default audio codec
video_codec: AVCodecID< default video codec
subtitle_codec: AVCodecID< default subtitle codec
flags: c_intcan use flags: AVFMT_NOFILE, AVFMT_NEEDNUMBER, AVFMT_GLOBALHEADER, AVFMT_NOTIMESTAMPS, AVFMT_VARIABLE_FPS, AVFMT_NODIMENSIONS, AVFMT_NOSTREAMS, AVFMT_ALLOW_FLUSH, AVFMT_TS_NONSTRICT, AVFMT_TS_NEGATIVE
codec_tag: *const *const AVCodecTagList of supported codec_id-codec_tag pairs, ordered by “better choice first”. The arrays are all terminated by AV_CODEC_ID_NONE.
priv_class: *const AVClass< AVClass for the private context
next: *mut AVOutputFormatNo fields below this line are part of the public API. They may not be used outside of libavformat and can be changed and removed at will. New public fields should be added right above.
priv_data_size: c_intsize of private data so that it can be allocated in the wrapper
write_header: Option<unsafe extern "C" fn(arg1: *mut AVFormatContext) -> c_int>§write_packet: Option<unsafe extern "C" fn(arg1: *mut AVFormatContext, pkt: *mut AVPacket) -> c_int>Write a packet. If AVFMT_ALLOW_FLUSH is set in flags, pkt can be NULL in order to flush data buffered in the muxer. When flushing, return 0 if there still is more data to flush, or 1 if everything was flushed and there is no more buffered data.
write_trailer: Option<unsafe extern "C" fn(arg1: *mut AVFormatContext) -> c_int>§interleave_packet: Option<unsafe extern "C" fn(arg1: *mut AVFormatContext, out: *mut AVPacket, in_: *mut AVPacket, flush: c_int) -> c_int>Currently only used to set pixel format if not YUV420P.
query_codec: Option<unsafe extern "C" fn(id: AVCodecID, std_compliance: c_int) -> c_int>Test if the given codec can be stored in this container.
@return 1 if the codec is supported, 0 if it is not. A negative number if unknown. MKTAG(‘A’, ‘P’, ‘I’, ‘C’) if the codec is only supported as AV_DISPOSITION_ATTACHED_PIC
get_output_timestamp: Option<unsafe extern "C" fn(s: *mut AVFormatContext, stream: c_int, dts: *mut i64, wall: *mut i64)>§control_message: Option<unsafe extern "C" fn(s: *mut AVFormatContext, type_: c_int, data: *mut c_void, data_size: usize) -> c_int>Allows sending messages from application to device.
write_uncoded_frame: Option<unsafe extern "C" fn(arg1: *mut AVFormatContext, stream_index: c_int, frame: *mut *mut AVFrame, flags: c_uint) -> c_int>Write an uncoded AVFrame.
See av_write_uncoded_frame() for details.
The library will free *frame afterwards, but the muxer can prevent it by setting the pointer to NULL.
get_device_list: Option<unsafe extern "C" fn(s: *mut AVFormatContext, device_list: *mut AVDeviceInfoList) -> c_int>Returns device list with it properties. @see avdevice_list_devices() for more details.
create_device_capabilities: Option<unsafe extern "C" fn(s: *mut AVFormatContext, caps: *mut AVDeviceCapabilitiesQuery) -> c_int>Initialize device capabilities submodule. @see avdevice_capabilities_create() for more details.
free_device_capabilities: Option<unsafe extern "C" fn(s: *mut AVFormatContext, caps: *mut AVDeviceCapabilitiesQuery) -> c_int>Free device capabilities submodule. @see avdevice_capabilities_free() for more details.
data_codec: AVCodecID< default data codec
init: Option<unsafe extern "C" fn(arg1: *mut AVFormatContext) -> c_int>Initialize format. May allocate data here, and set any AVFormatContext or AVStream parameters that need to be set before packets are sent. This method must not write output.
Return 0 if streams were fully configured, 1 if not, negative AVERROR on failure
Any allocations made here must be freed in deinit().
deinit: Option<unsafe extern "C" fn(arg1: *mut AVFormatContext)>Deinitialize format. If present, this is called whenever the muxer is being destroyed, regardless of whether or not the header has been written.
If a trailer is being written, this is called after write_trailer().
This is called if init() fails as well.
check_bitstream: Option<unsafe extern "C" fn(arg1: *mut AVFormatContext, pkt: *const AVPacket) -> c_int>Set up any necessary bitstream filtering and extract any extra data needed for the global header. Return 0 if more packets from this stream must be checked; 1 if not.
Trait Implementations§
Source§impl Clone for AVOutputFormat
impl Clone for AVOutputFormat
Source§fn clone(&self) -> AVOutputFormat
fn clone(&self) -> AVOutputFormat
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more