| Предыдущий | Следующий |
| NS_E_INVALID_PIXEL_ASPECT_RATIO | NS_E_INVALID_PROFILE_CONTENTTYPE |
NS_E_AUDIENCE__LANGUAGE_CONTENTTYPE_MISMATCH
Как интерпретировать код в реальном сеансе кодирования
0xC00D1BE3 имеет имя NS_E_AUDIENCE__LANGUAGE_CONTENTTYPE_MISMATCH. Его практическая область — разноязычные потоки одной аудитории не имеют совместимых свойств мультимедиа; это относится к топологии профиля, аудиторий и потоков, а не ко всем компонентам воспроизведения Windows Media или Windows.
Механизм и точка сбоя
В сеансе, возвращающем NS_E_AUDIENCE__LANGUAGE_CONTENTTYPE_MISMATCH, профиль Windows Media Encoder объявляет типы содержимого и одну или несколько аудиторий. Каждая аудитория сопоставляет индексы источников с аудио-, видео-, скриптовыми или файловыми потоками и в контрольной точке несоответствие языка и типа содержимого аудитории должна оставаться структурно согласованной с другими аудиториями профиля с несколькими битрейтами.
Отдельные поля могут быть синтаксически допустимыми, тогда как полный профиль остаётся несогласованным между аудиториями или не соответствует группе источников в сеансе, возвращающем NS_E_AUDIENCE__LANGUAGE_CONTENTTYPE_MISMATCH. Типичный способ воспроизведения: альтернативные аудиодорожки на разных языках используют разные кодеки в одной аудитории. Поэтому для NS_E_AUDIENCE__LANGUAGE_CONTENTTYPE_MISMATCH первый результат Encoder ценнее более позднего общего сообщения.
Матрица воспроизведения
| Поле | Что сохранить |
|---|---|
| Решающие значения | языковые записи, тип потока, кодек или формат и индекс источника внутри аудитории |
| Объект, вернувший ошибку | имя и тип содержимого профиля, число аудиторий и общий битрейт, индексы источников, типы потоков, идентификаторы языков, выбранные аудитории и результат IWMEncProfile2.Validate |
| Связь с сеансом | то же поколение группы источников, индекс аудитории, идентификатор объекта и последовательность обратных вызовов, которые привели к NS_E_AUDIENCE__LANGUAGE_CONTENTTYPE_MISMATCH |
| Данные нижнего уровня | первый HRESULT COM, драйвера, файловой системы или кодека, полученный до того, как Encoder сопоставил условие с NS_E_AUDIENCE__LANGUAGE_CONTENTTYPE_MISMATCH |
| Контролируемое сравнение | заведомо рабочий сеанс, в котором изменён только параметр, указанный границей несоответствие языка и типа содержимого аудитории |
Матрица диагностических данных
| Наблюдение | Как его интерпретировать |
|---|---|
| Наблюдение подтверждает этот результат | Решающими данными являются языковые записи, тип потока, кодек или формат и индекс источника внутри аудитории. Они подтверждают, что разноязычные потоки одной аудитории не имеют совместимых свойств мультимедиа в том же поколении объекта. |
| Наблюдение указывает на более ранний сбой | Зафиксированные значения удовлетворяют правилу несоответствие языка и типа содержимого аудитории, но источник, драйвер, активация COM или файловая операция раньше возвращает другой HRESULT. |
| Наблюдение указывает на более поздний сбой | Encoder проходит эту границу — разноязычные потоки одной аудитории не имеют совместимых свойств мультимедиа, — но затем на следующей стадии происходит сбой кодека, архива или приёмника трансляции. |
| Проверка после исправления | Внесите одно изолированное изменение: задайте языковым вариантам одинаковые свойства потока, требуемые этой аудиторией. После этого исходный вызов несоответствие языка и типа содержимого аудитории должен пройти ту же контрольную точку. |
Практическое влияние NS_E_AUDIENCE__LANGUAGE_CONTENTTYPE_MISMATCH ограничено переходом топологии профиля, аудиторий и потоков, которому принадлежит несовместимость свойств разноязычных потоков одной аудитории. Само по себе NS_E_AUDIENCE__LANGUAGE_CONTENTTYPE_MISMATCH не доказывает, что повреждены все входные данные, отсутствуют все кодеки или полностью неработоспособна установка Windows Media. В типичном случае, когда альтернативные аудиодорожки на разных языках используют разные кодеки в одной аудитории, сохраните первый сбойный вызов и идентификатор его объекта, чтобы последующая оболочка не заменила данные несоответствие языка и типа содержимого аудитории.
Минимальный эксперимент
- Зафиксируйте
0xC00D1BE3,NS_E_AUDIENCE__LANGUAGE_CONTENTTYPE_MISMATCH, версию Encoder и точный вызов API или обращение к свойству, вернувшее ошибку. - Экспортируйте текущую конфигурацию
.wmeили.prx, затем сохраните языковые записи, тип потока, кодек или формат и индекс источника внутри аудитории. - Для
NS_E_AUDIENCE__LANGUAGE_CONTENTTYPE_MISMATCHпроверьте предварительное условие топологии профиля, аудиторий и потоков, не меняя одновременно источник, профиль и выходной приёмник. - Выполните одно контролируемое сравнение, изменив только это условие: задайте языковым вариантам одинаковые свойства потока, требуемые этой аудиторией.
- После изменения пересоздайте затронутый объект Encoder, а не предполагайте, что существующий граф отбросил прежнее состояние несоответствие языка и типа содержимого аудитории.
Не объединяйте следующие результаты
| Результат | Почему это другая граница |
|---|---|
NS_E_INVALID_FILE_BITRATE | битрейт потока передачи файлов недопустим для профиля |
NS_E_INVALID_PROFILE_CONTENTTYPE | ContentType профиля не объявляет ни одного пригодного аудио- или видеопотока |
NS_E_MULTIPLE_FILE_BITRATES | битрейт потока передачи файлов различается между аудиториями |
Что изменить, а что оставить без изменений
Измените минимальное ответственное предварительное условие: задайте языковым вариантам одинаковые свойства потока, требуемые этой аудиторией. При повторной проверке NS_E_AUDIENCE__LANGUAGE_CONTENTTYPE_MISMATCH сохраняйте неизменными все не связанные параметры источника, аудитории и выхода до повторения того же вызова.
Не исправляйте профиль удалением произвольных аудиторий; сначала экспортируйте .prx и сравните один и тот же индекс источника во всех аудиториях сеанса, возвращающего NS_E_AUDIENCE__LANGUAGE_CONTENTTYPE_MISMATCH.
Авторитетная документация для NS_E_AUDIENCE__LANGUAGE_CONTENTTYPE_MISMATCH
- Добавление аудитории в профиль кодировщика.
- IWMEncAudienceObj.TotalBitrate.
- Получение профиля, назначенного группе источников.
- Определение совместимости профилей.
Нужно найти другой код? Найти другой код состояния или ошибки.