| Предыдущий | Следующий |
| 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.
Нужно найти другой код? Найти другой код состояния или ошибки.
