| Предыдущий | Следующий |
| NS_E_NO_PROFILE_NAME | NS_E_MULTIPLE_VBR_AUDIENCES |
NS_E_INVALID_VBR_WITH_UNCOMP
Где Encoder возвращает этот результат
0xC00D1BB4 (NS_E_INVALID_VBR_WITH_UNCOMP) диагностически значимое событие — режим VBR используется вместе с несжатым audio- или video-потоком. Сохраняйте границу, вернувшую этот результат, вместе с исходным callback Encoder или вызовом COM.
Аудиочасть профиля Encoder объединяет формат источника, codec, режим bitrate, средний и пиковый bitrate, ограничения buffer и схему каналов. Несколько audiences добавляют правила согласованности между audiences к ограничениям отдельных полей для состояния «режим VBR используется вместе с несжатым audio- или video-потоком». В сеансе, возвращающем этот результат, именно здесь проверяется условие «режим VBR используется вместе с несжатым audio- или video-потоком».
Что уже успешно выполнено
Кодек может быть установлен и всё же отклонять выбранное сочетание формата и битрейта; наличие кодека и допустимость профиля — разные проверки в сеансе, возвращающем этот результат. В показательном случае invalid vbr with uncomp PCM-аудио оставлено несжатым при глобально включённом VBR профиля. Он следует проверять на объекте, сформировавшем ошибку, а не считать общим сбоем кодека или операционной системы.
Снимок состояния, который нужно сохранить
| Поле | Что сохранить |
|---|---|
| Решающие значения | выбор кодека потока и VBRMode каждого потока |
| Объект, вернувший ошибку | исходный WAVEFORMATEX, индекс audience, индексы audio codec и format, режим VBR, средний/пиковый bitrate, размер buffer, число каналов, язык и целевую совместимость |
| Сопоставление с сеансом | то же поколение source group, индекс audience, идентичность объекта и последовательность callbacks, в которой был получен этот результат |
| Данные нижнего уровня | первый HRESULT COM, драйвера, файловой системы или codec, полученный до того, как Encoder сопоставил условие с ним |
| Контролируемое сравнение | заведомо исправный сеанс, в котором изменяется только настройка границы «режим VBR используется вместе с несжатым audio- или video-потоком» |
Как интерпретировать следующее наблюдение
| Наблюдение | Как это интерпретировать |
|---|---|
| Наблюдение, подтверждающее он | Решающие данные: выбор кодека потока и VBRMode каждого потока. Они подтверждают условие «режим VBR используется вместе с несжатым audio- или video-потоком» в том же поколении объекта. |
| Наблюдение, указывающее на более ранний сбой | Зафиксированные значения удовлетворяют правилу этой границы, но source, драйвер, COM activation или файловая операция раньше возвращает другой HRESULT. |
| Наблюдение, указывающее на более поздний сбой | Encoder проходит эту границу («режим VBR используется вместе с несжатым audio- или video-потоком»), но затем codec, archive или broadcast sink завершается ошибкой на следующем этапе. |
| Проверка после исправления | Внесите одно изолированное изменение: использовать сжатие вместе с VBR либо выбрать режим без VBR для несжатого вывода. После этого исходный вызов должен пройти ту же контрольную точку для состояния «режим VBR используется вместе с несжатым audio- или video-потоком». |
Практическое влияние он ограничен переходом «audio stream and audience settings», которому принадлежит условие «режим VBR используется вместе с несжатым audio- или video-потоком». Сам по себе он не доказывает повреждение всех входных данных, отсутствие всех кодеков или неработоспособность всей установки Windows Media. В показательном случае, когда PCM-аудио оставлено несжатым при глобально включённом VBR профиля, сохраните первый неуспешный вызов и идентификатор его объекта, чтобы более поздняя ошибка-оболочка не заменила данные о границе invalid vbr with uncomp.
Близкие HRESULT с другим смыслом
| Результат | Почему это другая граница |
|---|---|
NS_E_INPUT_WAVFORMAT_MISMATCH | несколько совместно используемых входных WAV имеют разные структуры WAVEFORMATEX |
NS_E_AUDIO_BITRATE_STEPDOWN | порядок аудиобитрейтов не соответствует возрастанию общего битрейта аудиторий |
NS_E_EXPECT_MONO_WAV_INPUT | input для voice analysis или optimization требует одноканальный WAV source |
Исправление на правильном уровне
Целевое исправление — использовать сжатие вместе с VBR либо выбрать режим без VBR для несжатого вывода. Повтор имеет смысл только после изменения зафиксированного предварительного условия invalid vbr with uncomp.
Не меняйте codec одновременно с исправляемым полем профиля: сначала сохраните отклонённые значения и подтвердите результат на том же codec. Это позволяет повторно проверить тот же сеанс с ним без потери исходных диагностических данных.
Технические ссылки
- Структура WAVEFORMATEX.
- IWMEncProfile2.VBRMode.
- Добавление аудитории в профиль кодировщика.
- Выбор метода кодирования.
Нужно найти другой код? Найти другой код состояния или ошибки.