Что означает код HRESULT 0xC00D4E26 (MF_E_NO_VIDEO_SAMPLE_AVAILABLE)?

 
Предыдущий Следующий
MF_E_NEW_VIDEO_DEVICE MF_E_NO_AUDIO_PLAYBACK_DEVICE

MF_E_NO_VIDEO_SAMPLE_AVAILABLE

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

MF_E_NO_VIDEO_SAMPLE_AVAILABLE (0xC00D4E26) — В потоке, необходимом для микширования, сейчас нет видеобразца в очереди.

EVR (Enhanced Video Renderer) смешивает кадры нескольких входных потоков. Этот HRESULT означает, что для требуемого потока в нужный момент нет подготовленного видеосэмпла; это не утверждение, что видеодекодер вообще перестал работать.

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

Запишите идентификаторы потоков, события запроса видеосэмпла, временные метки и каждый успешный ProcessSample. Определите, отсутствует кадр опорного или одного из дополнительных потоков: для микшера это разные роли, и видеосэмпл другого потока не заменяет пропущенный.

Проверьте переходы позиционирования, очистки очередей, смены устройства и конца потока: после них одна ветка может перестать пополнять очередь, хотя остальные продолжают работать. Ищите первый разрыв последовательности «запрос видеосэмпла → доставка видеосэмпла».

Исправление подтверждается восстановлением подачи кадров именно в требуемый поток с корректными временными метками, а не добавлением лишних кадров в соседнюю ветку.

Документация для результата 0xC00D4E26: EVR mixer and reference-stream timing · IMFStreamSink::ProcessSample · custom EVR mixers.


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