Site icon EfmSoft

Что означает код HRESULT 0xC00D1B73 (NS_E_NO_SCRIPT_STREAM)?

 
Предыдущий Следующий
NS_E_NO_ACTIVE_SOURCEGROUP NS_E_INVALIDCALL_WHILE_ARCHIVAL_RUNNING

NS_E_NO_SCRIPT_STREAM

Граница сбоя в объектной модели Encoder

Практически полезная интерпретация NS_E_NO_SCRIPT_STREAM (0xC00D1B73) — это не просто стандартное сообщение, приведённое выше. Оно указывает на script data передаются при отсутствии script source в текущей source group внутри source groups, streams и plug-ins.

Объектная модель Encoder объединяет audio, video и script inputs в IWMEncSourceGroup, назначает этой group один profile и запрашивает у source plug-in media format, пригодный для выбранных output streams, в сеансе, который возвращает этот результат.

Данные, отличающие этот код от ошибки оболочки

Успешное создание COM objects не доказывает полноту source group; назначение profile, обнаружение source и согласование format — более поздние контрольные точки в сеансе, возвращающем этот результат. Например, приложение повторно использует script callback после переключения на group только с audio/video. Сохраните он различие до того, как уровень интерфейса преобразует результат в общую ошибку запуска, захвата или профиля.

ПолеЧто сохранить
Решающие значенияидентификатор активной source group, число script sources и момент вызова SendScript
Объект, вернувший ошибкуиндекс и имя source-group collection, состояние active/prepared, тип stream, input scheme и stream name, CLSID source plug-in, согласованный media type и назначенный profile
Связь с сеансомто же поколение source group, индекс audience, идентичность объекта и последовательность callback, которые привели к этому результату
Данные нижнего уровняпервый HRESULT COM, драйвера, файловой системы или кодека, зафиксированный до того, как Encoder сопоставил условие с этим результатом
Контролируемое сравнениезаведомо рабочий сеанс, в котором изменяется только настройка, относящаяся к границе этого HRESULT

Интерпретация следующего измерения

НаблюдениеКак это интерпретировать
Наблюдение, подтверждающее онРешающие данные: идентификатор активной source group, число script sources и момент вызова SendScript. Они подтверждают, что script data передаются при отсутствии script source в текущей source group в том же поколении объекта.
Наблюдение, указывающее на более ранний сбойЗафиксированные значения удовлетворяют условию этого HRESULT, однако source, драйвер, COM activation или file operation раньше возвращает другой HRESULT.
Наблюдение, указывающее на более поздний сбойEncoder проходит эту границу (script data передаются при отсутствии script source в текущей source group), но затем на следующем этапе происходит сбой codec, archive или broadcast sink.
Проверка после исправленияПримените одно изолированное изменение: добавить и настроить script stream в соответствующем profile/source group либо прекратить отправку script commands. После этого исходный вызов должен пройти ту же контрольную точку.

Практическое влияние он ограничен переходом «source groups, streams and plug-ins», которому принадлежит условие «script data передаются при отсутствии script source в текущей source group». Сам по себе он не доказывает повреждение всех входных данных, отсутствие всех кодеков или неработоспособность всей установки Windows Media. В показательном случае, когда приложение повторно использует script callback после переключения на group только с audio/video, сохраните первый неуспешный вызов и идентификатор его объекта, чтобы более поздняя ошибка-оболочка не заменила данные о границе no script stream.

Проверка условия без перестройки сеанса

  1. Зафиксируйте 0xC00D1B73, он, версию Encoder и точный вызов API или обращение к свойству, вернувшее он.
  2. Экспортируйте текущую конфигурацию .wme или .prx конфигурацию, затем зафиксируйте идентификатор активной source group, число script sources и момент вызова SendScript.
  3. проверяйте предварительное условие source groups, streams и plug-ins, не меняя одновременно source, profile и output sink.
  4. Проведите одно контролируемое сравнение, изменяя только это условие: добавить и настроить script stream в соответствующем profile/source group либо прекратить отправку script commands.
  5. После изменения пересоздайте соответствующий объект Encoder; не предполагайте, что существующий graph автоматически отбросил прежнее недопустимое состояние.

Осторожно интерпретируйте соседние результаты

РезультатПочему это другая граница
NS_E_NO_VALID_OUTPUT_STREAMсопоставление source media как минимум с одним output stream, объявленным в profile
NS_E_NOSOURCEGROUPSзапуск сеанса Encoder с пустой коллекцией source group
NS_E_NO_MEDIAFORMAT_IN_SOURCEподготовка source, plug-in которого не предоставил media format

Устранение и проверка

Непосредственное исправление этого случая — добавить и настроить script stream в соответствующем profile/source group либо прекратить отправку script commands. Пересоздайте соответствующий source group, profile или output object, повторите ту же операцию и убедитесь, что первый неуспешный HRESULT больше не возникает на контрольной точке no script stream.

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

Ссылки для него — диагностическая граница


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

Exit mobile version