Что означает код HRESULT 0x80040296 (VFW_E_VMR_NOT_IN_MIXER_MODE)?

 
Предыдущий Следующий
VFW_E_CERTIFICATION_FAILURE VFW_E_VMR_NO_AP_SUPPLIED

VFW_E_VMR_NOT_IN_MIXER_MODE

Практический смысл

VFW_E_VMR_NOT_IN_MIXER_MODE (0X80040296) относится к DirectShow. Это failure HRESULT. Исходный признак результата зафиксирован в документации как The VMR has not yet created a mixing component. That is, IVMRFilterConfig::SetNumberofStreams has not yet been called.

Практическая проверка начинается на владельце операции: зафиксируйте exact method, object identity и состояние до любых retry, reset или re-enumeration. Для этой страницы ключевая граница формулируется так: a mixer-specific VMR method is called before SetNumberOfStreams has created and enabled the mixing component.

Специфичные признаки исходного описания

  • AllStat: “The VMR has not yet created a mixing component. That is, IVMRFilterConfig::SetNumberofStreams has not yet been called”.
  • a mixer-specific VMR method is called before SetNumberOfStreams has created and enabled the mixing component.
  • Cause 1 for this result: the application assumes the VMR starts in mixer mode.
  • Cause 2 for this result: configuration occurs after input pins are connected.
  • Cause 3 for this result: a renderer rebuild loses the prior stream-count setting.
  • Action 1 for this result: configure the VMR before connecting its inputs.

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

  • interface и method, на котором впервые появился HRESULT
  • CLSID и friendly name задействованных filters, pin names и negotiated media type
  • graph state/generation, renderer или capture device и первый предшествующий HRESULT
  • временные метки media sample, rate/clock state и фактические параметры вызова

Как локализовать границу

Проверяйте filter graph, negotiated media type, timing и состояние конкретного interface, а не наличие codec вообще. Сначала воспроизведите минимальный сценарий без параллельного изменения конфигурации; затем сравните сохранённые параметры с условием из исходного описания. Если состояние исчезает после re-enumeration или пересоздания объекта, отдельно проверьте lifetime/generation race.

Исправление и повторная проверка

Повтор безопасен только после изменения входа, capability, состояния или object generation; простой цикл retry без новой причины не считается исправлением.

Дополнительные признаки конкретного сценария

  • Evidence 1 for this result: VMR-7 or VMR-9 identity.
  • Action 1 for this result: configure the VMR before connecting its inputs.
  • Evidence 3 for this result: input connection order and current stream count.

Технические ссылки


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