Что означает код HRESULT 0xC00D1B99 (NS_E_AUDIENCE_CONTENTTYPE_MISMATCH)?

 
Предыдущий Следующий
NS_E_MISSING_AUDIENCE NS_E_MISSING_SOURCE_INDEX

NS_E_AUDIENCE_CONTENTTYPE_MISMATCH

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

0xC00D1B99 имеет имя NS_E_AUDIENCE_CONTENTTYPE_MISMATCH. Его практическая область — аудитории одного выходного дерева объявляют разные общие типы медиасодержимого; это относится к топологии профиля, аудиторий и потоков, а не ко всем компонентам воспроизведения Windows Media или Windows.

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

В сеансе, возвращающем NS_E_AUDIENCE_CONTENTTYPE_MISMATCH, профиль Windows Media Encoder объявляет типы содержимого и одну или несколько аудиторий. Каждая аудитория сопоставляет индексы источников с аудио-, видео-, скриптовыми или файловыми потоками и в контрольной точке несоответствие типа содержимого аудитории должна оставаться структурно согласованной с другими аудиториями профиля с несколькими битрейтами.

Отдельные поля могут быть синтаксически допустимыми, тогда как полный профиль остаётся несогласованным между аудиториями или не соответствует группе источников в сеансе, возвращающем NS_E_AUDIENCE_CONTENTTYPE_MISMATCH. Типичный способ воспроизведения: в одной аудитории MBR отсутствует видео, тогда как остальные содержат аудио и видео. Поэтому для NS_E_AUDIENCE_CONTENTTYPE_MISMATCH первый результат Encoder ценнее более позднего общего сообщения.

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

ПолеЧто сохранить
Решающие значенияContentType и наличие потоков для каждой аудитории
Объект, вернувший ошибкуимя и тип содержимого профиля, число аудиторий и общий битрейт, индексы источников, типы потоков, идентификаторы языков, выбранные аудитории и результат IWMEncProfile2.Validate
Связь с сеансомто же поколение группы источников, индекс аудитории, идентификатор объекта и последовательность обратных вызовов, которые привели к NS_E_AUDIENCE_CONTENTTYPE_MISMATCH
Данные нижнего уровняпервый HRESULT COM, драйвера, файловой системы или кодека, полученный до того, как Encoder сопоставил условие с NS_E_AUDIENCE_CONTENTTYPE_MISMATCH
Контролируемое сравнениезаведомо рабочий сеанс, в котором изменён только параметр, указанный границей несоответствие типа содержимого аудитории

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

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

Практическое влияние NS_E_AUDIENCE_CONTENTTYPE_MISMATCH ограничено переходом топологии профиля, аудиторий и потоков, которому принадлежит различие общих типов медиасодержимого в аудиториях одного выходного дерева. Само по себе NS_E_AUDIENCE_CONTENTTYPE_MISMATCH не доказывает, что повреждены все входные данные, отсутствуют все кодеки или полностью неработоспособна установка Windows Media. В типичном случае, когда в одной аудитории MBR отсутствует видео, а остальные содержат аудио и видео, сохраните первый сбойный вызов и идентификатор его объекта, чтобы последующая оболочка не заменила данные несоответствие типа содержимого аудитории.

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

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

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

РезультатПочему это другая граница
NS_E_MISSING_AUDIENCEссылка в выходном дереве указывает на отсутствующую аудиторию
NS_E_MISSING_SOURCE_INDEXдля потока аудитории отсутствует сопоставление с индексом источника
NS_E_PROFILE_MISMATCHпереключение или объединение источников, назначенные профили которых неэквивалентны для сеанса

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

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

Не исправляйте профиль удалением произвольных аудиторий; сначала экспортируйте .prx и сравните один и тот же индекс источника во всех аудиториях сеанса, возвращающего NS_E_AUDIENCE_CONTENTTYPE_MISMATCH.

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


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