| Предыдущий | Следующий |
| NS_E_INVALID_TIMECODE | NS_E_NO_TWOPASS_TIMECOMPRESSION |
NS_E_NO_AUDIO_TIMECOMPRESSION
Граница сбоя в объектной модели Encoder
Практически полезная интерпретация NS_E_NO_AUDIO_TIMECOMPRESSION (0xC00D1BD7) — это не просто стандартное сообщение, приведённое выше. Оно указывает на time compression включён для сеанса без аудиопотока внутри ограничений предварительной обработки, анализа и многопроходного кодирования.
Inverse telecine, time compression, предварительная обработка изображения, анализ содержимого и двухпроходное кодирование требуют доступа к определённым типам источников и часто повторного чтения или временного хранения источника в сеансе, возвращающем NS_E_NO_AUDIO_TIMECOMPRESSION. Для live, looping и device inputs на этой контрольной точке действуют дополнительные ограничения для состояния «time compression включён для сеанса без аудиопотока».
Данные, отличающие этот код от ошибки оболочки
Исходный audio- или video-источник может быть исправен, хотя запрошенная предварительная обработка невозможна для жизненного цикла этого источника в сеансе, возвращающем NS_E_NO_AUDIO_TIMECOMPRESSION. Например, video-only conversion наследует preset, сжимающий presentation time. Сохраните NS_E_NO_AUDIO_TIMECOMPRESSION различие до того, как уровень интерфейса преобразует результат в общую ошибку запуска, захвата или профиля.
| Поле | Что сохранить |
|---|---|
| Решающие значения | ContentType profile, число audio sources и настройка time compression |
| Объект, вернувший ошибку | тип источника, флаг live/file, флаг Repeat, число проходов, настройку временного хранения, фильтры предварительной обработки, число кадров анализатора, входную частоту кадров, путь к EDL содержимого и выбранный режим кодека |
| Связь с сеансом | то же поколение source group, индекс audience, идентичность объекта и последовательность callback, которые привели к NS_E_NO_AUDIO_TIMECOMPRESSION |
| Данные нижнего уровня | первый HRESULT COM, драйвера, файловой системы или кодека, зафиксированный до того, как Encoder сопоставил условие с NS_E_NO_AUDIO_TIMECOMPRESSION |
| Контролируемое сравнение | заведомо рабочий сеанс, в котором изменяется только настройка, относящаяся к границе этого HRESULT |
Интерпретация следующего измерения
| Наблюдение | Как это интерпретировать |
|---|---|
| Наблюдение, подтверждающее этот результат | Решающие данные: ContentType profile, число audio sources и настройка time compression. Они подтверждают, что time compression включён для сеанса без аудиопотока в том же поколении объекта. |
| Наблюдение, указывающее на более ранний сбой | Зафиксированные значения удовлетворяют условию этого HRESULT, однако source, драйвер, COM activation или file operation раньше возвращает другой HRESULT при проверке «time compression включён для сеанса без аудиопотока». |
| Наблюдение, указывающее на более поздний сбой | Encoder проходит эту границу (time compression включён для сеанса без аудиопотока), но затем на следующем этапе происходит сбой codec, archive или broadcast sink. |
| Проверка после исправления | Примените одно изолированное изменение: добавить требуемый аудиопоток или отключить time compression. После этого исходный вызов должен пройти ту же контрольную точку на границе «time compression включён для сеанса без аудиопотока». |
Практическое влияние NS_E_NO_AUDIO_TIMECOMPRESSION ограничен переходом «preprocessing, analysis and multipass constraints», которому принадлежит условие «time compression включён для сеанса без аудиопотока». Для NS_E_NO_AUDIO_TIMECOMPRESSION, сам по себе этот результат не доказывает повреждение всех входных данных, отсутствие всех кодеков или неработоспособность всей установки Windows Media. В показательном случае, когда video-only conversion наследует preset, сжимающий presentation time, сохраните первый неуспешный вызов и идентификатор его объекта, чтобы более поздняя ошибка-оболочка не заменила данные о границе no audio timecompression.
Проверка условия без перестройки сеанса
- Зафиксируйте
0xC00D1BD7,NS_E_NO_AUDIO_TIMECOMPRESSION, версию Encoder и точный вызов API или обращение к свойству, вернувшее этот результат. - Экспортируйте текущую конфигурацию
.wmeили.prxконфигурацию, затем зафиксируйте ContentType profile, число audio sources и настройка time compression. - Для
NS_E_NO_AUDIO_TIMECOMPRESSION, проверьте предусловие ограничений предварительной обработки, анализа и многопроходного кодирования, не меняя одновременно источник, профиль и output sink. - Проведите одно контролируемое сравнение, изменяя только это условие: добавить требуемый аудиопоток или отключить time compression.
- После изменения пересоздайте соответствующий объект Encoder; не предполагайте, что существующий graph автоматически отбросил прежнее недопустимое состояние для состояния «time compression включён для сеанса без аудиопотока».
Осторожно интерпретируйте соседние результаты
| Результат | Почему это другая граница |
|---|---|
NS_E_BAD_CONTENTEDL | загрузка или разбор EDL оптимизации содержимого для voice codec |
NS_E_NO_TWOPASS_TIMECOMPRESSION | time compression объединён с двухпроходным workflow кодирования |
NS_E_NO_FRAMES_SUBMITTED_TO_ANALYZER | анализатор содержимого завершается или опрашивается, не получив ни одного видеокадра |
Устранение и проверка
Непосредственное исправление этого случая — добавить требуемый аудиопоток или отключить time compression. Пересоздайте соответствующий source group, profile или output object, повторите ту же операцию и убедитесь, что первый неуспешный HRESULT больше не возникает на контрольной точке no audio timecompression.
Во время диагностики не включайте сразу несколько функций предварительной обработки; сначала проверьте обычный однопроходный источник, затем добавьте одно преобразование с необходимым этапом хранения или анализа в сеансе, возвращающем NS_E_NO_AUDIO_TIMECOMPRESSION.
Почему проверка audio stream является решающей
Для этой функции Encoder video-only profile не эквивалентен audio/video profile с muted или silent audio. Проверьте как profile ContentType и число streams в source group: созданный audio object без назначенного input не удовлетворяет требованию usable audio. Аналогично, добавление audio stream только в один audience может оставить общую topology сеанса несогласованной.
В контролируемом тесте сначала отключите time compression и подтвердите нормальное кодирование video-only source. Затем повторите тест с реальным audio source, прошедшим согласование format, сохранив те же video, codec и output settings. Это отделяет предусловие функции от повреждения video, недопустимых marks или ограничения two-pass. Не создавайте фиктивный audio source, у которого раньше отказывает format negotiation: это заменит исходный результат посторонней ошибкой capture или profile.
Ссылки для NS_E_NO_AUDIO_TIMECOMPRESSION — диагностическая граница
- Двухпроходное кодирование.
- IWMEncContentAnalyzer.Property.
- Списки решений монтажа для голосовых кодеков.
- IWMEncSource.Repeat.
Нужно найти другой код? Найти другой код состояния или ошибки.