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