Что означает код HRESULT 0xC00D3E9B (MF_E_MEDIA_SOURCE_WRONGSTATE)?

 
Предыдущий Следующий
MF_E_NOT_PROTECTED MF_E_MEDIA_SOURCE_NO_STREAMS_SELECTED

MF_E_MEDIA_SOURCE_WRONGSTATE

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

MF_E_MEDIA_SOURCE_WRONGSTATE (0xC00D3E9B) означает, что вызванная операция не разрешена текущим состоянием media source. Это явная ошибка state machine: источник существует, но сейчас находится не на том этапе жизненного цикла.

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

Зафиксируйте последнюю успешно завершённую команду Start, Pause, Stop или Shutdown и событие, которое подтвердило переход. Затем сопоставьте её с методом, вернувшим HRESULT. Особенно ищите поздние callbacks и параллельные команды управления.

Не лечите wrong state произвольным sleep/retry: состояние меняется только от определённых операций и их асинхронного завершения. Исправьте последовательность и единственного владельца управления source; после Shutdown используйте новый экземпляр, если контракт объекта не допускает дальнейшую работу.

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


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