Что означает код HRESULT 0xC00D9C42 (MF_E_CLOCK_STATE_ALREADY_SET)?

 
Предыдущий Следующий
MF_E_CLOCK_NO_TIME_SOURCE MF_E_CLOCK_NOT_SIMPLE

MF_E_CLOCK_STATE_ALREADY_SET

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

MF_E_CLOCK_STATE_ALREADY_SET (0xC00D9C42) означает, что presentation clock уже находится в состоянии, которое код пытается установить повторно. Это результат управления состоянием, а не признак повреждения часов или media source.

Что проверить

Сопоставьте вызов Start, Pause или Stop с текущим состоянием clock и событиями IMFClockStateSink. Ищите две ветви управления, которые независимо посылают одинаковую команду, либо поздно пришедший callback после уже выполненного перехода.

Исправление — сериализовать команды и принимать решение по реальному состоянию clock. Повторять ту же команду с задержкой обычно бессмысленно: если переход уже завершён, состояние от retry не изменится.

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


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