| Предыдущий | Следующий |
| NS_E_PROFILE_MISMATCH | NS_E_NOSTATSAVAILABLE |
NS_E_INCORRECTCLIPSETTINGS
Граница сбоя в объектной модели Encoder
Практический смысл NS_E_INCORRECTCLIPSETTINGS (0xC00D1B7C) не сводится к стандартному сообщению: код указывает на проверка полей обрезки относительно размеров источника в области «согласование видеозахвата и compressor».
Live-источник видео проходит открытие устройства, согласование формата захвата, необязательный clipping и настройку preview window до того, как Encoder codec принимает кадры. Ширина, высота, pixel format и состояние драйвера относятся к этой границе. В сеансе, возвращающем этот результат, именно здесь проверяется условие «проверка полей обрезки относительно размеров источника».
Данные, отделяющие этот код от ошибки оболочки
Наличие устройства в результатах перечисления или получение кадра предварительного просмотра не доказывает, что запрошенный формат захвата может непрерывно передаваться кодировщику в сеансе, возвращающем этот результат. Например, сохранённые значения обрезки от режима камеры с большим разрешением после изменения разрешения удаляют всё изображение. Сохраните он до того, как уровень интерфейса преобразует результат в общую ошибку запуска, захвата или профиля.
| Поле | Что сохранить |
|---|---|
| Решающие значения | ширина и высота источника, а также значения обрезки слева, сверху, справа и снизу после всех преобразований интерфейса |
| Объект, вернувший ошибку | device moniker, версию драйвера, запрошенные и native width/height, frame rate, BITMAPINFOHEADER compression и bit depth, состояние preview, результат source plug-in и первую ошибку драйвера |
| Сопоставление с сеансом | то же поколение source group, индекс audience, идентичность объекта и последовательность callbacks, в которой был получен этот результат |
| Данные нижнего уровня | первый HRESULT COM, драйвера, файловой системы или codec, полученный до того, как Encoder сопоставил условие с этим результатом |
| Контролируемое сравнение | заведомо исправный сеанс, в котором изменяется только настройка границы «проверка полей обрезки относительно размеров источника» |
Как интерпретировать следующее измерение
| Наблюдение | Как это интерпретировать |
|---|---|
| Наблюдение, подтверждающее он | Решающие данные: ширина и высота источника, а также значения обрезки слева, сверху, справа и снизу после всех преобразований интерфейса. Они подтверждают условие «проверка полей обрезки относительно размеров источника» в том же поколении объекта. |
| Наблюдение, указывающее на более ранний сбой | Зафиксированные значения удовлетворяют правилу этой границы, но source, драйвер, COM activation или файловая операция раньше возвращает другой HRESULT для состояния «проверка полей обрезки относительно размеров источника». |
| Наблюдение, указывающее на более поздний сбой | Encoder проходит эту границу («проверка полей обрезки относительно размеров источника»), но затем codec, archive или broadcast sink завершается ошибкой на следующем этапе. |
| Проверка после исправления | Внесите одно изолированное изменение: выбрать неотрицательные поля, суммы которых оставляют положительный размер области захвата. После этого исходный вызов должен пройти ту же контрольную точку при проверке «проверка полей обрезки относительно размеров источника». |
Практическое влияние он ограничен переходом «видеозахват и согласование компрессора», которому принадлежит условие «проверка полей обрезки относительно размеров источника». Сам по себе он не доказывает повреждение всех входных данных, отсутствие всех кодеков или неработоспособность всей установки Windows Media. В показательном случае, когда сохранённые значения обрезки от режима камеры с большим разрешением после изменения разрешения удаляют всё изображение, сохраните первый неуспешный вызов и идентификатор его объекта, чтобы более поздняя ошибка-оболочка не заменила данные о границе incorrectclipsettings.
Как интерпретировать следующее измерение
- Зафиксируйте
0xC00D1B7C, он, версию Encoder и точный вызов API или обращение к свойству, вернувшее ошибку. - Экспортируйте текущую конфигурацию
.wmeили.prxконфигурацию, затем зафиксируйте ширина и высота источника, а также значения обрезки слева, сверху, справа и снизу после всех преобразований интерфейса. - Проверьте предварительное условие видеозахвата и согласования компрессора, не меняя одновременно источник, профиль и выходной приёмник.
- Выполните одно контролируемое сравнение, изменив только это условие: выбрать неотрицательные поля, суммы которых оставляют положительный размер области захвата.
- После изменения пересоздайте затронутый объект Encoder; не предполагайте, что существующий graph автоматически отбросил прежнее состояние incorrectclipsettings.
Осторожно интерпретируйте соседние результаты
| Результат | Почему это другая граница |
|---|---|
NS_E_VIDCAPDRVINUSE | Внесите одно изолированное изменение: выбрать неотрицательные поля, суммы которых оставляют положительный размер области захвата. |
NS_E_NO_DATAVIEW_SUPPORT | запрос данных панели Encoder Video у источника или выходного пути, не способного предоставлять образцы предварительного просмотра |
NS_E_VIDCAPCREATEWINDOW | создание скрытого или видимого capture window, необходимого устаревшему пути захвата |
Устранение и проверка
Непосредственное исправление этого случая — выбрать неотрицательные поля, суммы которых оставляют положительный размер области захвата. Пересоздайте соответствующий source group, profile или output object, повторите ту же операцию и убедитесь, что первый неуспешный HRESULT больше не возникает на контрольной точке incorrectclipsettings.
После сохранения первой ошибки не повторяйте бесконечно запрос к нестабильному capture driver в том же процессе; закройте graph и повторите проверку с одним известным форматом. Это позволяет повторно проверить тот же сеанс с ним без потери исходных диагностических данных.
Ссылки для границы он — граница
- IWMEncVideoSource2.Width и размер живого захвата.
- Структура BITMAPINFOHEADER.
- Проверка формата видеокомпрессора ICCompressQuery.
- Получение настроенного входа кодировщика.
Нужно найти другой код? Найти другой код состояния или ошибки.
