Что означает код HRESULT 0xC00D36D7 (MF_E_NO_CLOCK)?

 
Предыдущий Следующий
MF_E_NOT_AVAILABLE MF_E_MULTIPLE_BEGIN

MF_E_NO_CLOCK

Что означает MF_E_NO_CLOCK

MF_E_NO_CLOCK (0xC00D36D7) — Для операции требуются часы, но они недоступны.

Операция зависит от общей временной шкалы, но соответствующий объект не имеет пригодных общих часов. В обычном конвейере воспроизведения медиасеанс создаёт общие часы и передаёт их синхронизируемым приёмникам, чтобы аудио и видео использовали одно время.

Что проверить и как подтвердить исправление

Проверьте, созданы ли часы и были ли они переданы компоненту через штатный путь Media Session или IMFMediaSink::SetPresentationClock. Для собственного конвейера убедитесь, что объект часов не был снят или уничтожен при частичном перестроении топологии.

Отличайте код от MF_E_CLOCK_NO_TIME_SOURCE: там часы представления существуют, но для них не задан источник времени. Здесь же отсутствуют сами пригодные часы. Исправление подтверждается получением часов и синхронной работой всех зависящих от них приёмников.

Документация для результата 0xC00D36D7: presentation clock · IMFMediaSession::GetClock · Source Reader timing limitations.


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