Что означает код HRESULT 0xC00D1BB9 (NS_E_AUDIO_BITRATE_STEPDOWN)?

 
Предыдущий Следующий
NS_E_MULTIPLE_AUDIO_FORMATS NS_E_INVALID_AUDIO_PEAKRATE

NS_E_AUDIO_BITRATE_STEPDOWN

Сбойная граница в объектной модели Encoder

Практический смысл NS_E_AUDIO_BITRATE_STEPDOWN (0xC00D1BB9) не ограничивается стандартным сообщением выше. Код указывает, что в настройках аудиопотока и аудиторий порядок аудиобитрейтов не соответствует возрастанию общего битрейта аудиторий.

В сеансе, возвращающем NS_E_AUDIO_BITRATE_STEPDOWN, аудиочасть профиля кодировщика объединяет исходный формат, кодек, режим битрейта, среднюю и пиковую скорость, ограничения буфера и расположение каналов. В контрольной точке снижение битрейта аудио несколько аудиторий добавляют правила согласованности между аудиториями к диапазонам отдельных полей.

Данные, отделяющие этот код от ошибки оболочки

Кодек может быть установлен и всё же отклонять выбранное сочетание формата и битрейта; наличие кодека и допустимость профиля — разные проверки в сеансе, возвращающем NS_E_AUDIO_BITRATE_STEPDOWN. Например, аудитория с более высоким общим битрейтом может по ошибке получить самый низкий аудиоформат. Сохраните различие NS_E_AUDIO_BITRATE_STEPDOWN до того, как уровень интерфейса преобразует результат в общую ошибку запуска, захвата или профиля.

ПолеЧто сохранить
Решающие значенияотсортированные общие битрейты аудиторий и соответствующие им аудиобитрейты
Объект, вернувший ошибкуисходная структура WAVEFORMATEX, индекс аудитории, индексы аудиокодека и формата, режим VBR, средний и пиковый битрейт, размер буфера, число каналов, язык и целевая совместимость
Связь с сеансомто же поколение группы источников, индекс аудитории, идентификатор объекта и последовательность обратных вызовов, которые привели к NS_E_AUDIO_BITRATE_STEPDOWN
Данные нижнего уровняпервый HRESULT COM, драйвера, файловой системы или кодека, полученный до того, как Encoder сопоставил условие с NS_E_AUDIO_BITRATE_STEPDOWN
Контролируемое сравнениезаведомо рабочий сеанс, в котором изменён только параметр, указанный границей снижение битрейта аудио

Интерпретация следующего измерения

НаблюдениеКак его интерпретировать
Наблюдение подтверждает этот результатРешающими данными являются отсортированные общие битрейты аудиторий и соответствующие им аудиобитрейты. Они подтверждают, что порядок аудиобитрейтов не соответствует возрастанию общего битрейта аудиторий в том же поколении объекта.
Наблюдение указывает на более ранний сбойЗафиксированные значения удовлетворяют правилу снижение битрейта аудио, но источник, драйвер, активация COM или файловая операция раньше возвращает другой HRESULT.
Наблюдение указывает на более поздний сбойEncoder проходит эту границу — порядок аудиобитрейтов не соответствует возрастанию общего битрейта аудиторий, — но затем на следующей стадии происходит сбой кодека, архива или приёмника трансляции.
Проверка после исправленияВнесите одно изолированное изменение: аудиобитрейт не должен уменьшаться при увеличении общего битрейта аудитории. После этого исходный вызов снижение битрейта аудио должен пройти ту же контрольную точку.

Практическое влияние NS_E_AUDIO_BITRATE_STEPDOWN ограничено переходом настроек аудиопотока и аудиторий, которому принадлежит несоответствие порядка аудиобитрейтов возрастанию общего битрейта аудиторий. Само по себе NS_E_AUDIO_BITRATE_STEPDOWN не доказывает, что повреждены все входные данные, отсутствуют все кодеки или полностью неработоспособна установка Windows Media. В типичном случае, когда аудитория с более высоким общим битрейтом по ошибке получает самый низкий аудиоформат, сохраните первый сбойный вызов и идентификатор его объекта, чтобы последующая оболочка не заменила данные снижение битрейта аудио.

Проверка условия без перестройки всего сеанса

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

Осторожно интерпретируйте соседние результаты

РезультатПочему это другая граница
NS_E_INVALID_VBR_WITH_UNCOMPрежим VBR сочетается с несжатым аудио- или видеопотоком
NS_E_INVALID_AUDIO_PEAKRATEпиковый аудиобитрейт находится вне допустимого диапазона кодека или режима
NS_E_INPUT_WAVFORMAT_MISMATCHнесколько совместно используемых входных WAV имеют разные структуры WAVEFORMATEX

Устранение и проверка

Прямое исправление для этого случая — сделать аудиобитрейт неубывающим при увеличении общего битрейта аудитории. Пересоздайте затронутую группу источников, профиль или выходной объект, повторите ту же операцию и убедитесь, что первый сбойный HRESULT больше не поступает из контрольной точки снижение битрейта аудио.

Не подставляйте другой кодек до сохранения точных значений профиля, отклонённых проверкой; иначе несовместимое сочетание невозможно будет определить в сеансе, возвращающем NS_E_AUDIO_BITRATE_STEPDOWN.

Ссылки для NS_E_AUDIO_BITRATE_STEPDOWN — диагностической границы


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