| Предыдущий | Следующий |
| 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.
Матрица диагностических признаков
- Зафиксируйте
0xC00D1B81, он, версию Encoder и точный вызов API или обращение к свойству, вернувшее ошибку. - Экспортируйте текущую конфигурацию
.wmeили.prxконфигурацию, затем зафиксируйте обнаруженная частота кадров в виде рациональных значений, порядок полей и выбранная опция inverse telecine. - Проверьте предусловие предварительной обработки, анализа и многопроходного кодирования, не изменяя одновременно источник, профиль и выходной приёмник.
- Выполните одно контролируемое сравнение, изменив только это условие: отключить inverse telecine либо предоставить источник с поддерживаемой частотой NTSC.
- После изменения пересоздайте затронутый объект 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_PREPROCESS | preprocessing или two-pass analysis запрошены, пока source настроен на loop |
Что изменить, а что оставить без изменений
Измените минимальное ответственное предварительное условие: отключить inverse telecine либо предоставить источник с поддерживаемой частотой NTSC. При повторной проверке этот результатсохраняйте неизменными все не связанные параметры источника, аудитории и выхода до повторения того же вызова.
Не включайте несколько preprocessing-функций одновременно: сначала проверьте обычный однопроходный источник, затем добавляйте преобразования по одному. Это позволяет повторно проверить тот же сеанс с ним без потери исходных диагностических данных.
Авторитетная документация
- Двухпроходное кодирование.
- IWMEncContentAnalyzer.Property.
- Списки решений монтажа для голосовых кодеков.
- IWMEncSource.Repeat.
Нужно найти другой код? Найти другой код состояния или ошибки.
