av_interleaved_write_frame

Write a packet to an output media file ensuring correct interleaving.

This function will buffer the packets internally as needed to make sure the packets in the output file are properly interleaved in the order of increasing dts. Callers doing their own interleaving should call av_write_frame() instead of this function.

@param s media file handle @param pkt The packet containing the data to be written. <br> If the packet is reference-counted, this function will take ownership of this reference and unreference it later when it sees fit. The caller must not access the data through this reference after this function returns. If the packet is not reference-counted, libavformat will make a copy. <br> This parameter can be NULL (at any time, not just at the end), to flush the interleaving queues. <br> Packet's @ref AVPacket.stream_index "stream_index" field must be set to the index of the corresponding stream in @ref AVFormatContext.streams "s->streams". It is very strongly recommended that timing information (@ref AVPacket.pts "pts", @ref AVPacket.dts "dts", @ref AVPacket.duration "duration") is set to correct values.

@return 0 on success, a negative AVERROR on error. Libavformat will always take care of freeing the packet, even if this function fails.

@see av_write_frame(), AVFormatContext.max_interleave_delta

extern (C)
int
av_interleaved_write_frame

Meta