Site icon EfmSoft

Что означает код HRESULT 0xC00D1B7C (NS_E_INCORRECTCLIPSETTINGS)?

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

Как интерпретировать следующее измерение

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

Ссылки для границы он — граница


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

Exit mobile version