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