Класс Aurora::StreamCamera::CodecManager
Диспетчер кодеков. Подробнее…
Подключение: | #include <streamcamera.h> |
Публичные функции
~CodecManager () = default |
|
std::shared_ptr< VideoDecoder > |
createVideoDecoder (CodecType codecType, bool hwOnly) |
virtual std::shared_ptr< VideoDecoder > |
createVideoDecoderById (const std::string &id)=0 |
std::shared_ptr< VideoEncoder > |
createVideoEncoder (CodecType codecType, bool hwOnly) |
virtual std::shared_ptr< VideoEncoder > |
createVideoEncoderById (const std::string &id)=0 |
bool |
init () |
virtual bool |
isCodecIdAvailable (const std::string &id) const =0 |
virtual std::vector< VideoCodecInfo > |
listCodecs () const =0 |
bool |
videoDecoderAvailable (CodecType codecType, bool hwOnly) |
bool |
videoEncoderAvailable (CodecType codecType, bool hwOnly) |
Подробное описание
Диспетчер кодеков.
Деструктор
~CodecManager() = default
Описание методов
std::shared_ptr< VideoDecoder > createVideoDecoder(CodecType codecType, bool hwOnly)
Создаёт декодер видео.
Возвращает доступный декодер с наивысшим приоритетом для выбранного codecType
.
Может вернуть nullptr, если все подходящие кодеки заняты.
Аргументы
- [in]
codecType
— тип кодека. - [in]
hwOnly
— не использовать программные кодеки.
Возвращает
Ссылка на недавно выделенный кодек.
virtual std::shared_ptr< VideoDecoder > createVideoDecoderById(const std::string &id)=0
Создаёт декодер видео по ID.
Аргументы
- [in]
id
— Идентификатор кодека.
Возвращает
nullptr
, если нет доступных экземпляров кодека.
std::shared_ptr< VideoEncoder > createVideoEncoder(CodecType codecType, bool hwOnly)
Создаёт видеокодер.
Возвращает доступный кодировщик с наивысшим приоритетом для выбранного codecType
.
Может вернуть nullptr
, если все подходящие кодеки заняты.
Аргументы
- [in]
codecType
— тип кодека. - [in]
hwOnly
— не использовать программные кодеки.
Возвращает
Ссылка на недавно выделенный кодек.
virtual std::shared_ptr<VideoEncoder> Aurora::StreamCamera::CodecManager::createVideoEncoderById(const std::string & id)
Создаёт кодировщик видео по ID.
Аргументы
- [in]
id
— идентификатор кодека.
Возвращает
nullptr
, если нет доступных экземпляров кодека.
bool init()
(Повторно) инициализирует диспетчер камеры.
Метод можно использовать для поиска новых кодеков. На данный момент не используется.
virtual bool Aurora::StreamCamera::CodecManager::isCodecIdAvailable(const std::string & id) const
Проверяет, доступен ли идентификатор кодека.
Аргументы
- [in]
id
— идентификатор кодека.
Возвращает
False
, если нет доступных экземпляров кодека.
virtual std::vector<VideoCodecInfo> Aurora::StreamCamera::CodecManager::listCodecs() const
Перечисляет доступные кодеки.
Возвращает
Список поддерживаемых кодеков, отсортированный по приоритету в порядке убывания.
bool videoDecoderAvailable(CodecType codecType, bool hwOnly)
Проверяет, поддерживается ли декодер.
Может вернуть false
, если все подходящие кодеки заняты.
Аргументы
- [in]
codecType
— тип кодека. - [in]
hwOnly
— не использовать программные кодеки.
Возвращает
True
, если декодер поддерживается.
bool videoEncoderAvailable(CodecType codecType, bool hwOnly)
Проверяет, поддерживается ли кодировщик.
Может вернуть false
, если все подходящие кодеки заняты.
Аргументы
- [in]
codecType
— тип кодека. - [in]
hwOnly
— не использовать программные кодеки.
Возвращает
True
, если кодировщик поддерживается.