| Предыдущий | Следующий |
| 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.
Контролируемая диагностическая последовательность
- Зафиксируйте
0xC00D1BDA, он, версию Encoder и точный вызов API или обращение к свойству, вернувшее он. - Экспортируйте текущую конфигурацию
.wmeили.prxконфигурацию, затем зафиксируйте AudienceCount, режим timecode и output topology. - проверяйте предварительное условие «smpte timecode generation and validation», не меняя одновременно source, profile и output sink.
- Проведите одно контролируемое сравнение, изменяя только это условие: использовать один audience для генерируемого timecode либо отключить эту функцию.
- После изменения пересоздайте соответствующий объект 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_SOURCEGROUPS | generated или source timecode запрашивается в сеансе с несколькими source groups |
Исправление на правильном уровне
Целевое исправление — использовать один audience для генерируемого timecode либо отключить эту функцию. Повтор имеет смысл только после изменения зафиксированного предварительного условия no mbr with timecode.
Не преобразуйте timecode в строки wall-clock до сохранения raw frame count, frame-rate code и drop-frame mode в сеансе, который возвращает он.
Технические ссылки
- Структура управления устройством WMTIMECODE.
- WMEncoder.StartingTimecode.
- WMEncoder.EnableTimecode.
- Определение совместимости профилей.
Нужно найти другой код? Найти другой код состояния или ошибки.
