66 if (!mpegts_format || !rtp_format)
74 mpegts_ctx->
oformat = mpegts_format;
107 rtp_ctx->oformat = rtp_format;
158 local_pkt->
data = buf;
175 #define OFFSET(x) offsetof(MuxChain, x) 176 #define E AV_OPT_FLAG_ENCODING_PARAM 191 .
name =
"rtp_mpegts",
199 .priv_class = &rtp_mpegts_class,
AVOutputFormat ff_rtp_mpegts_muxer
static void write_packet(OutputFile *of, AVPacket *pkt, OutputStream *ost, int unqueue)
int avio_close_dyn_buf(AVIOContext *s, uint8_t **pbuffer)
Return the written size and a pointer to the buffer.
int av_write_frame(AVFormatContext *s, AVPacket *pkt)
Write a packet to an output media file.
#define LIBAVUTIL_VERSION_INT
enum AVCodecID codec_id
Specific type of the encoded data (the codec used).
AVRational sample_aspect_ratio
sample aspect ratio (0 if unknown)
const char * av_default_item_name(void *ptr)
Return the context name.
int av_dict_copy(AVDictionary **dst, const AVDictionary *src, int flags)
Copy entries from one AVDictionary struct into another.
int avio_open_dyn_buf(AVIOContext **s)
Open a write only memory stream.
const char * class_name
The name of the class; usually it is the same name as the context structure type to which the AVClass...
void av_packet_free(AVPacket **pkt)
Free the packet, if the packet is reference counted, it will be unreferenced first.
AVDictionary * rtp_muxer_options
static int rtp_mpegts_write_header(AVFormatContext *s)
int id
Format-specific stream ID.
AVStream * avformat_new_stream(AVFormatContext *s, const AVCodec *c)
Add a new stream to a media file.
AVStream ** streams
A list of all streams in the file.
AVFormatContext * avformat_alloc_context(void)
Allocate an AVFormatContext.
int64_t av_rescale_q(int64_t a, AVRational bq, AVRational cq)
Rescale a 64-bit integer by 2 rational numbers.
static const AVClass rtp_mpegts_class
AVDictionary * metadata
Metadata that applies to the whole file.
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
void av_dict_free(AVDictionary **pm)
Free all the memory allocated for an AVDictionary struct and all keys and values. ...
static int rtp_mpegts_write_close(AVFormatContext *s)
unsigned int nb_streams
Number of elements in AVFormatContext.streams.
av_warn_unused_result int avformat_write_header(AVFormatContext *s, AVDictionary **options)
Allocate the stream private data and write the stream header to an output media file.
static int rtp_mpegts_write_packet(AVFormatContext *s, AVPacket *pkt)
static int write_trailer(AVFormatContext *s1)
static const AVOption options[]
ff_const59 struct AVOutputFormat * oformat
The output container format.
void ffio_free_dyn_buf(AVIOContext **s)
Free a dynamic buffer.
AVIOContext * pb
I/O context.
void av_packet_unref(AVPacket *pkt)
Wipe the packet.
Describe the class of an AVClass context structure.
ff_const59 AVOutputFormat * av_guess_format(const char *short_name, const char *filename, const char *mime_type)
Return the output format in the list of registered output formats which best matches the provided par...
void avformat_free_context(AVFormatContext *s)
Free an AVFormatContext and all its streams.
AVDictionary * mpegts_muxer_options
int avcodec_parameters_copy(AVCodecParameters *dst, const AVCodecParameters *src)
Copy the contents of src to dst.
FAKE codec to indicate a raw MPEG-2 TS stream (only used by libavformat)
void * priv_data
Format private data.
AVPacket * av_packet_alloc(void)
Allocate an AVPacket and set its fields to default values.
static void write_header(FFV1Context *f)
int64_t dts
Decompression timestamp in AVStream->time_base units; the time at which the packet is decompressed...
int av_write_trailer(AVFormatContext *s)
Write the stream trailer to an output media file and free the file private data.
AVFormatContext * mpegts_ctx
AVCodecParameters * codecpar
Codec parameters associated with this stream.
AVRational time_base
This is the fundamental unit of time (in seconds) in terms of which frame timestamps are represented...
Filter the word “frame” indicates either a video frame or a group of audio as stored in an AVFrame structure Format for each input and each output the list of supported formats For video that means pixel format For audio that means channel sample they are references to shared objects When the negotiation mechanism computes the intersection of the formats supported at each end of a all references to both lists are replaced with a reference to the intersection And when a single format is eventually chosen for a link amongst the remaining all references to the list are updated That means that if a filter requires that its input and output have the same format amongst a supported all it has to do is use a reference to the same list of formats query_formats can leave some formats unset and return AVERROR(EAGAIN) to cause the negotiation mechanism toagain later.That can be used by filters with complex requirements to use the format negotiated on one link to set the formats supported on another.Frame references ownership and permissions
This structure stores compressed data.
AVFormatContext * rtp_ctx
int64_t pts
Presentation timestamp in AVStream->time_base units; the time at which the decompressed packet will b...
#define AV_NOPTS_VALUE
Undefined timestamp value.