Поделиться через


Коды уведомлений о событиях

[Функция, связанная с этой страницей, DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngineи аудио и видеозахват в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать новый код MediaPlayer, IMFMediaEngine и аудио-видеозахват в Media Foundation вместо DirectShowпо возможности. Корпорация Майкрософт предлагает, что существующий код, использующий устаревшие API, будет перезаписан для использования новых API, если это возможно.]

В этом разделе перечислены события DirectShow, которые не относятся к DVD-диску. Сведения о событиях, относящихся к DVD, см. в коды уведомлений о событиях DVD.

Фильтры отправляют события диспетчеру графов фильтра, вызвав метод IMediaEventSink::Notify. Диспетчер графов фильтров обрабатывает некоторые события и очереди для приложения. Приложение извлекает их путем вызова метода IMediaEvent::GetEvent.

В следующих разделах каждая запись содержит код события, значение параметров события и действие диспетчера графов фильтров по умолчанию для события, если таковое имеется. Чтобы переопределить действие по умолчанию, вызовите IMediaEvent::CancelDefaultHandling. Коды событий определяются в файлах заголовков Evcode.h и Audevcod.h. Если по умолчанию нет действия, диспетчер графов фильтров автоматически перенаправит событие в приложение (через очередь событий).

пользовательских событий

Фильтры могут определять пользовательские события с кодами событий в диапазоне EC_USER и выше. Диспетчер графов фильтров будет размещать их непосредственно в очереди событий. Однако применяются следующие предостережения:

  • Диспетчер графов фильтров не может освободить параметры события с помощью обычного метода IMediaEvent::FreeEventParams. Приложение должно освободить любое количество памяти или ссылок, связанных с параметрами события.
  • Фильтр должен отправлять событие только из приложения, готового к обработке события. (Возможно, приложение может задать пользовательское свойство фильтра, чтобы указать, что это безопасно для отправки события.)
Код уведомления о событиях Описание
EC_ACTIVATE Окно видео активируется или деактивируется.
EC_BANDWIDTHCHANGE Не поддерживается.
EC_BUFFERING_DATA Граф буферизируется или перестал буферизать данные.
EC_BUILT Отправка видеоконтролем при построении графа. Не пересылается в приложения.
EC_CLOCK_CHANGED Часы ссылки изменились.
EC_CLOCK_UNSET Поставщик часов отключен.
EC_CODECAPI_EVENT Отправляет кодировщик, чтобы сигнализировать о событии кодирования.
EC_COMPLETE Все данные из определенного потока отрисованы.
EC_CONTENTPROPERTY_CHANGED Не поддерживается.
EC_DEVICE_LOST Устройство Plug and Play было удалено или стало доступным снова.
EC_DISPLAY_CHANGED Режим отображения изменился.
EC_END_OF_SEGMENT Достигнут конец сегмента.
EC_EOS_SOON Не поддерживается.
EC_ERROR_STILLPLAYING Не удалось выполнить асинхронную команду для запуска графа.
EC_ERRORABORT Операция была прервана из-за ошибки.
EC_ERRORABORTEX Операция была прервана из-за ошибки.
EC_EXTDEVICE_MODE_CHANGE Не поддерживается.
EC_FILE_CLOSED Исходный файл был закрыт из-за неожиданного события.
EC_FULLSCREEN_LOST Отрисовщик видео переключается из полноэкранного режима.
EC_GRAPH_CHANGED Диаграмма фильтров изменилась.
EC_LENGTH_CHANGED Длина источника изменилась.
EC_LOADSTATUS Уведомляет приложение о ходе открытия сетевого файла.
EC_MARKER_HIT Не поддерживается.
EC_NEED_RESTART Фильтр запрашивает перезапуск графа.
EC_NEW_PIN Не поддерживается.
EC_NOTIFY_WINDOW Уведомляет фильтр окна отрисовщика видео.
EC_OLE_EVENT Фильтр передает текстовую строку приложению.
EC_OPENING_FILE Граф открывает файл или завершает открытие файла.
EC_PALETTE_CHANGED Палитра видео изменилась.
EC_PAUSED Запрос приостановки завершен.
EC_PLEASE_REOPEN Исходный файл изменился.
EC_PREPROCESS_COMPLETE Отправляется фильтром записи WM ASF после завершения предварительной обработки для кодирования с несколькимиpassми.
EC_PROCESSING_LATENCY Указывает время обработки каждого примера компонента.
EC_QUALITY_CHANGE График удаляет образцы для контроля качества.
EC_RENDER_FINISHED Не поддерживается.
EC_REPAINT Для отрисовщика видео требуется перенарисовка.
EC_SAMPLE_LATENCY Указывает, насколько далеко запланируйте компонент для обработки примеров.
EC_SAMPLE_NEEDED Запрашивает новый входной образец из фильтра расширенного отрисовщика видео (EVR).
EC_SCRUB_TIME Указывает метку времени для последнего шага кадра.
EC_SEGMENT_STARTED Начался новый сегмент.
EC_SHUTTING_DOWN Граф фильтра завершает работу до уничтожения.
EC_SNDDEV_IN_ERROR Ошибка устройства произошла в фильтре записи звука.
EC_SNDDEV_OUT_ERROR Ошибка устройства произошла в фильтре отрисовщика звука.
EC_STARVATION Фильтр не получает достаточно данных.
EC_STATE_CHANGE Граф фильтра изменил состояние.
EC_STATUS Содержит две произвольные строки состояния.
EC_STEP_COMPLETE Фильтр, выполняющий шаг кадра, шагнул указанное количество кадров.
EC_STREAM_CONTROL_STARTED Команда запуска stream-control ввела в силу.
EC_STREAM_CONTROL_STOPPED Команда остановки потока-элемента управления ввела в силу.
EC_STREAM_ERROR_STILLPLAYING Ошибка произошла в потоке. Поток по-прежнему играет.
EC_STREAM_ERROR_STOPPED Поток остановился из-за ошибки.
EC_TIMECODE_AVAILABLE Не поддерживается.
EC_UNBUILT Отправка видеоконтролем при удалении графа. Не пересылается в приложения.
EC_USERABORT Пользователь завершил воспроизведение.
EC_VIDEO_SIZE_CHANGED Изменен размер видео в собственном коде.
EC_VIDEOFRAMEREADY Видеокадр готов к отображению.
EC_VMR_RECONNECTION_FAILED Отправляется VMR-7 и VMR-9, когда не удалось принять динамический запрос на изменение формата из вышестоящего декодера.
EC_VMR_RENDERDEVICE_SET Отправляется, когда vmR выбрал свой механизм отрисовки.
EC_VMR_SURFACE_FLIPPED Отправляется, когда ведущий распределителя VMR-7 вызвал метод DirectDraw Flip на поверхности.
EC_WINDOW_DESTROYED Отрисовщик видео был уничтожен или удален из графа.
EC_WMT_EVENT Отправляемый фильтром средства чтения WM ASF при чтении ФАЙЛОВ ASF, защищенных функцией управления цифровыми правами (DRM).
EC_WMT_INDEX_EVENT Отправляется, когда приложение использует модуль записи WM ASF для индексирования видеофайлов Windows Media.

 

константы и идентификаторы GUID

уведомление о событиях в DirectShow