| Предыдущий | Следующий |
| NS_E_AUDIO_BITRATE_STEPDOWN | NS_E_INVALID_AUDIO_PEAKRATE_2 |
NS_E_INVALID_AUDIO_PEAKRATE
Где Encoder возвращает этот результат
0xC00D1BBA (NS_E_INVALID_AUDIO_PEAKRATE) диагностически значимое событие — пиковый audio bitrate находится вне допустимого диапазона кодека или режима. Сохраняйте границу, вернувшую NS_E_INVALID_AUDIO_PEAKRATE, вместе с исходным callback Encoder или вызовом COM.
Аудиочасть профиля Encoder объединяет формат источника, codec, режим bitrate, средний и пиковый bitrate, ограничения buffer и схему каналов для состояния «пиковый audio bitrate находится вне допустимого диапазона кодека или режима». Несколько audiences добавляют правила согласованности между audiences к ограничениям отдельных полей для условия «пиковый audio bitrate находится вне допустимого диапазона кодека или режима». В сеансе, возвращающем NS_E_INVALID_AUDIO_PEAKRATE, именно здесь проверяется условие «пиковый audio bitrate находится вне допустимого диапазона кодека или режима».
Что уже успешно выполнено
Кодек может быть установлен и всё же отклонять выбранное сочетание формата и битрейта; наличие кодека и допустимость профиля — разные проверки в сеансе, возвращающем NS_E_INVALID_AUDIO_PEAKRATE. В показательном случае invalid audio peakrate конфигурация импортирует пиковое значение, предназначенное для другого аудиокодека. NS_E_INVALID_AUDIO_PEAKRATE следует проверять на объекте, сформировавшем ошибку, а не считать общим сбоем кодека или операционной системы.
Снимок состояния, который нужно сохранить
| Поле | Что сохранить |
|---|---|
| Решающие значения | кодек, режим VBR, средний bitrate и запрошенный пиковый bitrate |
| Объект, вернувший ошибку | исходный WAVEFORMATEX, индекс audience, индексы audio codec и format, режим VBR, средний/пиковый bitrate, размер buffer, число каналов, язык и целевую совместимость |
| Сопоставление с сеансом | то же поколение source group, индекс audience, идентичность объекта и последовательность callbacks, в которой был получен NS_E_INVALID_AUDIO_PEAKRATE |
| Данные нижнего уровня | первый HRESULT COM, драйвера, файловой системы или codec, полученный до того, как Encoder сопоставил условие с NS_E_INVALID_AUDIO_PEAKRATE |
| Контролируемое сравнение | заведомо исправный сеанс, в котором изменяется только настройка границы «пиковый audio bitrate находится вне допустимого диапазона кодека или режима» |
Как интерпретировать следующее наблюдение
| Наблюдение | Как это интерпретировать |
|---|---|
| Наблюдение, подтверждающее этот результат | Решающие данные: кодек, режим VBR, средний bitrate и запрошенный пиковый bitrate. Они подтверждают условие «пиковый audio bitrate находится вне допустимого диапазона кодека или режима» в том же поколении объекта. |
| Наблюдение, указывающее на более ранний сбой | Зафиксированные значения удовлетворяют правилу этой границы, но source, драйвер, COM activation или файловая операция раньше возвращает другой HRESULT в сценарии «пиковый audio bitrate находится вне допустимого диапазона кодека или режима». |
| Наблюдение, указывающее на более поздний сбой | Encoder проходит эту границу («пиковый audio bitrate находится вне допустимого диапазона кодека или режима»), но затем codec, archive или broadcast sink завершается ошибкой на следующем этапе. |
| Проверка после исправления | Внесите одно изолированное изменение: выбрать пиковый bitrate, допустимый для выбранного кодека и режима управления скоростью. После этого исходный вызов должен пройти ту же контрольную точку для условия «пиковый audio bitrate находится вне допустимого диапазона кодека или режима». |
Практическое влияние NS_E_INVALID_AUDIO_PEAKRATE ограничен переходом «audio stream and audience settings», которому принадлежит условие «пиковый audio bitrate находится вне допустимого диапазона кодека или режима». Для NS_E_INVALID_AUDIO_PEAKRATE, сам по себе этот результат не доказывает повреждение всех входных данных, отсутствие всех кодеков или неработоспособность всей установки Windows Media. В показательном случае, когда конфигурация импортирует пиковое значение, предназначенное для другого аудиокодека, сохраните первый неуспешный вызов и идентификатор его объекта, чтобы более поздняя ошибка-оболочка не заменила данные о границе invalid audio peakrate.
Контролируемая последовательность диагностики
- Зафиксируйте
0xC00D1BBA,NS_E_INVALID_AUDIO_PEAKRATE, версию Encoder и точный вызов API или обращение к свойству, вернувшее ошибку. - Экспортируйте текущую конфигурацию
.wmeили.prxконфигурацию, затем зафиксируйте кодек, режим VBR, средний bitrate и запрошенный пиковый bitrate. - Для
NS_E_INVALID_AUDIO_PEAKRATEпроверьте предварительное условие настроек аудиопотока и аудиторий, не меняя одновременно источник, профиль и выходной приёмник. - Выполните одно контролируемое сравнение, изменив только это условие: выбрать пиковый bitrate, допустимый для выбранного кодека и режима управления скоростью.
- После изменения пересоздайте затронутый объект Encoder; не предполагайте, что существующий graph автоматически отбросил прежнее состояние invalid audio peakrate.
Близкие HRESULT с другим смыслом
| Результат | Почему это другая граница |
|---|---|
NS_E_AUDIO_BITRATE_STEPDOWN | Внесите одно изолированное изменение: выбрать пиковый bitrate, допустимый для выбранного кодека и режима управления скоростью. После этого исходный вызов должен пройти ту же контрольную точку для условия «пиковый audio bitrate находится вне допустимого диапазона кодека или режима». |
NS_E_INVALID_AUDIO_PEAKRATE_2 | peak bitrate аудио не превышает настроенный средний bitrate, когда этого требует constrained VBR |
NS_E_INVALID_VBR_WITH_UNCOMP | режим VBR сочетается с несжатым аудио- или видеопотоком |
Исправление на правильном уровне
Для NS_E_INVALID_AUDIO_PEAKRATE, целевое исправление — выбрать пиковый bitrate, допустимый для выбранного кодека и режима управления скоростью. Повтор имеет смысл только после изменения зафиксированного предварительного условия invalid audio peakrate.
Не меняйте codec одновременно с исправляемым полем профиля: сначала сохраните отклонённые значения и подтвердите результат на том же codec для условия «пиковый audio bitrate находится вне допустимого диапазона кодека или режима». Это позволяет повторно проверить тот же сеанс с NS_E_INVALID_AUDIO_PEAKRATE без потери исходных диагностических данных.
Технические ссылки для NS_E_INVALID_AUDIO_PEAKRATE
- Структура WAVEFORMATEX.
- IWMEncProfile2.VBRMode.
- Добавление аудитории в профиль кодировщика.
- Выбор метода кодирования.
Нужно найти другой код? Найти другой код состояния или ошибки.