Что означает код HRESULT 0xC00D1BA5 (NS_E_ACTIVE_SG_DEVICE_DISCONNECTED)?

 
Предыдущий Следующий
NS_E_NO_PAL_INVERSE_TELECINE NS_E_ACTIVE_SG_DEVICE_CONTROL_DISCONNECTED

NS_E_ACTIVE_SG_DEVICE_DISCONNECTED

Как интерпретировать код в реальном сеансе кодирования

0xC00D1BA5 имеет имя NS_E_ACTIVE_SG_DEVICE_DISCONNECTED. Его практическая область — удаление или недоступность устройства захвата, используемого активной группой источников; это относится к видеозахвату и согласованию компрессора, а не ко всем компонентам воспроизведения Windows Media или Windows.

Механизм и точка сбоя

В сеансе, возвращающем NS_E_ACTIVE_SG_DEVICE_DISCONNECTED, живой видеоисточник проходит открытие устройства, согласование формата захвата, необязательное кадрирование и настройку окна предварительного просмотра, прежде чем кодек Encoder начнёт принимать кадры. К этой границе в контрольной точке отключение активного устройства SG относятся ширина, высота, формат пикселей и состояние драйвера.

Наличие устройства в результатах перечисления или получение кадра предварительного просмотра не доказывает, что запрошенный формат захвата может непрерывно передаваться кодировщику в сеансе, возвращающем NS_E_ACTIVE_SG_DEVICE_DISCONNECTED. Типичный способ воспроизведения: USB-устройство захвата отключают во время кодирования. Поэтому для NS_E_ACTIVE_SG_DEVICE_DISCONNECTED первый результат Encoder ценнее более позднего общего сообщения.

Матрица воспроизведения

ПолеЧто сохранить
Решающие значенияидентификатор экземпляра устройства, уведомление об удалении, время последнего образца и идентификатор активной группы источников
Объект, вернувший ошибкумоникер устройства, версия драйвера, запрошенные и собственные ширина и высота, частота кадров, сжатие и разрядность BITMAPINFOHEADER, состояние предварительного просмотра, результат подключаемого модуля источника и первая ошибка драйвера
Связь с сеансомто же поколение группы источников, индекс аудитории, идентификатор объекта и последовательность обратных вызовов, которые привели к NS_E_ACTIVE_SG_DEVICE_DISCONNECTED
Данные нижнего уровняпервый HRESULT COM, драйвера, файловой системы или кодека, полученный до того, как Encoder сопоставил условие с NS_E_ACTIVE_SG_DEVICE_DISCONNECTED
Контролируемое сравнениезаведомо рабочий сеанс, в котором изменён только параметр, указанный границей отключение активного устройства SG

Матрица диагностических данных

НаблюдениеКак его интерпретировать
Наблюдение подтверждает этот результатРешающими данными являются идентификатор экземпляра устройства, уведомление об удалении, время последнего образца и идентификатор активной группы источников. Они подтверждают удаление или недоступность устройства захвата, используемого активной группой источников, в том же поколении объекта.
Наблюдение указывает на более ранний сбойЗафиксированные значения удовлетворяют правилу отключение активного устройства SG, но источник, драйвер, активация COM или файловая операция раньше возвращает другой HRESULT.
Наблюдение указывает на более поздний сбойEncoder проходит эту границу — удаление или недоступность устройства захвата, используемого активной группой источников, — но затем на следующей стадии происходит сбой кодека, архива или приёмника трансляции.
Проверка после исправленияВнесите одно изолированное изменение: восстановите то же устройство либо остановите и пересоздайте группу с доступным источником. После этого исходный вызов отключение активного устройства SG должен пройти ту же контрольную точку.

Практическое влияние NS_E_ACTIVE_SG_DEVICE_DISCONNECTED ограничено переходом видеозахвата и согласования компрессора, которому принадлежит удаление или недоступность устройства захвата, используемого активной группой источников. Само по себе NS_E_ACTIVE_SG_DEVICE_DISCONNECTED не доказывает, что повреждены все входные данные, отсутствуют все кодеки или полностью неработоспособна установка Windows Media. В показательном случае, когда USB-устройство захвата отключают во время кодирования, сохраните первый сбойный вызов и идентификатор его объекта, чтобы последующая оболочка не заменила данные отключение активного устройства SG.

Минимальный эксперимент

  1. Зафиксируйте 0xC00D1BA5, NS_E_ACTIVE_SG_DEVICE_DISCONNECTED, версию Encoder и точный вызов API или обращение к свойству, вернувшее ошибку.
  2. Экспортируйте текущую конфигурацию .wme или .prx, затем сохраните идентификатор экземпляра устройства, уведомление об удалении, время последнего образца и идентификатор активной группы источников.
  3. Для NS_E_ACTIVE_SG_DEVICE_DISCONNECTED проверьте предварительное условие видеозахвата и согласования компрессора, не меняя одновременно источник, профиль и выходной приёмник.
  4. Выполните одно контролируемое сравнение, изменив только это условие: восстановите то же устройство либо остановите и пересоздайте группу с доступным источником.
  5. После изменения пересоздайте затронутый объект Encoder, а не предполагайте, что существующий граф отбросил прежнее состояние отключение активного устройства SG.

Не объединяйте следующие результаты

РезультатПочему это другая граница
NS_E_UNEXPECTED_DISPLAY_SETTINGSсеанс захвата экрана обнаруживает изменение геометрии дисплея или глубины цвета после настройки
NS_E_UNSUPPORTED_ENCODER_DEVICEоткрытие перечисляемого устройства, которое не поддерживается подключаемым модулем источника Encoder
NS_E_NO_DATAVIEW_SUPPORTзапрос данных панели Encoder Video у источника или выходного пути, не способного предоставлять образцы предварительного просмотра

Что изменить, а что оставить без изменений

Измените минимальное ответственное предварительное условие: восстановите то же устройство либо остановите и пересоздайте группу с доступным источником. При повторной проверке NS_E_ACTIVE_SG_DEVICE_DISCONNECTED сохраняйте неизменными все не связанные параметры источника, аудитории и выхода до повторения того же вызова.

После сохранения первой ошибки не продолжайте повторно обращаться к нестабильному драйверу захвата в том же процессе; закройте граф и проверьте один заведомо собственный формат в новом процессе в сеансе, возвращающем NS_E_ACTIVE_SG_DEVICE_DISCONNECTED.

Авторитетная документация для NS_E_ACTIVE_SG_DEVICE_DISCONNECTED


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