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