Что означает код HRESULT 0xC00D1BBA (NS_E_INVALID_AUDIO_PEAKRATE)?

 
Предыдущий Следующий
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.

Контролируемая последовательность диагностики

  1. Зафиксируйте 0xC00D1BBA, NS_E_INVALID_AUDIO_PEAKRATE, версию Encoder и точный вызов API или обращение к свойству, вернувшее ошибку.
  2. Экспортируйте текущую конфигурацию .wme или .prx конфигурацию, затем зафиксируйте кодек, режим VBR, средний bitrate и запрошенный пиковый bitrate.
  3. Для NS_E_INVALID_AUDIO_PEAKRATEпроверьте предварительное условие настроек аудиопотока и аудиторий, не меняя одновременно источник, профиль и выходной приёмник.
  4. Выполните одно контролируемое сравнение, изменив только это условие: выбрать пиковый bitrate, допустимый для выбранного кодека и режима управления скоростью.
  5. После изменения пересоздайте затронутый объект Encoder; не предполагайте, что существующий graph автоматически отбросил прежнее состояние invalid audio peakrate.

Близкие HRESULT с другим смыслом

РезультатПочему это другая граница
NS_E_AUDIO_BITRATE_STEPDOWNВнесите одно изолированное изменение: выбрать пиковый bitrate, допустимый для выбранного кодека и режима управления скоростью. После этого исходный вызов должен пройти ту же контрольную точку для условия «пиковый audio bitrate находится вне допустимого диапазона кодека или режима».
NS_E_INVALID_AUDIO_PEAKRATE_2peak 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


Нужно найти другой код? Найти другой код состояния или ошибки.