| Предыдущий | Следующий |
| NS_E_SOURCEGROUP_NOTPREPARED | NS_E_INCORRECTCLIPSETTINGS |
NS_E_PROFILE_MISMATCH
Граница сбоя в объектной модели Encoder
Практический смысл NS_E_PROFILE_MISMATCH (0xC00D1B7B) не сводится к стандартному сообщению: код указывает на переключение или объединение источников, назначенные профили которых неэквивалентны для сеанса в области «топология профиля, аудитории и потоков».
Профиль Windows Media Encoder объявляет типы содержимого и одну или несколько аудиторий в сеансе, который возвращает этот результат. На этапе проверки соответствия профилей каждая аудитория сопоставляет индексы источников с аудио-, видео-, сценарными или файловыми потоками; эти сопоставления должны оставаться структурно согласованными между аудиториями в многобитрейтном профиле.
Данные, отделяющие этот код от ошибки оболочки
Отдельные поля могут быть синтаксически допустимыми, тогда как полный профиль остаётся несогласованным между аудиториями или не соответствует группе источников в сеансе, возвращающем этот результат. Например, две группы источников для потокового переключения используют разное число аудиторий. Сохраните он до того, как уровень интерфейса преобразует результат в общую ошибку запуска, захвата или профиля.
| Поле | Что сохранить |
|---|---|
| Решающие значения | идентификаторы или хэши профилей, типы содержимого, компоновки аудиторий и настройки кодеков для каждой задействованной группы источников |
| Объект, вернувший ошибку | имя и тип содержимого профиля, число аудиторий и суммарный битрейт, индексы источников, типы потоков, идентификаторы языков, выбранные аудитории и результат IWMEncProfile2.Validate |
| Сопоставление с сеансом | то же поколение группы источников, индекс аудитории, идентификатор объекта и последовательность обратных вызовов, в которой был получен этот результат |
| Данные нижнего уровня | первый HRESULT COM, драйвера, файловой системы или кодека, зарегистрированный до того, как Encoder сопоставил условие с этим результатом |
| Контролируемое сравнение | заведомо рабочий сеанс, в котором изменяется только настройка, относящаяся к границе этого HRESULT |
Как интерпретировать следующее измерение
| Наблюдение | Как это интерпретировать |
|---|---|
| Наблюдение, подтверждающее он | Решающие данные — идентификаторы или хэши профилей, типы содержимого, компоновки аудиторий и настройки кодеков каждой задействованной группы источников. Они показывают, что в одном поколении объекта используются несовместимые профили. |
| Наблюдение, указывающее на более ранний сбой | Зафиксированные значения удовлетворяют условию этого HRESULT, однако источник, драйвер, активация COM или операция с файлом раньше возвращает другой HRESULT. |
| Наблюдение, указывающее на более поздний сбой | Encoder проходит эту границу (переключение или объединение источников, назначенные профили которых неэквивалентны для сеанса), но затем на следующем этапе происходит сбой кодека, архива или приёмника широковещательной передачи. |
| Проверка после исправления | Примените одно изолированное изменение: используйте профили с совпадающей выходной топологией либо начните новый сеанс для другого профиля. После этого исходный вызов должен пройти ту же контрольную точку. |
Практическое значение он ограничено проверкой топологии профиля, аудиторий и потоков. Ошибка возникает, когда выполняется условие «переключение или объединение источников, назначенные профили которых неэквивалентны для сеанса». Сам по себе он не доказывает, что входные данные повреждены, кодеки отсутствуют или вся установка Windows Media неработоспособна. В показательном случае, когда две группы источников для потокового переключения используют разное число аудиторий, сохраните первый вызов, завершившийся ошибкой, и идентификатор его объекта, чтобы последующая ошибка интерфейса не заменила данные о границе «несоответствие профилей».
Как интерпретировать следующее измерение
- Зафиксируйте
0xC00D1B7B, он, версию Encoder и точный вызов API или обращение к свойству, вернувшее он. - Экспортируйте текущую конфигурацию
.wmeили.prx, затем зафиксируйте идентификаторы или хэши профилей, типы содержимого, компоновки аудиторий и настройки кодеков для каждой задействованной группы источников. - Проверьте предварительное условие топологии профиля, аудиторий и потоков, не меняя одновременно источник, профиль и выходной приёмник.
- Проведите одно контролируемое сравнение, изменяя только это условие: используйте профили с совпадающей выходной топологией либо начните новый сеанс для другого профиля.
- После изменения пересоздайте соответствующий объект Encoder; не предполагайте, что существующий граф автоматически отбросил прежнее недопустимое состояние при проверке «переключение или объединение источников, назначенные профили которых неэквивалентны для сеанса».
Осторожно интерпретируйте соседние результаты
| Результат | Почему это другая граница |
|---|---|
NS_E_MISSING_AUDIENCE | ссылка в дереве выходов указывает на отсутствующую аудиторию |
NS_E_AUDIENCE_CONTENTTYPE_MISMATCH | аудитории в одном дереве выходов объявляют разные общие типы медиасодержимого |
NS_E_MISSING_SOURCE_INDEX | у потока в аудитории отсутствует сопоставление с индексом источника |
Устранение и проверка
Непосредственное исправление — использовать профили с совпадающей выходной топологией либо начать новый сеанс для другого профиля. Пересоздайте соответствующую группу источников, профиль или выходной объект, повторите ту же операцию и убедитесь, что первый неуспешный HRESULT больше не возникает на этапе проверки соответствия профилей.
Не исправляйте профиль удалением случайных аудиторий; сначала экспортируйте.prx и сравните один и тот же индекс источника во всех аудиториях в сеансе, который возвращает он.
Ссылки для него — диагностическая граница
- Добавление аудитории в профиль кодировщика.
- IWMEncAudienceObj.TotalBitrate.
- Получение профиля, назначенного группе источников.
- Определение совместимости профилей.
Нужно найти другой код? Найти другой код состояния или ошибки.
