@@ -530,6 +530,7 @@ typedef struct AVOutputFormat {
int priv_data_size;
int (*write_header)(struct AVFormatContext *);
+
/**
* Write a packet. If AVFMT_ALLOW_FLUSH is set in flags,
* pkt can be NULL in order to flush data buffered in the muxer.
@@ -538,7 +539,9 @@ typedef struct AVOutputFormat {
* data.
*/
int (*write_packet)(struct AVFormatContext *, AVPacket *pkt);
+
int (*write_trailer)(struct AVFormatContext *);
+
/**
* A format-specific function for interleavement.
* If unset, packets will be interleaved by dts.
@@ -577,17 +580,21 @@ typedef struct AVOutputFormat {
* @see avdevice_list_devices() for more details.
*/
int (*get_device_list)(struct AVFormatContext *s, struct AVDeviceInfoList *device_list);
+
/**
* Initialize device capabilities submodule.
* @see avdevice_capabilities_create() for more details.
*/
int (*create_device_capabilities)(struct AVFormatContext *s, void *opaque);
+
/**
* Free device capabilities submodule.
* @see avdevice_capabilities_free() for more details.
*/
int (*free_device_capabilities)(struct AVFormatContext *s, void *opaque);
+
enum AVCodecID data_codec; /**< default data codec */
+
/**
* Initialize format. May allocate data here, and set any AVFormatContext or
* AVStream parameters that need to be set before packets are sent.
@@ -598,6 +605,7 @@ typedef struct AVOutputFormat {
* Any allocations made here must be freed in deinit().
*/
int (*init)(struct AVFormatContext *);
+
/**
* Deinitialize format. If present, this is called whenever the muxer is being
* destroyed, regardless of whether or not the header has been written.
@@ -607,6 +615,7 @@ typedef struct AVOutputFormat {
* This is called if init() fails as well.
*/
void (*deinit)(struct AVFormatContext *);
+
/**
* Set up any necessary bitstream filtering and extract any extra data needed
* for the global header.
Signed-off-by: Diederick Niehorster <dcnieho@gmail.com> --- libavformat/avformat.h | 9 +++++++++ 1 file changed, 9 insertions(+)