Struct AVOutputFormat

Source
#[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_char

Descriptive 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_int

can 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 AVCodecTag

List 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 AVOutputFormat§priv_data_size: c_int

size 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

Source§

fn clone(&self) -> AVOutputFormat

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for AVOutputFormat

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Copy for AVOutputFormat

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.