| Предыдущий | Следующий |
| NS_E_MULTIPLE_VIDEO_CODECS | NS_E_INVALID_VIDEO_BITRATE |
NS_E_MULTIPLE_VIDEO_SIZES
Граница сбоя в объектной модели Encoder
Практический смысл NS_E_MULTIPLE_VIDEO_SIZES (0xC00D1BBE) не сводится к стандартному сообщению: код указывает на при требуемой совместимости с Player 7.1 audiences используют разные размеры кадра в области «правила совместимости со старыми версиями Player».
Профили Windows Media Encoder можно проверять на совместимость со старыми поколениями Windows Media Player. VBR, multiple audiences, различия audio/video formats, interlace и non-square pixels могут вывести профиль за рамки совместимости 7 при проверке «при требуемой совместимости с Player 7.1 audiences используют разные размеры кадра».1. В сеансе, возвращающем этот результат, именно здесь проверяется условие «при требуемой совместимости с Player 7.1 audiences используют разные размеры кадра».
Данные, отделяющие этот код от ошибки оболочки
Profile может быть допустим для Windows Media 9 или более поздней версии, но намеренно отклоняться, если для session, возвращающей этот результат. Например, MBR-профиль масштабирует видео по audiences, но помечен как совместимый с Player 7.1. Сохраните он до того, как уровень интерфейса преобразует результат в общую ошибку запуска, захвата или профиля.
| Поле | Что сохранить |
|---|---|
| Решающие значения | ширина и высота для каждой audience и целевая совместимость |
| Объект, вернувший ошибку | результат DetectCompatibility, целевое поколение Player, число audiences, режим VBR, codec и format для каждой audience, размер кадра, флаг interlace и флаг non-square-pixel |
| Сопоставление с сеансом | то же поколение source group, индекс audience, идентичность объекта и последовательность callbacks, в которой был получен этот результат |
| Данные нижнего уровня | первый HRESULT COM, драйвера, файловой системы или codec, полученный до того, как Encoder сопоставил условие с этим результатом |
| Контролируемое сравнение | заведомо исправный сеанс, в котором изменяется только настройка границы «при требуемой совместимости с Player 7.1 audiences используют разные размеры кадра» |
Как интерпретировать следующее измерение
| Наблюдение | Как это интерпретировать |
|---|---|
| Наблюдение, подтверждающее он | Решающие данные: ширина и высота для каждой audience и целевая совместимость. Они подтверждают условие «при требуемой совместимости с Player 7.1 audiences используют разные размеры кадра» в том же поколении объекта. |
| Наблюдение, указывающее на более ранний сбой | Зафиксированные значения удовлетворяют правилу этой границы, но source, драйвер, COM activation или файловая операция раньше возвращает другой HRESULT для состояния «при требуемой совместимости с Player 7.1 audiences используют разные размеры кадра». |
| Наблюдение, указывающее на более поздний сбой | Encoder проходит эту границу («при требуемой совместимости с Player 7.1 audiences используют разные размеры кадра»), но затем codec, archive или broadcast sink завершается ошибкой на следующем этапе. |
| Проверка после исправления | Внесите одно изолированное изменение: использовать один общий размер кадра либо ориентироваться на версию Player, поддерживающую такой профиль. После этого исходный вызов должен пройти ту же контрольную точку. |
Практическое влияние он ограничен переходом «legacy player compatibility rules», которому принадлежит условие «при требуемой совместимости с Player 7.1 audiences используют разные размеры кадра». Сам по себе он не доказывает повреждение всех входных данных, отсутствие всех кодеков или неработоспособность всей установки Windows Media. В показательном случае, когда MBR-профиль масштабирует видео по audiences, но помечен как совместимый с Player 7.1, сохраните первый неуспешный вызов и идентификатор его объекта, чтобы более поздняя ошибка-оболочка не заменила данные о границе multiple video sizes.
Как интерпретировать следующее измерение
- Зафиксируйте
0xC00D1BBE, он, версию Encoder и точный вызов API или обращение к свойству, вернувшее ошибку. - Экспортируйте текущую конфигурацию
.wmeили.prxконфигурацию, затем зафиксируйте ширина и высота для каждой audience и целевая совместимость. - проверяйте предварительное условие «legacy player compatibility rules», не меняя одновременно source, profile и output sink.
- Выполните одно контролируемое сравнение, изменив только это условие: использовать один общий размер кадра либо ориентироваться на версию Player, поддерживающую такой профиль.
- После изменения пересоздайте затронутый объект Encoder; не предполагайте, что существующий graph автоматически отбросил прежнее состояние multiple video sizes.
Осторожно интерпретируйте соседние результаты
| Результат | Почему это другая граница |
|---|---|
NS_E_MULTIPLE_AUDIO_FORMATS | Внесите одно изолированное изменение: использовать один общий размер кадра либо ориентироваться на версию Player, поддерживающую такой профиль. |
NS_E_INVALID_INTERLACE_COMPAT | сохранение interlace конфликтует с целевым уровнем совместимости Player 7.1 |
NS_E_INVALID_VBR_COMPAT | VBR rate control конфликтует с выбранным целевым уровнем совместимости Windows Media Player 7.1 |
Устранение и проверка
Непосредственное исправление этого случая — использовать один общий размер кадра либо ориентироваться на версию Player, поддерживающую такой профиль. Пересоздайте соответствующий source group, profile или output object, повторите ту же операцию и убедитесь, что первый неуспешный HRESULT больше не возникает на контрольной точке multiple video sizes.
Не называйте результат проверки совместимости повреждением codec: сначала определите, действительно ли требуется поддержка старого Player. Это позволяет повторно проверить тот же сеанс с ним без потери исходных диагностических данных.
Ссылки для границы он — граница
- Определение совместимости профилей.
- IWMEncProfile2.VBRMode.
- Выбор видеокодека для аудитории.
- Добавление аудитории в профиль кодировщика.
Нужно найти другой код? Найти другой код состояния или ошибки.
