Defined in avformat.h
typedef struct AVStream { int index; /**< stream index in AVFormatContext */ int id; /**< format specific stream id */ AVCodecContext *codec; /**< codec context */ /** * real base frame rate 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 timebase is 1/90000 and all frames have either * approximately 3600 or 1800 timer ticks then r_frame_rate will be 50/1 */ AVRational r_frame_rate; void *priv_data; #if LIBAVFORMAT_VERSION_INT < (52<<16) /* internal data used in av_find_stream_info() */ int64_t codec_info_duration; int codec_info_nb_frames; #endif /** encoding: PTS generation when outputing stream */ AVFrac pts; /** * this is the fundamental unit of time (in seconds) in terms * of which frame timestamps are represented. for fixed-fps content, * timebase should be 1/framerate and timestamp increments should be * identically 1. */ AVRational time_base; int pts_wrap_bits; /**< number of bits in pts (used for wrapping control) */ /* ffmpeg.c private use */ int stream_copy; /**< if set, just copy stream */ enum AVDiscard discard; ///< selects which packets can be discarded at will and do not need to be demuxed //FIXME move stuff to a flags field? /** quality, as it has been removed from AVCodecContext and put in AVVideoFrame * MN: dunno if that is the right place for it */ float quality; /** decoding: pts of the first frame of the stream, in stream time base. */ int64_t start_time; /** decoding: duration of the stream, in stream time base. */ int64_t duration; char language[4]; /** ISO 639 3-letter language code (empty string if undefined) */ /* av_read_frame() support */ enum AVStreamParseType need_parsing; struct AVCodecParserContext *parser; int64_t cur_dts; int last_IP_duration; int64_t last_IP_pts; /* av_seek_frame() support */ AVIndexEntry *index_entries; /**< only used if the format does not support seeking natively */ int nb_index_entries; unsigned int index_entries_allocated_size; int64_t nb_frames; ///< number of frames in this stream if known or 0 #define MAX_REORDER_DELAY 4 int64_t pts_buffer[MAX_REORDER_DELAY+1]; } AVStream;
Back to ffmpeg