Что означает код HRESULT 0xC00D3E9C (MF_E_MEDIA_SOURCE_NO_STREAMS_SELECTED)?

 
Предыдущий Следующий
MF_E_MEDIA_SOURCE_WRONGSTATE MF_E_CANNOT_FIND_KEYFRAME_SAMPLE

MF_E_MEDIA_SOURCE_NO_STREAMS_SELECTED

Что означает MF_E_MEDIA_SOURCE_NO_STREAMS_SELECTED

MF_E_MEDIA_SOURCE_NO_STREAMS_SELECTED (0xC00D3E9C) — В дескрипторе представления источника не выбран ни один поток.

Код относится к дескриптору представления источника, а не к поиску кодека. В дескрипторе для каждого потока хранится собственный дескриптор потока и признак выбора; источник выдаёт данные только для потоков, выбранных к моменту запуска.

Что проверить и как подтвердить исправление

Перед IMFMediaSource::Start получите актуальный IMFPresentationDescriptor и убедитесь, что выбран хотя бы один действительно существующий поток. Если приложение создаёт или изменяет дескриптор само, проверьте индексы потоков и результат SelectStream.

Установка другого декодера не исправляет полностью снятый выбор потоков: источник просто не получает команды производить медиаданные. Исправление подтверждается выбранным потоком в дескрипторе и последующими событиями и сэмплами этого потока после запуска.

Документация для результата 0xC00D3E9C: presentation descriptors · CreatePresentationDescriptor · custom media source stream selection.


Нужно найти другой код? Найти другой код состояния или ошибки.