Что означает код HRESULT 0xC00D1B81 (NS_E_INVALIDINPUTFPS)?

 
Предыдущий Следующий
NS_E_NOSOURCEGROUPS NS_E_NO_DATAVIEW_SUPPORT

NS_E_INVALIDINPUTFPS

Как интерпретировать код в реальном сеансе кодирования

0xC00D1B81 соответствует NS_E_INVALIDINPUTFPS. Практическая область этого результата — проверка inverse telecine, требующая ожидаемой входной частоты 30 кадров/с; она относится к «ограничения preprocessing, анализа и многопроходного кодирования», а не ко всем компонентам Windows Media или Windows.

Механизм и точка сбоя

Inverse telecine, time compression, image preprocessing, content analysis и two-pass encoding требуют определённых типов источников и нередко возможности повторно читать либо временно сохранять источник. Live-, looping- и device-inputs накладывают дополнительные ограничения. В сеансе, возвращающем этот результат, именно здесь проверяется условие «проверка inverse telecine, требующая ожидаемой входной частоты 30 кадров/с».

Исходные аудио- или видеоданные могут быть исправны, хотя требуемый процесс предварительной обработки невозможен при данном жизненном цикле источника в сеансе, возвращающем этот результат. Типичный сценарий воспроизведения: 25-кадровый PAL-файл обрабатывается preset, в котором включён inverse telecine. Первый результат Encoder ценнее более позднего общего сообщения.

Матрица воспроизведения

ПолеЧто сохранить
Решающие значенияобнаруженная частота кадров в виде рациональных значений, порядок полей и выбранная опция inverse telecine
Объект, вернувший ошибкутип источника, флаг live/file, флаг Repeat, число проходов, настройку temporary storage, preprocessing filters, число кадров analyzer, входной frame rate, путь content EDL и выбранный режим codec
Сопоставление с сеансомто же поколение source group, индекс audience, идентичность объекта и последовательность callbacks, в которой был получен этот результат
Данные нижнего уровняпервый HRESULT COM, драйвера, файловой системы или codec, полученный до того, как Encoder сопоставил условие с ним
Контролируемое сравнениезаведомо исправный сеанс, в котором изменяется только настройка границы «проверка inverse telecine, требующая ожидаемой входной частоты 30 кадров/с»

Матрица диагностических признаков

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

Практическое влияние он ограничен переходом «preprocessing, analysis and multipass constraints», которому принадлежит условие «проверка inverse telecine, требующая ожидаемой входной частоты 30 кадров/с». Сам по себе он не доказывает повреждение всех входных данных, отсутствие всех кодеков или неработоспособность всей установки Windows Media. В показательном случае, когда 25-кадровый PAL-файл обрабатывается preset, в котором включён inverse telecine, сохраните первый неуспешный вызов и идентификатор его объекта, чтобы более поздняя ошибка-оболочка не заменила данные о границе invalidinputfps.

Матрица диагностических признаков

  1. Зафиксируйте 0xC00D1B81, он, версию Encoder и точный вызов API или обращение к свойству, вернувшее ошибку.
  2. Экспортируйте текущую конфигурацию .wme или .prx конфигурацию, затем зафиксируйте обнаруженная частота кадров в виде рациональных значений, порядок полей и выбранная опция inverse telecine.
  3. Проверьте предусловие предварительной обработки, анализа и многопроходного кодирования, не изменяя одновременно источник, профиль и выходной приёмник.
  4. Выполните одно контролируемое сравнение, изменив только это условие: отключить inverse telecine либо предоставить источник с поддерживаемой частотой NTSC.
  5. После изменения пересоздайте затронутый объект Encoder; не предполагайте, что существующий graph автоматически отбросил прежнее состояние invalidinputfps.

Не объединяйте следующие результаты

РезультатПочему это другая граница
NS_E_NO_REALTIME_TIMECOMPRESSIONнастройка time compression для live broadcast, который нельзя перечитать или запланировать быстрее реального времени
NS_E_NO_REALTIME_PREPROCESSпредварительная обработка image запрошена для live source, который не может выполнить требуемый look-ahead или повторное чтение
NS_E_NO_REPEAT_PREPROCESSpreprocessing или two-pass analysis запрошены, пока source настроен на loop

Что изменить, а что оставить без изменений

Измените минимальное ответственное предварительное условие: отключить inverse telecine либо предоставить источник с поддерживаемой частотой NTSC. При повторной проверке этот результатсохраняйте неизменными все не связанные параметры источника, аудитории и выхода до повторения того же вызова.

Не включайте несколько preprocessing-функций одновременно: сначала проверьте обычный однопроходный источник, затем добавляйте преобразования по одному. Это позволяет повторно проверить тот же сеанс с ним без потери исходных диагностических данных.

Авторитетная документация


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