Что означает код HRESULT 0xC00D1BA8 (NS_E_INPUT_DOESNOT_SUPPORT_SMPTE)?

 
Предыдущий Следующий
NS_E_NO_FRAMES_SUBMITTED_TO_ANALYZER NS_E_NO_SMPTE_WITH_MULTIPLE_SOURCEGROUPS

NS_E_INPUT_DOESNOT_SUPPORT_SMPTE

Где Encoder возвращает этот результат

0xC00D1BA8 (NS_E_INPUT_DOESNOT_SUPPORT_SMPTE) диагностически значимое событие — выбранный источник не может предоставить запрошенный SMPTE timecode. Сохраняйте границу, вернувшую этот результат, вместе с исходным callback Encoder или вызовом COM.

Timecode Encoder связан с видеопотоком, возможностями источника и выбранным режимом SMPTE. Значения времени device control включают frame rate и frame count, а генерируемый timecode добавляет ограничения совместимости для нескольких source groups и MBR profiles. В сеансе, возвращающем этот результат, именно здесь проверяется условие «выбранный источник не может предоставить запрошенный SMPTE timecode».

Что уже успешно выполнено

Источник может выдавать видеокадры, но не предоставлять пригодный device timecode либо нарушать topology, необходимую для генерируемого timecode, в сеансе, возвращающем этот результат. В показательном случае input doesnot support smpte обычный файловый источник без метаданных timecode обрабатывается как ленточное устройство. Он следует проверять на объекте, сформировавшем ошибку, а не считать общим сбоем кодека или операционной системы.

Снимок состояния, который нужно сохранить

ПолеЧто сохранить
Решающие значениятип источника, возможности управления устройством и результат первого чтения WMTIMECODE
Объект, вернувший ошибкуфлаг EnableTimecode, StartingTimecode, режим SMPTE, frame rate, настройку drop-frame, поддержку источником, число source groups, число audiences и первый sample timecode
Сопоставление с сеансомто же поколение source group, индекс audience, идентичность объекта и последовательность callbacks, в которой был получен этот результат
Данные нижнего уровняпервый HRESULT COM, драйвера, файловой системы или codec, полученный до того, как Encoder сопоставил условие с ним
Контролируемое сравнениезаведомо исправный сеанс, в котором изменяется только настройка границы «выбранный источник не может предоставить запрошенный SMPTE timecode»

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

НаблюдениеКак это интерпретировать
Наблюдение, подтверждающее онРешающие данные: тип источника, возможности управления устройством и результат первого чтения WMTIMECODE. Они подтверждают условие «выбранный источник не может предоставить запрошенный SMPTE timecode» в том же поколении объекта.
Наблюдение, указывающее на более ранний сбойЗафиксированные значения удовлетворяют правилу этой границы, но source, драйвер, COM activation или файловая операция раньше возвращает другой HRESULT для состояния «выбранный источник не может предоставить запрошенный SMPTE timecode».
Наблюдение, указывающее на более поздний сбойEncoder проходит эту границу («выбранный источник не может предоставить запрошенный SMPTE timecode»), но затем codec, archive или broadcast sink завершается ошибкой на следующем этапе.
Проверка после исправленияВнесите одно изолированное изменение: использовать сгенерированный timecode либо источник или устройство, предоставляющее данные SMPTE. После этого исходный вызов должен пройти ту же контрольную точку для состояния «выбранный источник не может предоставить запрошенный SMPTE timecode».

Практическое влияние он ограничен переходом «smpte timecode generation and validation», которому принадлежит условие «выбранный источник не может предоставить запрошенный SMPTE timecode». Сам по себе он не доказывает повреждение всех входных данных, отсутствие всех кодеков или неработоспособность всей установки Windows Media. В показательном случае, когда обычный файловый источник без метаданных timecode обрабатывается как ленточное устройство, сохраните первый неуспешный вызов и идентификатор его объекта, чтобы более поздняя ошибка-оболочка не заменила данные о границе input doesnot support smpte.

Близкие HRESULT с другим смыслом

РезультатПочему это другая граница
NS_E_NO_SMPTE_WITH_MULTIPLE_SOURCEGROUPSgenerated или source timecode запрашивается в сеансе с несколькими source groups
NS_E_INVALID_TIMECODEразбор или проверка диапазона настроенного starting timecode
NS_E_TIMECODE_REQUIRES_VIDEOSTREAMгенерация timecode включена в profile только с аудио

Исправление на правильном уровне

Целевое исправление — использовать сгенерированный timecode либо источник или устройство, предоставляющее данные SMPTE. Повтор имеет смысл только после изменения зафиксированного предварительного условия input doesnot support smpte.

Не преобразуйте timecode в строку wall-clock до сохранения исходного frame count, кода frame rate и режима drop-frame. Это позволяет повторно проверить тот же сеанс с ним без потери исходных диагностических данных.

Технические ссылки


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