typedef struct AVStream
{
//指向解码器context,用于关联解码器
AVCodecContext *actx;
//codec解析器,每一种编码器在进行压缩时都会对实际负载数据进行封装,加//入头信息,如h264,需要解析nal单元,关联通过avav_find_stream_info()
struct AVCodecParserContext *parser;
//指向解复用的流的context,比如mp4的MovStreamcontext
void *priv_data;
AVRational time_base;
//用于seek时使用,用于快速索引关键帧,如flv的keyframes索引表和mp4的I
//帧的索引表都存于此,很重要
AVIndexEntry *index_entries;
//index_entries的元素的个数
int nb_index_entries;
int index_entries_allocated_size;
double frame_last_delay;
} AVStream;
说明:
AVStream 结构表示当前媒体流的上下文,着重于所有媒体流共有的属性(并且是在程序运行时才能确定其值)和关联其他结构的字段。actx 字段关联当前音视频媒体使用的编解码器的context;priv_data 字段关联解析各个具体媒体流解复用拆包用的context;还有关键帧的索引表也存于此。