| Предыдущий | Следующий |
| NS_E_INVALID_VIDEO_CQUALITY | NS_E_INVALID_VIDEO_BUFFERMAX |
NS_E_INVALID_VIDEO_BUFFER
Как интерпретировать код в реальном сеансе кодирования
0xC00D1BC9 соответствует NS_E_INVALID_VIDEO_BUFFER. Практическая область этого результата — настройка видеобуфера недопустима для выбранных кодека и режима bitrate; она относится к «параметры видеопотока и audiences», а не ко всем компонентам Windows Media или Windows.
Механизм и точка сбоя
Видеопрофиль выбирает codec и режим управления bitrate, затем задаёт bitrate, peak rate, frame rate, размер кадра, интервал key frame, quality, buffer и необязательные параметры interlace и pixel aspect ratio. В сеансе, возвращающем этот результат, именно здесь проверяется условие «настройка видеобуфера недопустима для выбранных кодека и режима bitrate».
Предварительный просмотр source не подтверждает допустимость выходного profile: выбранный encoder codec отдельно проверяет размеры выхода и параметры управления bitrate в сеансе, возвращающем этот результат. Типичный сценарий воспроизведения: инструмент конфигурации путает секунды с миллисекундами. Первый результат Encoder ценнее более позднего общего сообщения.
Матрица воспроизведения
| Поле | Что сохранить |
|---|---|
| Решающие значения | значение и единицы буфера, средний bitrate, кодек и индекс audience |
| Объект, вернувший ошибку | индекс audience, FOURCC/индекс codec, режим VBR, ширину и высоту, frame rate, средний и пиковый bitrate, значения buffer, интервал key frame, quality, режим interlace и pixel aspect ratio |
| Сопоставление с сеансом | то же поколение source group, индекс audience, идентичность объекта и последовательность callbacks, в которой был получен этот результат |
| Данные нижнего уровня | первый HRESULT COM, драйвера, файловой системы или codec, полученный до того, как Encoder сопоставил условие с ним |
| Контролируемое сравнение | заведомо исправный сеанс, в котором изменяется только настройка границы «настройка видеобуфера недопустима для выбранных кодека и режима bitrate» |
Матрица диагностических признаков
| Наблюдение | Как это интерпретировать |
|---|---|
| Наблюдение, подтверждающее он | Решающие данные: значение и единицы буфера, средний bitrate, кодек и индекс audience. Они подтверждают условие «настройка видеобуфера недопустима для выбранных кодека и режима bitrate» в том же поколении объекта. |
| Наблюдение, указывающее на более ранний сбой | Зафиксированные значения удовлетворяют правилу этой границы, но source, драйвер, COM activation или файловая операция раньше возвращает другой HRESULT для состояния «настройка видеобуфера недопустима для выбранных кодека и режима bitrate». |
| Наблюдение, указывающее на более поздний сбой | Encoder проходит эту границу («настройка видеобуфера недопустима для выбранных кодека и режима bitrate»), но затем codec, archive или broadcast sink завершается ошибкой на следующем этапе. |
| Проверка после исправления | Внесите одно изолированное изменение: выбрать поддерживаемую длительность или размер буфера в правильных единицах API. После этого исходный вызов должен пройти ту же контрольную точку для состояния «настройка видеобуфера недопустима для выбранных кодека и режима bitrate». |
Практическое влияние он ограничен переходом «video stream and audience settings», которому принадлежит условие «настройка видеобуфера недопустима для выбранных кодека и режима bitrate». Сам по себе он не доказывает повреждение всех входных данных, отсутствие всех кодеков или неработоспособность всей установки Windows Media. В показательном случае, когда инструмент конфигурации путает секунды с миллисекундами, сохраните первый неуспешный вызов и идентификатор его объекта, чтобы более поздняя ошибка-оболочка не заменила данные о границе invalid video buffer.
Матрица диагностических признаков
- Зафиксируйте
0xC00D1BC9, он, версию Encoder и точный вызов API или обращение к свойству, вернувшее ошибку. - Экспортируйте текущую конфигурацию
.wmeили.prxконфигурацию, затем зафиксируйте значение и единицы буфера, средний bitrate, кодек и индекс audience. - проверяйте предварительное условие «video stream and audience settings», не меняя одновременно source, profile и output sink.
- Выполните одно контролируемое сравнение, изменив только это условие: выбрать поддерживаемую длительность или размер буфера в правильных единицах API.
- После изменения пересоздайте затронутый объект Encoder; не предполагайте, что существующий graph автоматически отбросил прежнее состояние invalid video buffer.
Не объединяйте следующие результаты
| Результат | Почему это другая граница |
|---|---|
NS_E_INVALID_VIDEO_CQUALITY | Внесите одно изолированное изменение: выбрать поддерживаемую длительность или размер буфера в правильных единицах API. |
NS_E_INVALID_VIDEO_BUFFERMAX | максимальное значение video buffer находится вне допустимого диапазона |
NS_E_INVALID_VIDEO_IQUALITY | параметр image quality/sharpness видео находится вне допустимого диапазона |
Что изменить, а что оставить без изменений
Измените минимальное ответственное предварительное условие: выбрать поддерживаемую длительность или размер буфера в правильных единицах API. При повторной проверке этот результатсохраняйте неизменными все не связанные параметры источника, аудитории и выхода до повторения того же вызова.
Не меняйте одновременно источник, codec и размеры кадра; сначала сохраните отклонённые значения профиля и повторите тот же вызов с одним исправлением. Это позволяет повторно проверить тот же сеанс с ним без потери исходных диагностических данных.
Авторитетная документация
- Выбор видеокодека для аудитории.
- IWMEncProfile2.VBRMode.
- IWMEncVideoSource2.Width и размер живого захвата.
- Режим непрямоугольных пикселей в профиле кодировщика.
Нужно найти другой код? Найти другой код состояния или ошибки.