您的位置:首页 > 其它

AVIOContext结构体

2016-06-23 13:36 197 查看
typedef struct ByteIOContext

{

//数据缓冲区

unsigned char *buffer;

    

//数据缓冲size

int buffer_size;

//数据读取标记指针

unsigned char *buf_ptr, *buf_end;

//该指针指向相应的URLContext,关联URLContext

void *opaque;

int (*read_packet)(void *opaque, uint8_t *buf, int buf_size);

int (*write_packet)(void *opaque, uint8_t *buf, int buf_size);

offset_t(*seek)(void *opaque, offset_t offset, int whence);

//当前buffer在文件中的位置

offset_t pos;  

//表示要进行seek,冲刷数据

int must_flush;  

//是否到达了文件末尾

int eof_reached; // true if eof reached

int write_flag;

int max_packet_size;

int error; // contains the error code or 0 if no error happened

} ByteIOContext;

说明:

ByteIOContext 结构扩展URLProtocol
结构成内部有缓冲机制的广泛意义上的文件,改善广义输入文件的IO性能。由其数据结构定义的字段可知,主要是缓冲区相关字段,标记字段,和一个关联字段opaque
来完成广义文件读写操作。opaque
关联字段用于关联URLContext
结构,间接关联并扩展URLProtocol
结构。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息