Что означает код HRESULT 0xC00D1B86 (NS_E_NO_REALTIME_TIMECOMPRESSION)?

 
Предыдущий Следующий
NS_E_SOURCE_NOTSPECIFIED NS_E_UNSUPPORTED_ENCODER_DEVICE

NS_E_NO_REALTIME_TIMECOMPRESSION

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

0xC00D1B86 соответствует NS_E_NO_REALTIME_TIMECOMPRESSION. Практическая область этого результата — настраивается time compression для live broadcast, который нельзя перечитать или выполнить быстрее реального времени; она относится к «ограничения preprocessing, анализа и многопроходного кодирования», а не ко всем компонентам Windows Media или Windows.

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

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

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

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

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

Матрица диагностических данных

НаблюдениеКак это интерпретировать
Наблюдение, подтверждающее онРешающие данные: флаги live/broadcast, тип source, запрошенный коэффициент compression и output mode. Они подтверждают условие «настраивается time compression для live broadcast, который нельзя перечитать или выполнить быстрее реального времени» в том же поколении объекта.
Наблюдение, указывающее на более ранний сбойЗафиксированные значения удовлетворяют правилу этой границы, но source, driver, COM activation или file operation раньше возвращает другой HRESULT.
Наблюдение, указывающее на более поздний сбойEncoder проходит эту границу («настраивается time compression для live broadcast, который нельзя перечитать или выполнить быстрее реального времени»), но затем codec, archive или broadcast sink завершается ошибкой на следующем этапе.
Проверка после исправленияПримените одно изолированное изменение: использовать file-based session для time compression либо отключить его для live broadcast. После этого исходный вызов должен пройти ту же контрольную точку для состояния «настраивается time compression для live broadcast, который нельзя перечитать или выполнить быстрее реального времени».

Практическое влияние он ограничен переходом «preprocessing, analysis and multipass constraints», которому принадлежит условие «настраивается time compression для live broadcast, который нельзя перечитать или выполнить быстрее реального времени». Сам по себе код не доказывает, что повреждены все входные данные, отсутствуют все codecs или полностью неработоспособна установка Windows Media. Типичный сценарий: сеанс live camera настроен на сокращённую длительность output. Сохраните первый отказавший вызов и идентичность его объекта, чтобы более поздний wrapper не скрыл данные границы «настраивается time compression для live broadcast, который нельзя перечитать или выполнить быстрее реального времени».

Минимальный эксперимент

  1. Зафиксируйте 0xC00D1B86, он, версию Encoder и точный вызов API или обращение к свойству, вернувшее ошибку.
  2. Экспортируйте текущую конфигурацию .wme или .prx конфигурацию, затем зафиксируйте флаги live/broadcast, тип source, запрошенный коэффициент compression и output mode.
  3. Проверьте предусловие предварительной обработки, анализа и многопроходного кодирования, не изменяя одновременно источник, профиль и выходной приёмник.
  4. Выполните одно контролируемое сравнение, изменив только это условие: использовать file-based session для time compression либо отключить его для live broadcast.
  5. После изменения пересоздайте затронутый объект Encoder, а не предполагайте, что существующий graph автоматически отбросил прежнее ошибочное состояние для состояния «настраивается time compression для live broadcast, который нельзя перечитать или выполнить быстрее реального времени».

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

РезультатПочему это другая граница
NS_E_INVALIDINPUTFPSпроверка inverse telecine, требующая ожидаемой входной частоты 30 кадров/с
NS_E_NO_REALTIME_PREPROCESSпредварительная обработка image запрошена для live source, который не может выполнить требуемый look-ahead или повторное чтение
NS_E_NO_REPEAT_PREPROCESSpreprocessing или two-pass analysis запрошены, пока source настроен на loop

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

Измените минимальное ответственное предварительное условие: использовать file-based session для time compression либо отключить его для live broadcast. При повторной проверке этот результатсохраняйте неизменными все не связанные параметры источника, аудитории и выхода до повторения того же вызова.

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

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


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