Site icon EfmSoft

Что означает код HRESULT 0xC00D1B85 (NS_E_SOURCE_NOTSPECIFIED)?

 
Предыдущий Следующий
NS_E_ARCHIVE_SAME_AS_INPUT NS_E_NO_REALTIME_TIMECOMPRESSION

NS_E_SOURCE_NOTSPECIFIED

Где Encoder возвращает этот результат

0xC00D1B85 (NS_E_SOURCE_NOTSPECIFIED) диагностически значимое событие — финальная проверка группы источников обнаруживает не полностью настроенный источник. Для NS_E_SOURCE_NOTSPECIFIED важной диагностической границей является объект Encoder, проверяющий это состояние; более поздний диалог «не удаётся начать кодирование» может скрыть более точный источник.

Объектная модель Encoder объединяет аудио-, видео- и сценарные входы в IWMEncSourceGroup, назначает этой группе один профиль и запрашивает у подключаемого модуля источника медиаформат, пригодный для выбранных выходных потоков, в сеансе, который возвращает NS_E_SOURCE_NOTSPECIFIED.

Что уже успешно выполнено

Успешное создание COM-объектов не доказывает полноту группы источников; назначение профиля, обнаружение источника и согласование формата — более поздние контрольные точки в сеансе, возвращающем NS_E_SOURCE_NOTSPECIFIED. В показательном случае источник не указан объект аудиоисточника добавлен как заглушка, но ему так и не назначен вход. NS_E_SOURCE_NOTSPECIFIED следует проверять на объекте, сформировавшем ошибку, а не считать общим сбоем кодека или операционной системы.

Снимок состояния, который нужно сохранить

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

Как интерпретировать следующее наблюдение

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

Практическое влияние NS_E_SOURCE_NOTSPECIFIED ограничено этапом «группы источников, потоки и подключаемые модули», которому принадлежит условие «финальная проверка группы источников обнаруживает не полностью настроенный источник». Для NS_E_SOURCE_NOTSPECIFIED сам по себе этот результат не доказывает, что входные данные повреждены, кодеки отсутствуют или вся установка Windows Media неработоспособна. В показательном случае, когда объект аудиоисточника добавлен как заглушка, но ему так и не назначен вход, сохраните первый вызов, завершившийся ошибкой, и идентификатор его объекта, чтобы последующая ошибка интерфейса не заменила данные о границе «источник не указан».

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

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

Близкие HRESULT с другим смыслом

РезультатПочему это другая граница
NS_E_NOSOURCEGROUPSзапуск сеанса Encoder с пустой коллекцией группа источников
NS_E_INPUTSOURCE_PROBLEMсводная проверка группа источников сообщает, что один или несколько входы не могут предоставить данные
NS_E_NO_SCRIPT_STREAMотправка сценарий данные, когда в текущей группа источников отсутствует сценарий источник

Исправление на правильном уровне

Для NS_E_SOURCE_NOTSPECIFIED целевое исправление — полностью настройте или удалите незавершённый источник до подготовки группы. Повтор имеет смысл только после изменения зафиксированного предварительного условия «источник не указан».

Не удаляйте и не создавайте заново все группы источников до экспорта конфигурации .wme и фиксации активной группы; иначе связь объектов, на которой возник сбой, будет потеряна в сеансе, который возвращает NS_E_SOURCE_NOTSPECIFIED.

Технические ссылки для NS_E_SOURCE_NOTSPECIFIED


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

Exit mobile version