我正在使用libav编写多路复用器DirectShow过滤器,我需要将多路复用器的输出重定向到过滤器的输出引脚,因此我使用avio_alloc_context()
和write_packet
和seek
回调创建AVIOContext函数,这两个函数定义如下:
int (*write_packet)(void *opaque, uint8_t *buf, int buf_size)
int64_t (*seek)(void *opaque, int64_t offset, int whence)
我可以理解这些函数的输入参数的含义,但是返回的含义是什么?是真的写了字节吗?
答案 0 :(得分:0)
int (*write_packet)(void *opaque, uint8_t *buf, int buf_size)
写入的字节数。负值表示错误。
int64_t (*seek)(void *opaque, int64_t offset, int whence)
从输出文件的开头开始,通过查找调用获得的偏移量的位置(以字节为单位)。负值表示错误。