| Предыдущий | Следующий |
| NS_E_INPUT_DOESNOT_SUPPORT_SMPTE | NS_E_BAD_CONTENTEDL |
NS_E_NO_SMPTE_WITH_MULTIPLE_SOURCEGROUPS
Где Encoder формирует этот результат
0xC00D1BA9 (NS_E_NO_SMPTE_WITH_MULTIPLE_SOURCEGROUPS) указывает на generated или source timecode запрашивается в сеансе с несколькими source groups. Для NS_E_NO_SMPTE_WITH_MULTIPLE_SOURCEGROUPS, важной диагностической границей является объект Encoder, проверяющий это состояние; более поздний диалог «не удаётся начать кодирование» может скрыть более точный источник.
Timecode Encoder связан с video stream, возможностями source и выбранным SMPTE mode в сеансе, который возвращает NS_E_NO_SMPTE_WITH_MULTIPLE_SOURCEGROUPS. Значения времени device-control включают frame-rate и frame-count, а generated timecode добавляет ограничения совместимости для multiple source groups и MBR profiles на этой контрольной точке на границе «generated или source timecode запрашивается в сеансе с несколькими source groups».
Что уже успешно выполнено
Источник может выдавать видеокадры, но не предоставлять пригодный device timecode либо нарушать topology, необходимую для генерируемого timecode, в сеансе, возвращающем NS_E_NO_SMPTE_WITH_MULTIPLE_SOURCEGROUPS. В показательном случае no smpte with multiple sourcegroups live-switching session пытается поддерживать один непрерывный счётчик SMPTE для независимых groups. NS_E_NO_SMPTE_WITH_MULTIPLE_SOURCEGROUPS наблюдение следует проверять на объекте-источнике, а не считать общей ошибкой кодека или операционной системы.
Какое состояние зафиксировать
| Поле | Что сохранить |
|---|---|
| Решающие значения | число source groups, план active switching и режим timecode |
| Объект, вернувший ошибку | флаг EnableTimecode, StartingTimecode, SMPTE mode, frame rate, настройку drop-frame, поддержку source, число source groups, число audiences и первый sample timecode |
| Связь с сеансом | то же поколение source group, индекс audience, идентичность объекта и последовательность callback, которые привели к NS_E_NO_SMPTE_WITH_MULTIPLE_SOURCEGROUPS |
| Данные нижнего уровня | первый HRESULT COM, драйвера, файловой системы или кодека, зафиксированный до того, как Encoder сопоставил условие с NS_E_NO_SMPTE_WITH_MULTIPLE_SOURCEGROUPS |
| Контролируемое сравнение | заведомо рабочий сеанс, в котором изменяется только настройка, относящаяся к границе этого HRESULT |
Как интерпретировать следующее наблюдение
| Наблюдение | Как это интерпретировать |
|---|---|
| Наблюдение, подтверждающее этот результат | Решающие данные: число source groups, план active switching и режим timecode. Они подтверждают, что generated или source timecode запрашивается в сеансе с несколькими source groups в том же поколении объекта. |
| Наблюдение, указывающее на более ранний сбой | Зафиксированные значения удовлетворяют условию этого HRESULT, однако source, драйвер, COM activation или file operation раньше возвращает другой HRESULT при проверке «generated или source timecode запрашивается в сеансе с несколькими source groups». |
| Наблюдение, указывающее на более поздний сбой | Encoder проходит эту границу (generated или source timecode запрашивается в сеансе с несколькими source groups), но затем на следующем этапе происходит сбой codec, archive или broadcast sink. |
| Проверка после исправления | Примените одно изолированное изменение: кодировать одну source group на одну timeline timecode либо отключить generated timecode. После этого исходный вызов должен пройти ту же контрольную точку для состояния «generated или source timecode запрашивается в сеансе с несколькими source groups». |
Практическое влияние NS_E_NO_SMPTE_WITH_MULTIPLE_SOURCEGROUPS ограничен переходом «smpte timecode generation and validation», которому принадлежит условие «generated или source timecode запрашивается в сеансе с несколькими source groups». Для NS_E_NO_SMPTE_WITH_MULTIPLE_SOURCEGROUPS, сам по себе этот результат не доказывает повреждение всех входных данных, отсутствие всех кодеков или неработоспособность всей установки Windows Media. В показательном случае, когда live-switching session пытается поддерживать один непрерывный счётчик SMPTE для независимых groups, сохраните первый неуспешный вызов и идентификатор его объекта, чтобы более поздняя ошибка-оболочка не заменила данные о границе no smpte with multiple sourcegroups.
Контролируемая диагностическая последовательность
- Зафиксируйте
0xC00D1BA9,NS_E_NO_SMPTE_WITH_MULTIPLE_SOURCEGROUPS, версию Encoder и точный вызов API или обращение к свойству, вернувшее этот результат. - Экспортируйте текущую конфигурацию
.wmeили.prxконфигурацию, затем зафиксируйте число source groups, план active switching и режим timecode. - Для
NS_E_NO_SMPTE_WITH_MULTIPLE_SOURCEGROUPS, проверяйте предварительное условие «smpte timecode generation and validation», не меняя одновременно source, profile и output sink. - Проведите одно контролируемое сравнение, изменяя только это условие: кодировать одну source group на одну timeline timecode либо отключить generated timecode.
- После изменения пересоздайте соответствующий объект Encoder; не предполагайте, что существующий graph автоматически отбросил прежнее недопустимое состояние в сценарии «generated или source timecode запрашивается в сеансе с несколькими source groups».
Соседние HRESULT с другим диагностическим смыслом
| Результат | Почему это другая граница |
|---|---|
NS_E_INPUT_DOESNOT_SUPPORT_SMPTE | выбранный source не может предоставить запрошенный у него SMPTE timecode |
NS_E_INVALID_TIMECODE | разбор или проверка диапазона настроенного starting timecode |
NS_E_TIMECODE_REQUIRES_VIDEOSTREAM | генерация timecode включена в profile только с аудио |
Исправление на правильном уровне
Для NS_E_NO_SMPTE_WITH_MULTIPLE_SOURCEGROUPS, целевое исправление — кодировать одну source group на одну timeline timecode либо отключить generated timecode. Повтор имеет смысл только после изменения зафиксированного предварительного условия no smpte with multiple sourcegroups.
Не преобразуйте timecode в строки wall-clock до сохранения raw frame count, frame-rate code и drop-frame mode в сеансе, который возвращает NS_E_NO_SMPTE_WITH_MULTIPLE_SOURCEGROUPS.
Технические ссылки для NS_E_NO_SMPTE_WITH_MULTIPLE_SOURCEGROUPS
- Структура управления устройством WMTIMECODE.
- WMEncoder.StartingTimecode.
- WMEncoder.EnableTimecode.
- Определение совместимости профилей.
Нужно найти другой код? Найти другой код состояния или ошибки.