Класс Aurora::StreamCamera::VideoDecoder
Видеодекодер. Подробнее…
| Подключение: | #include <streamcamera.h> |
Публичные функции
~VideoDecoder() = default |
|
bool |
decode(const uint8_t * data,size_t size, uint64_t timestampUs, FrameType frameType, void(*)(void *) releaseCallback, void * releaseCallbackData) |
void |
drain() |
void |
flush() |
std::string |
getParameter(VideoDecoderParameter param) const |
std::string |
getParameterRange(VideoDecoderParameter param) const |
std::vector< PixelFormat > |
getSupportedPixelFormats() |
bool |
init(VideoDecoderMetadata metadata) |
void |
setListener(VideoDecoderListener * listener) |
bool |
setParameter(VideoDecoderParameter param, const std::string & value) |
void |
stop() |
Защищенные данные
VideoDecoderListener* |
m_decoderListener |
Подробное описание
Видеодекодер.
Деструктор
~VideoDecoder() = default
Описание методов
bool decode(const uint8_t * data,size_t size, uint64_t timestampUs, FrameType frameType, void(*)(void *) releaseCallback, void * releaseCallbackData)
Декодирует видеокадр.
Может блокировать, если очередь кодеков заполнена, поэтому может вызываться из отдельного потока.
Аргументы
- [in]
data— указатель на закодированный видеоблок. - [in]
size— размер закодированного видеоблока. - [in]
timestampUs— временная метка видеокадра. - [in]
releaseCallback— метод вызывается, когда данные в памяти больше не нужны. - [in]
releaseCallbackData— параметрreleaseCallback.
void drain()
Сбрасывает очередь видеодекодера.
void flush()
Очищает очередь видеодекодера.
std::string getParameter(VideoDecoderParameter param) const
Возвращает текущее значение параметра.
Аргументы
- [in]
param— индекс параметра.
Возвращает
Синтаксис возвращаемого значения для getParameter():
- "v";
- "(x,y,w,h)" для прямоугольника;
- пустая строка, если возникает ошибка.
std::string getParameterRange(VideoDecoderParameter param) const
Возвращает возможные значения параметра.
Аргументы
- [in]
param— индекс параметра.
Возвращает
Синтаксис возвращаемого значения:
- "v1,v2,v3" для возможного набора значений, например "1,2" или "false,true";
- "v1-v10" для непрерывного значения, например "1-10" или "0,0-1,0" для значений с плавающей точкой;
- "v1,v2-v10" для дискретного значения;
- "-" для значения только для чтения;
- "x" для прямоугольника (значение "(x,y,w,h)");
- пустая строка, если возникает ошибка.
См. также
std::vector< PixelFormat > getSupportedPixelFormats()
Список поддерживаемых форматов пикселей.
Список отсортирован по предпочтениям кодека.
Возвращает
Список поддерживаемых форматов пикселей или пустой список в случае возникновения ошибки.
bool init(VideoDecoderMetadata)
Инициализирует видеокодер.
После вызова метода декодер может использовать закодированные видеокадры.
Последующие вызовы VideoDecoder::init() завершатся ошибкой.
Уничтожает объект декодера, чтобы остановить видеодекодер и сгенерировать событие конца потока.
Возвращает
True, если видеодекодер успешно инициализирован.
void setListener(VideoDecoderListener * listener)
Установить обратные вызовы.
Аргументы
- [in]
listener— объект с обратными вызовами.
bool setParameter(VideoDecoderParameter param, const std::string & value)
Устанавливает значение параметра.
Аргументы
- [in]
param— индекс параметра. - [in]
value:- "v" для дискретного или непрерывного значения;
- "(x,y,w,h)" для прямоугольника.
Возвращает
True означает, что значение принято.
void stop()
Останавливает декодер.
Поля
VideoDecoderListener * m_decoderListener
Используется в setListener().