| Предыдущий | Следующий |
| VFW_E_VMR_NO_PROCAMP_HW | VFW_E_NO_COPP_HW |
VFW_E_DVD_VMR9_INCOMPATIBLEDEC
Практический смысл
VFW_E_DVD_VMR9_INCOMPATIBLEDEC (0X8004029A) относится к DirectShow DVD Navigator. Конкретный признак: DVD decoder несовместим с VMR9. Смысл кода следует проверять на том объекте и generation, где он был возвращён впервые.
Это failure HRESULT; успешность следующего шага подтверждайте отдельным результатом, а не отсутствием исключения в верхнем слое. В первую очередь проверяйте DVD domain/navigation state, authored restrictions, decoder/renderer topology и текущую команду IDvdControl2. Не переносите вывод с соседнего HRESULT только потому, что у него тот же facility или общий компонент.
Специфичные признаки исходного описания
AllStat describes it as “VMR9 does not work with VPE-based hardware decoders”.
DVD state is authored and stateful: domains, user-operation controls, titles, menus, streams, command objects and graph construction each impose different preconditions.
Retry and recovery Retry rule for this result: Retry after changing decoder or renderer; reconnection cannot make VPE output compatible with VMR-9.
How it differs from nearby results VFW_E_VP_NEGOTIATION_FAILED concerns a failed video-port negotiation, while it identifies an inherently unsupported VPE-decoder and VMR-9 pairing.
Что сохранить до исправления
- текущий DVD_DOMAIN и последовательность domain-change событий
- title/chapter/menu/stream identity и user-operation flags
- decoder/renderer inventory, graph generation и первый HRESULT
Как проверить границу
Если состояние исчезает после повторной enumeration, отдельно проверьте race между получением объекта и вызовом метода. Для состояния «DVD decoder несовместим с VMR9» сначала воспроизведите минимальную операцию без параллельных изменений конфигурации, затем сравните before/after evidence.
Исправление и повтор
Исправляйте только подтверждённый prerequisite на уровне DirectShow DVD Navigator: входной параметр, capability, object state, provider/graph topology или внешний ресурс. После изменения заново получите актуальные объекты, если их состояние могло устареть, и повторите исходный минимальный вызов.
Проверка пары decoder и VMR-9
Здесь decoder присутствует, но его аппаратный VPE output несовместим именно с VMR-9. Зафиксируйте CLSID MPEG-2 decoder, выбранный renderer, способ аппаратного вывода и фактические соединения graph. Это принципиально отличается от VFW_E_DVD_DECNOTENOUGH, где decoder-компонента не хватает вообще, и от VFW_E_DVD_GRAPHNOTREADY, где обращение сделано слишком рано. Исправление — совместимая пара decoder/renderer или другой поддерживаемый output path.
Технические ссылки
- Microsoft: DirectShow error and success codes.
- Microsoft: Video Mixing Renderer 9.
- Microsoft: IDvdGraphBuilder.
Нужно найти другой код? Найти другой код состояния или ошибки.