| Предыдущий | Следующий |
| VFW_E_STATE_CHANGED | VFW_E_NOT_PAUSED |
VFW_E_NOT_STOPPED
Что означает результат
VFW_E_NOT_STOPPED: Операция требует остановленного фильтра или графа DirectShow, но объект всё ещё находится в состоянии Running или Paused. Код относится к состоянию графа, а не к повреждению файла или отсутствию кодека.
Что проверить
- Зафиксируйте метод, вернувший HRESULT, и текущее состояние графа через IMediaControl или IMediaFilter.
- Если перед этим был вызван Stop, дождитесь фактического завершения перехода: некоторые фильтры останавливаются не мгновенно.
- Проверьте, не удерживает ли пользовательский фильтр выданные образцы или рабочий поток после запроса остановки.
- Изменение соединений, типов мультимедиа и параметров allocator выполняйте только в состоянии, которое разрешено контрактом конкретного интерфейса.
Диагностика и исправление
Дождитесь подтверждённого состояния Stopped и только после этого выполняйте перестройку графа. Повторять запрещённую операцию сразу после Stop без проверки состояния бессмысленно.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.