| Предыдущий | Следующий |
| 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, предварительная обработка изображения, анализ содержимого и двухпроходное кодирование требуют доступа к определённым типам источников и часто повторного чтения или временного хранения источника в сеансе, возвращающем этот результат. Для live, looping и device inputs на этой контрольной точке действуют дополнительные ограничения для состояния «time compression включён для сеанса без аудиопотока».
Данные, отличающие этот код от ошибки оболочки
Исходный audio- или video-источник может быть исправен, хотя запрошенная предварительная обработка невозможна для жизненного цикла этого источника в сеансе, возвращающем этот результат. Например, video-only conversion наследует preset, сжимающий presentation time. Сохраните он различие до того, как уровень интерфейса преобразует результат в общую ошибку запуска, захвата или профиля.
| Поле | Что сохранить |
|---|---|
| Решающие значения | ContentType profile, число audio sources и настройка time compression |
| Объект, вернувший ошибку | тип источника, флаг live/file, флаг Repeat, число проходов, настройку временного хранения, фильтры предварительной обработки, число кадров анализатора, входную частоту кадров, путь к EDL содержимого и выбранный режим кодека |
| Связь с сеансом | то же поколение source group, индекс audience, идентичность объекта и последовательность callback, которые привели к этому результату |
| Данные нижнего уровня | первый HRESULT COM, драйвера, файловой системы или кодека, зафиксированный до того, как Encoder сопоставил условие с этим результатом |
| Контролируемое сравнение | заведомо рабочий сеанс, в котором изменяется только настройка, относящаяся к границе этого 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. После этого исходный вызов должен пройти ту же контрольную точку. |
Практическое влияние он ограничен переходом «preprocessing, analysis and multipass constraints», которому принадлежит условие «time compression включён для сеанса без аудиопотока». Сам по себе он не доказывает повреждение всех входных данных, отсутствие всех кодеков или неработоспособность всей установки Windows Media. В показательном случае, когда video-only conversion наследует preset, сжимающий presentation time, сохраните первый неуспешный вызов и идентификатор его объекта, чтобы более поздняя ошибка-оболочка не заменила данные о границе no audio timecompression.
Проверка условия без перестройки сеанса
- Зафиксируйте
0xC00D1BD7, он, версию Encoder и точный вызов API или обращение к свойству, вернувшее он. - Экспортируйте текущую конфигурацию
.wmeили.prxконфигурацию, затем зафиксируйте ContentType profile, число audio sources и настройка time compression. - проверьте предусловие ограничений предварительной обработки, анализа и многопроходного кодирования, не меняя одновременно источник, профиль и 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.
Во время диагностики не включайте сразу несколько функций предварительной обработки; сначала проверьте обычный однопроходный источник, затем добавьте одно преобразование с необходимым этапом хранения или анализа в сеансе, возвращающем он.
Почему проверка 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.
Ссылки для него — диагностическая граница
- Двухпроходное кодирование.
- IWMEncContentAnalyzer.Property.
- Списки решений монтажа для голосовых кодеков.
- IWMEncSource.Repeat.
Нужно найти другой код? Найти другой код состояния или ошибки.