| Предыдущий | Следующий |
| 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».
Минимальный эксперимент
- Зафиксируйте
0xC00D1B70, он, версию Encoder и точный вызов API или обращение к свойству, вернувшее ошибку. - Экспортируйте текущую конфигурацию
.wmeили.prxконфигурацию, затем зафиксируйте media types source, ContentType profile, определения streams в audiences и наличие codecs. - проверяйте предварительное условие source groups, streams и plug-ins, не меняя одновременно source, profile и output sink.
- Выполните одно контролируемое сравнение, изменив только это условие: добавить совместимый output stream либо назначить profile, соответствующий media source.
- После изменения пересоздайте затронутый объект 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; иначе связь объектов, на которой возник сбой, будет потеряна в сеансе, который возвращает он.
Авторитетная документация
- Подготовка группы источников к кодированию.
- Получение профиля, назначенного группе источников.
- Получение настроенного входа кодировщика.
- Сохранение конфигурации Windows Media Encoder.
Нужно найти другой код? Найти другой код состояния или ошибки.