Что означает возвращаемый val о функциях обратного вызова write_packet () / seek () в структуре AVIOContext? - PullRequest
0 голосов
/ 12 февраля 2019

Я пишу DirectShow Filter мультиплексора с использованием libav, мне нужно перенаправить вывод мультиплексора на выходной контакт фильтра, поэтому я использую avio_alloc_context() для создания AVIOContext с моими функциями обратного вызова write_packet и seek, эти 2 функцииопределены ниже:

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

Я могу понять значение входных параметров этих функций, но в чем смысл их возврата?Значит ли это, что байты написаны на самом деле?

1 Ответ

0 голосов
/ 12 февраля 2019

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

Количество записанных байтов.Отрицательные значения указывают на ошибку.

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

Позиция смещения в байтах, достигнутого вызовом поиска, измеренная с начала выходного файла.Отрицательные значения указывают на ошибку.

...