FFmpeg
|
#include "avformat.h"
#include "internal.h"
#include "mux.h"
#include "version.h"
#include "libavcodec/bsf.h"
#include "libavcodec/codec_desc.h"
#include "libavcodec/internal.h"
#include "libavcodec/packet_internal.h"
#include "libavutil/opt.h"
#include "libavutil/dict.h"
#include "libavutil/timestamp.h"
#include "libavutil/avassert.h"
#include "libavutil/frame.h"
#include "libavutil/internal.h"
#include "libavutil/mathematics.h"
Go to the source code of this file.
Macros | |
#define | AV_PKT_FLAG_UNCODED_FRAME 0x2000 |
#define | CHUNK_START 0x1000 |
muxing functions for use within libavformat
Definition in file mux.c.
f = val + (num / den) + 0.5.
'num' is normalized so that it is such as 0 <= num < den.
f | fractional number |
val | integer value |
num | must be >= 0 |
den | must be >= 1 |
Definition at line 55 of file mux.c.
Referenced by init_pts().
Fractional addition to f: f = f + (incr / f->den).
f | fractional number |
incr | increment, can be positive or negative |
Definition at line 73 of file mux.c.
Referenced by compute_muxer_pkt_fields().
int avformat_alloc_output_context2 | ( | AVFormatContext ** | ctx, |
const AVOutputFormat * | oformat, | ||
const char * | format_name, | ||
const char * | filename | ||
) |
Allocate an AVFormatContext for an output format.
avformat_free_context() can be used to free the context and everything allocated by the framework within it.
ctx | pointee is set to the created format context, or to NULL in case of failure |
oformat | format to use for allocating the context, if NULL format_name and filename are used instead |
format_name | the name of output format to use for allocating the context, if NULL filename is used instead |
filename | the name of the filename to use for allocating the context, may be NULL |
Definition at line 93 of file mux.c.
Referenced by avdevice_list_output_sinks(), fifo_mux_init(), hls_mux_init(), initialize_fifo_tst_muxer_chain(), main(), mov_init_ttml_writer(), of_open(), open_output_file(), open_slave(), segment_mux_init(), webm_chunk_init(), and write_muxed_file().
|
static |
Check that tag + id is in the table If neither is in the table -> OK If tag is in the table with another id -> FAIL If id is in the table with another tag -> FAIL unless strict < normal
Definition at line 151 of file mux.c.
Referenced by init_muxer().
|
static |
Definition at line 185 of file mux.c.
Referenced by avformat_init_output().
|
static |
Definition at line 402 of file mux.c.
Referenced by avformat_init_output(), and avformat_write_header().
|
static |
Definition at line 445 of file mux.c.
Referenced by av_write_frame(), avformat_write_header(), and write_packet().
|
static |
Definition at line 455 of file mux.c.
Referenced by av_write_trailer(), and avformat_write_header().
|
static |
Definition at line 528 of file mux.c.
Referenced by write_packet_common().
|
static |
Definition at line 624 of file mux.c.
Referenced by write_packet_common().
|
static |
Definition at line 655 of file mux.c.
Referenced by write_packet().
|
static |
Shift timestamps and call muxer; the original pts/dts are not kept.
FIXME: this function should NEVER get undefined pts/dts beside when the AVFMT_NOTIMESTAMPS is set. Those additional safety checks should be dropped once the correct checks are set in the callers.
Definition at line 741 of file mux.c.
Referenced by interleaved_write_packet(), and write_packet_common().
|
static |
Definition at line 780 of file mux.c.
Referenced by write_packets_common().
|
static |
Definition at line 796 of file mux.c.
Referenced by write_packets_common().
int ff_interleave_add_packet | ( | AVFormatContext * | s, |
AVPacket * | pkt, | ||
int(*)(AVFormatContext *, const AVPacket *, const AVPacket *) | compare | ||
) |
Add packet to an AVFormatContext's packet_buffer list, determining its interleaved position using compare() function argument.
Definition at line 854 of file mux.c.
Referenced by ff_interleave_packet_per_dts(), gxf_interleave_packet(), and mxf_interleave().
|
static |
Definition at line 928 of file mux.c.
Referenced by ff_interleave_packet_per_dts().
int ff_interleave_packet_per_dts | ( | AVFormatContext * | s, |
AVPacket * | pkt, | ||
int | flush, | ||
int | has_packet | ||
) |
Interleave an AVPacket per dts so it can be muxed.
See the documentation of AVOutputFormat.interleave_packet for details.
Definition at line 958 of file mux.c.
Referenced by gxf_interleave_packet(), and init_muxer().
int ff_interleave_packet_passthrough | ( | AVFormatContext * | s, |
AVPacket * | pkt, | ||
int | flush, | ||
int | has_packet | ||
) |
Interleave packets directly in the order in which they arrive without any sort of buffering.
Definition at line 1078 of file mux.c.
Referenced by init_muxer().
int ff_get_muxer_ts_offset | ( | AVFormatContext * | s, |
int | stream_index, | ||
int64_t * | offset | ||
) |
Definition at line 1084 of file mux.c.
Referenced by mov_flush_fragment().
const AVPacket* ff_interleaved_peek | ( | AVFormatContext * | s, |
int | stream | ||
) |
Find the next packet in the interleaving queue for the given stream.
Definition at line 1100 of file mux.c.
Referenced by mov_flush_fragment().
|
static |
Definition at line 1113 of file mux.c.
Referenced by write_packets_common().
|
static |
Definition at line 1132 of file mux.c.
Referenced by av_interleaved_write_frame(), av_write_trailer(), and write_packet_common().
|
static |
Definition at line 1150 of file mux.c.
Referenced by write_packets_common(), and write_packets_from_bsfs().
|
static |
Definition at line 1174 of file mux.c.
Referenced by av_write_trailer(), and write_packets_common().
|
static |
Definition at line 1207 of file mux.c.
Referenced by av_interleaved_write_frame(), and av_write_frame().
Add a bitstream filter to a stream.
st | output stream to add a filter to |
name | the name of the filter to add |
args | filter-specific argument string |
Definition at line 1350 of file mux.c.
Referenced by daud_init(), flv_check_bitstream(), gxf_write_header(), ivf_init(), latm_check_bitstream(), mkv_check_bitstream(), mov_check_bitstream(), mpegts_check_bitstream(), mxf_check_bitstream(), and mxf_init().
int ff_write_chained | ( | AVFormatContext * | dst, |
int | dst_stream, | ||
AVPacket * | pkt, | ||
AVFormatContext * | src, | ||
int | interleave | ||
) |
Write a packet to another muxer than the one the user originally intended.
Useful when chaining muxers, where one muxer internally writes a received packet to another muxer.
dst | the muxer to write the packet to |
dst_stream | the stream index within dst to write the packet to |
pkt | the packet to be written. It will be returned blank when av_interleaved_write_frame() is used, unchanged otherwise. |
src | the muxer the packet originally was intended for |
interleave | 0->use av_write_frame, 1->av_interleaved_write_frame |
Definition at line 1393 of file mux.c.
Referenced by dash_write_packet(), ff_mov_add_hinted_packet(), hds_write_packet(), hls_write_packet(), ism_write_packet(), rtsp_write_packet(), sap_write_packet(), and seg_write_packet().
|
static |
Definition at line 1423 of file mux.c.
Referenced by write_uncoded_frame_internal().
|
static |
Definition at line 1429 of file mux.c.
Referenced by av_interleaved_write_uncoded_frame(), and av_write_uncoded_frame().