Что означает код HRESULT 0xC00D1B70 (NS_E_NO_VALID_OUTPUT_STREAM)?

 
Предыдущий Следующий
NS_E_NO_MEDIAFORMAT_IN_SOURCE NS_E_NO_VALID_SOURCE_PLUGIN

NS_E_NO_VALID_OUTPUT_STREAM

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

0xC00D1B70 соответствует NS_E_NO_VALID_OUTPUT_STREAM. Практическая область этого результата — сопоставление media source хотя бы с одним output stream, объявленным profile; она относится к «группы источников, потоки и plug-ins», а не ко всем компонентам Windows Media или Windows.

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

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

Успешное создание COM objects не доказывает полноту source group; назначение profile, обнаружение source и согласование format — более поздние контрольные точки в сеансе, возвращающем этот результат. Типичный сценарий воспроизведения: script-only source используется с profile, содержащим только audio и video outputs. Первый результат Encoder ценнее более позднего общего сообщения.

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

ПолеЧто сохранить
Решающие значенияmedia types source, ContentType profile, определения streams в audiences и наличие codecs
Объект, вернувший ошибкуиндекс и имя коллекции source groups, состояние active/prepared, тип потока, input scheme и имя потока, CLSID source plug-in, согласованный media type и назначенный профиль
Сопоставление с сеансомто же поколение source group, индекс audience, идентичность объекта и последовательность callbacks, в которой был получен этот результат
Данные нижнего уровняпервый HRESULT COM, драйвера, файловой системы или codec, полученный до того, как Encoder сопоставил условие с ним
Контролируемое сравнениезаведомо исправный сеанс, в котором изменяется только параметр, относящийся

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

НаблюдениеКак это интерпретировать
Наблюдение, подтверждающее онРешающие данные: media types source, ContentType profile, определения streams в audiences и наличие codecs. Они подтверждают условие «сопоставление media source хотя бы с одним output stream, объявленным profile» в том же поколении объекта.
Наблюдение, указывающее на более ранний сбойЗафиксированные значения удовлетворяют правилу этой границы, но source, driver, COM activation или file operation раньше возвращает другой HRESULT.
Наблюдение, указывающее на более поздний сбойEncoder проходит эту границу («сопоставление media source хотя бы с одним output stream, объявленным profile»), но затем codec, archive или broadcast sink завершается ошибкой на следующем этапе.
Проверка после исправленияПримените одно изолированное изменение: добавить совместимый output stream либо назначить profile, соответствующий media source. После этого исходный вызов должен пройти ту же контрольную точку.

Практическое влияние он ограничен переходом «source groups, streams and plug-ins», которому принадлежит условие «сопоставление media source хотя бы с одним output stream, объявленным profile». Сам по себе код не доказывает, что повреждены все входные данные, отсутствуют все codecs или полностью неработоспособна установка Windows Media. Типичный сценарий: script-only source используется с profile, содержащим только audio и video outputs. Сохраните первый отказавший вызов и идентичность его объекта, чтобы более поздний wrapper не скрыл данные границы «сопоставление media source хотя бы с одним output stream, объявленным profile».

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

  1. Зафиксируйте 0xC00D1B70, он, версию Encoder и точный вызов API или обращение к свойству, вернувшее ошибку.
  2. Экспортируйте текущую конфигурацию .wme или .prx конфигурацию, затем зафиксируйте media types source, ContentType profile, определения streams в audiences и наличие codecs.
  3. проверяйте предварительное условие source groups, streams и plug-ins, не меняя одновременно source, profile и output sink.
  4. Выполните одно контролируемое сравнение, изменив только это условие: добавить совместимый output stream либо назначить profile, соответствующий media source.
  5. После изменения пересоздайте затронутый объект Encoder, а не предполагайте, что существующий graph автоматически отбросил прежнее ошибочное состояние.

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

РезультатПочему это другая граница
NS_E_NO_MEDIAFORMAT_IN_SOURCEподготовка source, plug-in которого не предоставил media format
NS_E_NO_SCRIPT_STREAMотправка script data, когда в текущей source group отсутствует script source
NS_E_NO_PROFILE_IN_SOURCEGROUPподготовка source group без назначенного IWMEncProfile

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

Измените минимальное ответственное предварительное условие: добавить совместимый output stream либо назначить profile, соответствующий media source. При повторной проверке этот результатсохраняйте неизменными все не связанные параметры источника, аудитории и выхода до повторения того же вызова.

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

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


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