Что означает код HRESULT 0xC00D1BDA (NS_E_NO_MBR_WITH_TIMECODE)?

 
Предыдущий Следующий
NS_E_TIMECODE_REQUIRES_VIDEOSTREAM NS_E_INVALID_INTERLACEMODE

NS_E_NO_MBR_WITH_TIMECODE

Где Encoder формирует этот результат

0xC00D1BDA (NS_E_NO_MBR_WITH_TIMECODE) указывает на генерируемый timecode используется вместе с multiple-bit-rate audiences. Важной диагностической границей является объект Encoder, проверяющий это состояние; более поздний диалог «не удаётся начать кодирование» может скрыть более точный источник.

Timecode Encoder связан с video stream, возможностями source и выбранным SMPTE mode в сеансе, который возвращает этот результат. Значения времени device-control включают frame-rate и frame-count, а generated timecode добавляет ограничения совместимости для multiple source groups и MBR profiles на этой контрольной точке для состояния «генерируемый timecode используется вместе с multiple-bit-rate audiences».

Что уже успешно выполнено

Источник может выдавать видеокадры, но не предоставлять пригодный device timecode либо нарушать topology, необходимую для генерируемого timecode, в сеансе, возвращающем этот результат. В показательном случае no mbr with timecode MBR profile выбирается после включения timecode. Он наблюдение следует проверять на объекте-источнике, а не считать общей ошибкой кодека или операционной системы.

Какое состояние зафиксировать

ПолеЧто сохранить
Решающие значенияAudienceCount, режим timecode и output topology
Объект, вернувший ошибкуфлаг EnableTimecode, StartingTimecode, SMPTE mode, frame rate, настройку drop-frame, поддержку source, число source groups, число audiences и первый sample timecode
Связь с сеансомто же поколение source group, индекс audience, идентичность объекта и последовательность callback, которые привели к этому результату
Данные нижнего уровняпервый HRESULT COM, драйвера, файловой системы или кодека, зафиксированный до того, как Encoder сопоставил условие с этим результатом
Контролируемое сравнениезаведомо рабочий сеанс, в котором изменяется только настройка, относящаяся к границе этого HRESULT

Как интерпретировать следующее наблюдение

НаблюдениеКак это интерпретировать
Наблюдение, подтверждающее онРешающие данные: AudienceCount, режим timecode и output topology. Они подтверждают, что генерируемый timecode используется вместе с multiple-bit-rate audiences в том же поколении объекта.
Наблюдение, указывающее на более ранний сбойЗафиксированные значения удовлетворяют условию этого HRESULT, однако source, драйвер, COM activation или file operation раньше возвращает другой HRESULT при проверке «генерируемый timecode используется вместе с multiple-bit-rate audiences».
Наблюдение, указывающее на более поздний сбойEncoder проходит эту границу (генерируемый timecode используется вместе с multiple-bit-rate audiences), но затем на следующем этапе происходит сбой codec, archive или broadcast sink.
Проверка после исправленияПримените одно изолированное изменение: использовать один audience для генерируемого timecode либо отключить эту функцию. После этого исходный вызов должен пройти ту же контрольную точку.

Практическое влияние он ограничен переходом «smpte timecode generation and validation», которому принадлежит условие «генерируемый timecode используется вместе с multiple-bit-rate audiences». Сам по себе он не доказывает повреждение всех входных данных, отсутствие всех кодеков или неработоспособность всей установки Windows Media. В показательном случае, когда MBR profile выбирается после включения timecode, сохраните первый неуспешный вызов и идентификатор его объекта, чтобы более поздняя ошибка-оболочка не заменила данные о границе no mbr with timecode.

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

  1. Зафиксируйте 0xC00D1BDA, он, версию Encoder и точный вызов API или обращение к свойству, вернувшее он.
  2. Экспортируйте текущую конфигурацию .wme или .prx конфигурацию, затем зафиксируйте AudienceCount, режим timecode и output topology.
  3. проверяйте предварительное условие «smpte timecode generation and validation», не меняя одновременно source, profile и output sink.
  4. Проведите одно контролируемое сравнение, изменяя только это условие: использовать один audience для генерируемого timecode либо отключить эту функцию.
  5. После изменения пересоздайте соответствующий объект Encoder; не предполагайте, что существующий graph автоматически отбросил прежнее недопустимое состояние при проверке «генерируемый timecode используется вместе с multiple-bit-rate audiences».

Соседние HRESULT с другим диагностическим смыслом

РезультатПочему это другая граница
NS_E_TIMECODE_REQUIRES_VIDEOSTREAMгенерация timecode включена в profile только с аудио
NS_E_INVALID_TIMECODEразбор или проверка диапазона настроенного starting timecode
NS_E_NO_SMPTE_WITH_MULTIPLE_SOURCEGROUPSgenerated или source timecode запрашивается в сеансе с несколькими source groups

Исправление на правильном уровне

Целевое исправление — использовать один audience для генерируемого timecode либо отключить эту функцию. Повтор имеет смысл только после изменения зафиксированного предварительного условия no mbr with timecode.

Не преобразуйте timecode в строки wall-clock до сохранения raw frame count, frame-rate code и drop-frame mode в сеансе, который возвращает он.

Технические ссылки


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