AVStream

Stream structure. New fields can be added to the end with minor version bumps. Removal, reordering and changes to existing fields require a major version bump. sizeof(AVStream) must not be used outside libav*.

Members

Variables

attached_pic
AVPacket attached_pic;

For streams with AV_DISPOSITION_ATTACHED_PIC disposition, this packet will contain the attached picture.

avg_frame_rate
AVRational avg_frame_rate;

Average framerate

codec
AVCodecContext* codec;

@deprecated use the codecpar struct instead

codec_info_nb_frames
int codec_info_nb_frames;

Number of frames that have been demuxed during avformat_find_stream_info()

codecpar
AVCodecParameters* codecpar;

Codec parameters associated with this stream. Allocated and freed by libavformat in avformat_new_stream() and avformat_free_context() respectively.

cur_dts
long cur_dts;
Undocumented in source.
discard
AVDiscard discard;

< Selects which packets can be discarded at will and do not need to be demuxed.

disposition
int disposition;

< AV_DISPOSITION_* bit field

duration
long duration;

Decoding: duration of the stream, in stream time base. If a source file does not specify a duration, but does specify a bitrate, this value will be estimated from bitrate and file size.

event_flags
int event_flags;

Flags indicating events happening on the stream, a combination of AVSTREAM_EVENT_FLAG_*.

first_dts
long first_dts;

Timestamp corresponding to the last dts sync point.

id
int id;

Format-specific stream ID. decoding: set by libavformat encoding: set by the user, replaced by libavformat if left unset

index
int index;

< stream index in AVFormatContext

index_entries
AVIndexEntry* index_entries;

< Only used if the format does not support seeking natively.

index_entries_allocated_size
uint index_entries_allocated_size;
Undocumented in source.
internal
AVStreamInternal* internal;

An opaque field for libavformat internal usage. Must not be accessed in any way by callers.

last_IP_duration
int last_IP_duration;
Undocumented in source.
last_IP_pts
long last_IP_pts;
Undocumented in source.
metadata
AVDictionary* metadata;
Undocumented in source.
nb_frames
long nb_frames;

< number of frames in this stream if known or 0

nb_index_entries
int nb_index_entries;
Undocumented in source.
nb_side_data
int nb_side_data;

The number of elements in the AVStream.side_data array.

need_parsing
AVStreamParseType need_parsing;
Undocumented in source.
parser
AVCodecParserContext* parser;
Undocumented in source.
priv_data
void* priv_data;
Undocumented in source.
probe_packets
int probe_packets;

Number of packets to buffer for codec probing

pts_wrap_bits
int pts_wrap_bits;

< number of bits in pts (used for wrapping control)

r_frame_rate
AVRational r_frame_rate;

Real base framerate of the stream. This is the lowest framerate with which all timestamps can be represented accurately (it is the least common multiple of all framerates in the stream). Note, this value is just a guess! For example, if the time base is 1/90000 and all frames have either approximately 3600 or 1800 timer ticks, then r_frame_rate will be 50/1.

recommended_encoder_configuration
char* recommended_encoder_configuration;

String containing pairs of key and values describing recommended encoder configuration. Pairs are separated by ','. Keys are separated from values by '='.

sample_aspect_ratio
AVRational sample_aspect_ratio;

sample aspect ratio (0 if unknown) - encoding: Set by user. - decoding: Set by libavformat.

side_data
AVPacketSideData* side_data;

An array of side data that applies to the whole stream (i.e. the container does not allow it to change between packets).

start_time
long start_time;

Decoding: pts of the first frame of the stream in presentation order, in stream time base. Only set this if you are absolutely 100% sure that the value you set it to really is the pts of the first frame. This may be undefined (AV_NOPTS_VALUE). @note The ASF header does NOT contain a correct start_time the ASF demuxer must NOT set this.

stream_identifier
int stream_identifier;

Stream Identifier This is the MPEG-TS stream identifier +1 0 means unknown

time_base
AVRational time_base;

This is the fundamental unit of time (in seconds) in terms of which frame timestamps are represented.

unused
void* unused;

All fields below this line are not part of the public API. They may not be used outside of libavformat and can be changed and removed at will. Internal note: be aware that physically removing these fields will break ABI. Replace removed fields with dummy fields, and add new fields to AVStreamInternal. ****************************************************************

unused10
int unused10;
Undocumented in source.
unused5
long[17] unused5;
Undocumented in source.
unused6
AVProbeData unused6;
Undocumented in source.
unused7
void* unused7;
Undocumented in source.
unused8
int unused8;
Undocumented in source.
unused9
int unused9;
Undocumented in source.

Meta