Что означает код HRESULT 0xC00D1B98 (NS_E_MISSING_AUDIENCE)?

 
Предыдущий Следующий
NS_E_NO_MULTIPASS_FOR_LIVEDEVICE NS_E_AUDIENCE_CONTENTTYPE_MISMATCH

NS_E_MISSING_AUDIENCE

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

0xC00D1B98 соответствует NS_E_MISSING_AUDIENCE. Практическая область этого результата — ссылка в выходном дереве указывает на отсутствующую audience; она относится к «топология профиля, audiences и потоков», а не ко всем компонентам Windows Media или Windows.

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

Профиль Windows Media Encoder объявляет типы содержимого и одну или несколько audiences для условия «ссылка в выходном дереве указывает на отсутствующую audience». Каждая audience сопоставляет source indexes с audio, video, script или file streams и в MBR-профиле должна оставаться структурно согласованной с остальными audiences при проверке «ссылка в выходном дереве указывает на отсутствующую audience». В сеансе, возвращающем NS_E_MISSING_AUDIENCE, именно здесь проверяется условие «ссылка в выходном дереве указывает на отсутствующую audience».

Отдельные поля могут быть синтаксически допустимыми, тогда как полный профиль остаётся несогласованным между аудиториями или не соответствует группе источников в сеансе, возвращающем NS_E_MISSING_AUDIENCE. Типичный сценарий воспроизведения: при редактировании профиля audience удаляется, но дочерний stream node продолжает на неё ссылаться. Для NS_E_MISSING_AUDIENCEпервый результат Encoder ценнее более позднего общего сообщения.

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

ПолеЧто сохранить
Решающие значенияиндексы audiences, узлы выходного дерева и AudienceCount до проверки профиля
Объект, вернувший ошибкуимя и content type профиля, число audiences и total bitrate, source indexes, типы потоков, language identifiers, выбранные audiences и результат IWMEncProfile2.Validate
Сопоставление с сеансомто же поколение source group, индекс audience, идентичность объекта и последовательность callbacks, в которой был получен NS_E_MISSING_AUDIENCE
Данные нижнего уровняпервый HRESULT COM, драйвера, файловой системы или codec, полученный до того, как Encoder сопоставил условие с NS_E_MISSING_AUDIENCE
Контролируемое сравнениезаведомо исправный сеанс, в котором изменяется только настройка границы «ссылка в выходном дереве указывает на отсутствующую audience»

Матрица диагностических признаков

НаблюдениеКак это интерпретировать
Наблюдение, подтверждающее этот результатРешающие данные: индексы audiences, узлы выходного дерева и AudienceCount до проверки профиля. Они подтверждают условие «ссылка в выходном дереве указывает на отсутствующую audience» в том же поколении объекта.
Наблюдение, указывающее на более ранний сбойЗафиксированные значения удовлетворяют правилу этой границы, но source, драйвер, COM activation или файловая операция раньше возвращает другой HRESULT при проверке «ссылка в выходном дереве указывает на отсутствующую audience».
Наблюдение, указывающее на более поздний сбойEncoder проходит эту границу («ссылка в выходном дереве указывает на отсутствующую audience»), но затем codec, archive или broadcast sink завершается ошибкой на следующем этапе.
Проверка после исправленияВнесите одно изолированное изменение: восстановить указанную audience либо исправить отображение индексов. После этого исходный вызов должен пройти ту же контрольную точку при проверке «ссылка в выходном дереве указывает на отсутствующую audience».

Практическое влияние NS_E_MISSING_AUDIENCE ограничен переходом «profile, audience and stream topology», которому принадлежит условие «ссылка в выходном дереве указывает на отсутствующую audience». Для NS_E_MISSING_AUDIENCE, сам по себе этот результат не доказывает повреждение всех входных данных, отсутствие всех кодеков или неработоспособность всей установки Windows Media. В показательном случае, когда при редактировании профиля audience удаляется, но дочерний stream node продолжает на неё ссылаться, сохраните первый неуспешный вызов и идентификатор его объекта, чтобы более поздняя ошибка-оболочка не заменила данные о границе missing audience.

Матрица диагностических признаков

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

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

РезультатПочему это другая граница
NS_E_PROFILE_MISMATCHВнесите одно изолированное изменение: восстановить указанную audience либо исправить отображение индексов. После этого исходный вызов должен пройти ту же контрольную точку при проверке «ссылка в выходном дереве указывает на отсутствующую audience».
NS_E_AUDIENCE_CONTENTTYPE_MISMATCHаудитории одного выходного дерева объявляют разные общие типы медиасодержимого
NS_E_MISSING_SOURCE_INDEXдля потока аудитории отсутствует сопоставление с индексом источника

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

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

Не удаляйте произвольные audiences при исправлении профиля: сначала экспортируйте .prx и сравните один и тот же source index между audiences для условия «ссылка в выходном дереве указывает на отсутствующую audience». Это позволяет повторно проверить тот же сеанс с NS_E_MISSING_AUDIENCE без потери исходных диагностических данных.

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


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