在“ AVIOContext”结构中,有关“ write_packet()/ seek()”回调函数的return val是什么意思?

时间:2019-02-12 07:08:24

标签: ffmpeg libav

我正在使用libav编写多路复用器DirectShow过滤器,我需要将多路复用器的输出重定向到过滤器的输出引脚,因此我使用avio_alloc_context()write_packetseek回调创建AVIOContext函数,这两个函数定义如下:

int (*write_packet)(void *opaque, uint8_t *buf, int buf_size)
int64_t (*seek)(void *opaque, int64_t offset, int whence)

我可以理解这些函数的输入参数的含义,但是返回的含义是什么?是真的写了字节吗?

1 个答案:

答案 0 :(得分:0)

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

写入的字节数。负值表示错误。

int64_t (*seek)(void *opaque, int64_t offset, int whence)

从输出文件的开头开始,通过查找调用获得的偏移量的位置(以字节为单位)。负值表示错误。