FFmpeg
Public Types | Data Fields
FFFormatContext Struct Reference

#include <internal.h>

Public Types

enum  { AVOID_NEGATIVE_TS_DISABLED = -1, AVOID_NEGATIVE_TS_UNKNOWN = 0, AVOID_NEGATIVE_TS_KNOWN = 1 }
 Whether the timestamp shift offset has already been determined. More...
 

Data Fields

AVFormatContext pub
 The public context. More...
 
int nb_interleaved_streams
 Number of streams relevant for interleaving. More...
 
enum FFFormatContext:: { ... }  avoid_negative_ts_status
 Whether the timestamp shift offset has already been determined. More...
 
int(* interleave_packet )(struct AVFormatContext *s, AVPacket *pkt, int flush, int has_packet)
 The interleavement function in use. More...
 
PacketList packet_buffer
 This buffer is only needed when packets were already buffered but not decoded, for example to get the codec parameters in MPEG streams. More...
 
int64_t data_offset
 offset of the first packet More...
 
PacketList raw_packet_buffer
 Raw packets from the demuxer, prior to parsing and decoding. More...
 
PacketList parse_queue
 Packets split by the parser get queued here. More...
 
AVPacketparse_pkt
 The generic code uses this as a temporary packet to parse packets or for muxing, especially flushing. More...
 
AVPacketpkt
 Used to hold temporary packets for the generic demuxing code. More...
 
int raw_packet_buffer_size
 Sum of the size of packets in raw_packet_buffer, in bytes. More...
 
int avoid_negative_ts_use_pts
 
int initialized
 Whether or not avformat_init_output has already been called. More...
 
int streams_initialized
 Whether or not avformat_init_output fully initialized streams. More...
 
AVDictionaryid3v2_meta
 ID3v2 tag useful for MP3 demuxing. More...
 
int prefer_codec_framerate
 
int chapter_ids_monotonic
 Set if chapter ids are strictly monotonic. More...
 
int metafree
 Contexts and child contexts do not contain a metadata option. More...
 

Detailed Description

Definition at line 64 of file internal.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

Whether the timestamp shift offset has already been determined.

-1: disabled, 0: not yet determined, 1: determined.

Enumerator
AVOID_NEGATIVE_TS_DISABLED 
AVOID_NEGATIVE_TS_UNKNOWN 
AVOID_NEGATIVE_TS_KNOWN 

Definition at line 80 of file internal.h.

Field Documentation

◆ pub

AVFormatContext FFFormatContext::pub

The public context.

Definition at line 68 of file internal.h.

Referenced by avformat_alloc_context(), and handle_avoid_negative_ts().

◆ nb_interleaved_streams

int FFFormatContext::nb_interleaved_streams

Number of streams relevant for interleaving.

Muxing only.

Definition at line 74 of file internal.h.

Referenced by ff_interleave_packet_per_dts(), and init_muxer().

◆ avoid_negative_ts_status

enum { ... } FFFormatContext::avoid_negative_ts_status

Whether the timestamp shift offset has already been determined.

-1: disabled, 0: not yet determined, 1: determined.

Referenced by handle_avoid_negative_ts(), init_pts(), and webm_chunk_init().

◆ interleave_packet

int(* FFFormatContext::interleave_packet) (struct AVFormatContext *s, AVPacket *pkt, int flush, int has_packet)

The interleavement function in use.

Always set for muxers.

Definition at line 90 of file internal.h.

Referenced by init_muxer(), and interleaved_write_packet().

◆ packet_buffer

PacketList FFFormatContext::packet_buffer

This buffer is only needed when packets were already buffered but not decoded, for example to get the codec parameters in MPEG streams.

Definition at line 98 of file internal.h.

Referenced by av_read_frame(), avformat_find_stream_info(), compute_pkt_fields(), ff_flush_packet_queue(), ff_interleave_add_packet(), ff_interleave_packet_per_dts(), ff_interleaved_peek(), get_next_pkt(), handle_avoid_negative_ts(), mxf_interleave_get_packet(), update_initial_durations(), and update_initial_timestamps().

◆ data_offset

int64_t FFFormatContext::data_offset

◆ raw_packet_buffer

PacketList FFFormatContext::raw_packet_buffer

Raw packets from the demuxer, prior to parsing and decoding.

This buffer is used for buffering packets until the codec can be identified, as parsing cannot be done without knowing the codec.

Definition at line 109 of file internal.h.

Referenced by avformat_queue_attached_pictures(), ff_flush_packet_queue(), ff_read_packet(), and handle_new_packet().

◆ parse_queue

PacketList FFFormatContext::parse_queue

Packets split by the parser get queued here.

Definition at line 113 of file internal.h.

Referenced by compute_pkt_fields(), ff_flush_packet_queue(), get_next_pkt(), parse_packet(), read_frame_internal(), update_initial_durations(), and update_initial_timestamps().

◆ parse_pkt

AVPacket* FFFormatContext::parse_pkt

The generic code uses this as a temporary packet to parse packets or for muxing, especially flushing.

For demuxers, it may also be used for other means for short periods that are guaranteed not to overlap with calls to av_read_frame() (or ff_read_packet()) or with each other. It may be used by demuxers as a replacement for stack packets (unless they call one of the aforementioned functions with their own AVFormatContext). Every user has to ensure that this packet is blank after using it.

Definition at line 127 of file internal.h.

Referenced by asf_read_header(), av_write_frame(), av_write_trailer(), avformat_alloc_context(), avformat_free_context(), extract_extradata(), flac_read_timestamp(), parse_packet(), and write_uncoded_frame_internal().

◆ pkt

AVPacket* FFFormatContext::pkt

Used to hold temporary packets for the generic demuxing code.

When muxing, it may be used by muxers to hold packets (even permanent ones).

Definition at line 134 of file internal.h.

Referenced by amv_init(), av_write_trailer(), avformat_alloc_context(), avformat_find_stream_info(), avformat_free_context(), avi_write_header(), estimate_timings_from_pts(), flac_queue_flush(), mkv_init(), mov_init(), mp3_queue_flush(), mpegts_init(), seek_frame_generic(), tee_write_packet(), tta_queue_flush(), webp_init(), and write_muxed_file().

◆ raw_packet_buffer_size

int FFFormatContext::raw_packet_buffer_size

Sum of the size of packets in raw_packet_buffer, in bytes.

Definition at line 138 of file internal.h.

Referenced by avformat_open_input(), ff_flush_packet_queue(), ff_read_packet(), handle_new_packet(), and probe_codec().

◆ avoid_negative_ts_use_pts

int FFFormatContext::avoid_negative_ts_use_pts

Definition at line 148 of file internal.h.

Referenced by handle_avoid_negative_ts(), mkv_init(), mkv_write_track(), and webm_chunk_init().

◆ initialized

int FFFormatContext::initialized

Whether or not avformat_init_output has already been called.

Definition at line 160 of file internal.h.

Referenced by avformat_free_context(), avformat_init_output(), avformat_write_header(), and deinit_muxer().

◆ streams_initialized

int FFFormatContext::streams_initialized

Whether or not avformat_init_output fully initialized streams.

Definition at line 165 of file internal.h.

Referenced by avformat_init_output(), avformat_write_header(), and deinit_muxer().

◆ id3v2_meta

AVDictionary* FFFormatContext::id3v2_meta

ID3v2 tag useful for MP3 demuxing.

Definition at line 170 of file internal.h.

Referenced by avformat_free_context(), avformat_open_input(), and mp3_read_header().

◆ prefer_codec_framerate

int FFFormatContext::prefer_codec_framerate

Definition at line 175 of file internal.h.

Referenced by avformat_find_stream_info(), and mpegts_read_header().

◆ chapter_ids_monotonic

int FFFormatContext::chapter_ids_monotonic

Set if chapter ids are strictly monotonic.

Definition at line 180 of file internal.h.

Referenced by avpriv_new_chapter().

◆ metafree

int FFFormatContext::metafree

Contexts and child contexts do not contain a metadata option.

Definition at line 185 of file internal.h.

Referenced by read_frame_internal().


The documentation for this struct was generated from the following file: