| Предыдущий | Следующий |
| NS_E_AUDIENCE__LANGUAGE_CONTENTTYPE_MISMATCH | NS_E_TRANSFORM_PLUGIN_NOT_FOUND |
NS_E_INVALID_PROFILE_CONTENTTYPE
Где Encoder возвращает этот результат
0xC00D1BE4 (NS_E_INVALID_PROFILE_CONTENTTYPE) диагностически значимое событие — ContentType профиля не объявляет ни одного пригодного audio- или video-потока. Сохраняйте границу, вернувшую NS_E_INVALID_PROFILE_CONTENTTYPE, вместе с исходным callback Encoder или вызовом COM.
Профиль Windows Media Encoder объявляет типы содержимого и одну или несколько audiences для условия «ContentType профиля не объявляет ни одного пригодного audio- или video-потока». Каждая audience сопоставляет source indexes с audio, video, script или file streams и в MBR-профиле должна оставаться структурно согласованной с остальными audiences для состояния «ContentType профиля не объявляет ни одного пригодного audio- или video-потока». В сеансе, возвращающем NS_E_INVALID_PROFILE_CONTENTTYPE, именно здесь проверяется условие «ContentType профиля не объявляет ни одного пригодного audio- или video-потока».
Что уже успешно выполнено
Отдельные поля могут быть синтаксически допустимыми, тогда как полный профиль остаётся несогласованным между аудиториями или не соответствует группе источников в сеансе, возвращающем NS_E_INVALID_PROFILE_CONTENTTYPE. В показательном случае invalid profile contenttype пользовательский профиль содержит только script/file metadata, но используется для кодирования медиа. NS_E_INVALID_PROFILE_CONTENTTYPE следует проверять на объекте, сформировавшем ошибку, а не считать общим сбоем кодека или операционной системы.
Снимок состояния, который нужно сохранить
| Поле | Что сохранить |
|---|---|
| Решающие значения | биты ContentType и фактические определения потоков |
| Объект, вернувший ошибку | имя и content type профиля, число audiences и total bitrate, source indexes, типы потоков, language identifiers, выбранные audiences и результат IWMEncProfile2.Validate |
| Сопоставление с сеансом | то же поколение source group, индекс audience, идентичность объекта и последовательность callbacks, в которой был получен NS_E_INVALID_PROFILE_CONTENTTYPE |
| Данные нижнего уровня | первый HRESULT COM, драйвера, файловой системы или codec, полученный до того, как Encoder сопоставил условие с NS_E_INVALID_PROFILE_CONTENTTYPE |
| Контролируемое сравнение | заведомо исправный сеанс, в котором изменяется только настройка границы «ContentType профиля не объявляет ни одного пригодного audio- или video-потока» |
Как интерпретировать следующее наблюдение
| Наблюдение | Как это интерпретировать |
|---|---|
| Наблюдение, подтверждающее этот результат | Решающие данные: биты ContentType и фактические определения потоков. Они подтверждают условие «ContentType профиля не объявляет ни одного пригодного audio- или video-потока» в том же поколении объекта. |
| Наблюдение, указывающее на более ранний сбой | Зафиксированные значения удовлетворяют правилу этой границы, но source, драйвер, COM activation или файловая операция раньше возвращает другой HRESULT на границе «ContentType профиля не объявляет ни одного пригодного audio- или video-потока». |
| Наблюдение, указывающее на более поздний сбой | Encoder проходит эту границу («ContentType профиля не объявляет ни одного пригодного audio- или video-потока»), но затем codec, archive или broadcast sink завершается ошибкой на следующем этапе. |
| Проверка после исправления | Внесите одно изолированное изменение: объявить хотя бы один audio- или video-поток, соответствующий группе источников. После этого исходный вызов должен пройти ту же контрольную точку в сценарии «ContentType профиля не объявляет ни одного пригодного audio- или video-потока». |
Практическое влияние NS_E_INVALID_PROFILE_CONTENTTYPE ограничен переходом «profile, audience and stream topology», которому принадлежит условие «ContentType профиля не объявляет ни одного пригодного audio- или video-потока». Для NS_E_INVALID_PROFILE_CONTENTTYPE, сам по себе этот результат не доказывает повреждение всех входных данных, отсутствие всех кодеков или неработоспособность всей установки Windows Media. В показательном случае, когда пользовательский профиль содержит только script/file metadata, но используется для кодирования медиа, сохраните первый неуспешный вызов и идентификатор его объекта, чтобы более поздняя ошибка-оболочка не заменила данные о границе invalid profile contenttype.
Контролируемая последовательность диагностики
- Зафиксируйте
0xC00D1BE4,NS_E_INVALID_PROFILE_CONTENTTYPE, версию Encoder и точный вызов API или обращение к свойству, вернувшее ошибку. - Экспортируйте текущую конфигурацию
.wmeили.prxконфигурацию, затем зафиксируйте биты ContentType и фактические определения потоков. - Для
NS_E_INVALID_PROFILE_CONTENTTYPEпроверьте предварительное условие топологии профиля, аудиторий и потоков, не меняя одновременно источник, профиль и выходной приёмник. - Выполните одно контролируемое сравнение, изменив только это условие: объявить хотя бы один audio- или video-поток, соответствующий группе источников.
- После изменения пересоздайте затронутый объект Encoder; не предполагайте, что существующий graph автоматически отбросил прежнее состояние invalid profile contenttype.
Близкие HRESULT с другим смыслом
| Результат | Почему это другая граница |
|---|---|
NS_E_AUDIENCE__LANGUAGE_CONTENTTYPE_MISMATCH | Внесите одно изолированное изменение: объявить хотя бы один audio- или video-поток, соответствующий группе источников. После этого исходный вызов должен пройти ту же контрольную точку в сценарии «ContentType профиля не объявляет ни одного пригодного audio- или video-потока». |
NS_E_INVALID_FILE_BITRATE | битрейт потока передачи файлов недопустим для профиля |
NS_E_MULTIPLE_FILE_BITRATES | битрейт потока передачи файлов различается между аудиториями |
Исправление на правильном уровне
Для NS_E_INVALID_PROFILE_CONTENTTYPE, целевое исправление — объявить хотя бы один audio- или video-поток, соответствующий группе источников. Повтор имеет смысл только после изменения зафиксированного предварительного условия invalid profile contenttype.
Не удаляйте произвольные audiences при исправлении профиля: сначала экспортируйте .prx и сравните один и тот же source index между audiences при проверке «ContentType профиля не объявляет ни одного пригодного audio- или video-потока». Это позволяет повторно проверить тот же сеанс с NS_E_INVALID_PROFILE_CONTENTTYPE без потери исходных диагностических данных.
Технические ссылки для NS_E_INVALID_PROFILE_CONTENTTYPE
- Добавление аудитории в профиль кодировщика.
- IWMEncAudienceObj.TotalBitrate.
- Получение профиля, назначенного группе источников.
- Определение совместимости профилей.
Нужно найти другой код? Найти другой код состояния или ошибки.