Класс 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, если кодировщик поддерживается.