Что означает код HRESULT 0x80040253 (VFW_E_MONO_AUDIO_HW)?

 
Предыдущий Следующий
VFW_E_NO_TIME_FORMAT_SET VFW_E_NO_DECOMPRESSOR

VFW_E_MONO_AUDIO_HW

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

VFW_E_MONO_AUDIO_HW (0X80040253) относится к DirectShow. Это failure HRESULT. Исходный признак результата зафиксирован в документации как Cannot change balance because audio device is mono only.

Этот результат нужно связывать с первым нативным возвратом и фактическим состоянием объекта; соседний HRESULT того же facility не доказывает ту же причину. Для этой страницы ключевая граница формулируется так: IBasicAudio balance is changed on an output path whose hardware exposes only a mono channel.

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

  • AllStat: “Cannot change balance because audio device is mono only”.
  • IBasicAudio balance is changed on an output path whose hardware exposes only a mono channel.
  • Cause 1 for this result: the selected endpoint is physically mono.
  • Cause 2 for this result: a telephony or capture device reports one output channel.
  • Cause 3 for this result: the renderer fell back to a mono mode after device reconfiguration.
  • Action 1 for this result: disable the balance control for mono endpoints.

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

  • 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.

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

Если retry нужен, заново получите объекты, чья generation могла измениться, и не продолжайте работу с stale interface только потому, что предыдущий вызов завершился.

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

  • Evidence 1 for this result: active audio renderer and endpoint ID.
  • Action 3 for this result: present volume-only controls when left-right balance has no meaning.
  • Evidence 3 for this result: requested balance value and device-change event.

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


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