【视频处理工程】5、DirectShow的事件交互和数据流控制机制

简介: DirectShow通过事件通知(Event Notifation)机制使应用程序与Filter Graph Manager之间实现交互控制。当filter状态转换、播放完成、出错或者重绘视频窗口等时刻会发出特定事件消息,又filter graph manager处理或者转发给应用程序处理。

DirectShow通过事件通知(Event Notifation)机制使应用程序与Filter Graph Manager之间实现交互控制。当filter状态转换、播放完成、出错或者重绘视频窗口等时刻会发出特定事件消息,又filter graph manager处理或者转发给应用程序处理。

在Filter Graph Manager中定义了三个接口用于处理事件通知,即IMediaEventSink、IMediaEvent和IMediaEventEx。

  • IMediaEventSink:主要用于filter内部,向Filter Graph Manager发送通知消息;
  • IMediaEvent:向应用程序提供处理Filter Graph Manager发出事件的接口;
  • IMediaEventEx:IMediaEvent接口的扩展,可以使用窗口消息通知应用程序;
事件处理的大致流程:

  1. 满足一定条件时,Filter Graph中的一个filter向 Filter Graph Manager发送一条消息;
  2. Filter Graph Manager或者按照默认方法直接处理事件,或者放入事件队列中由应用程序处理;
  3. 应用程序获知有消息发出后,使用IMediaEventEx接口的方法从事件队列中读取消息并作相应处理。

DirectShow的数据流控制机制通过Filter Graph Manager的另一个接口IMediaControl实现。该接口包含了控制Filter Graph Manager的运行、暂停和停止动作。主要通过该接口的run、stop、pause函数实现。


ps:干货略少……

目录
相关文章
|
2月前
|
开发者
QT基础【6-跨界面发送信号】
QT基础【6-跨界面发送信号】
|
1月前
|
网络协议 程序员 网络安全
掌握 SOME/IP :事件通知 构建高效通信系统的关键技术
掌握 SOME/IP :事件通知 构建高效通信系统的关键技术
73 0
|
2月前
|
编解码 计算机视觉 Python
IPC机制在jetson中实现硬解码视频流数据通信的逻辑解析
IPC机制在jetson中实现硬解码视频流数据通信的逻辑解析
38 0
|
7月前
|
数据采集 开发工具 Android开发
Android平台如何实现屏幕数据采集并推送至RTMP服务器
随着无纸化、智慧教室等场景的普及,好多企业或者开发者开始寻求更高效稳定低延迟的RTMP同屏方案,本文以大牛直播SDK(Github)的同屏demo(对应工程:SmartServicePublisherV2)为例,介绍下如何采集编码推送RTMP数据到流媒体服务器。
130 0
|
7月前
|
开发工具 Android开发 开发者
Android平台轻量级RTSP服务模块如何实现一个服务发布多路RTSP流?
Android平台轻量级RTSP服务模块如何实现一个服务发布多路RTSP流?
236 0
|
7月前
|
存储
音频处理的全部流程
音频处理的全部流程
132 0
|
7月前
|
数据采集 编解码 开发工具
Android平台屏幕/摄像头或外部数据采集及RTMP推送接口设计描述
好多开发者提到,为什么大牛直播SDK的Android平台RTMP推送接口怎么这么多?不像一些开源或者商业RTMP推送一样,就几个接口,简单明了。
|
7月前
|
Android开发 开发者
Android平台GB28181设备接入端语音广播如何实现实时音量调节
Android平台GB28181设备接入,语音广播功能非常重要,本文要介绍的,不是语音广播的流程,语音广播流程,之前的blog也有非常详细的分享,感兴趣的可以参考官方规范书的交互流程:
|
存储 JSON 物联网
HarmonyOS系统中内核实现智慧物流控制的方法
大家好,今天主要和大家聊一聊,如何使用鸿蒙系统实现智能物流的开发.
174 0
HarmonyOS系统中内核实现智慧物流控制的方法
|
XML Java Android开发
移动应用程序设计基础——安卓动画与视音频播放器的实现
《移动应用程序设计基础》实验6 安卓动画与视音频播放器的实现 通过本实验,使得学生掌握导航的制作基本方法,掌握安卓动画和多媒体播放器的制作。 【实验内容】 1、 实现底部导航功能,包括Tween动画、Frame动画、音频播放、视频播放四个按键。 2、 实现动画功能,其中Tween动画可在界面选择四种类型的动画效果。 3、 实现音频播放。 4、 实现视频播放。 ...
194 0
移动应用程序设计基础——安卓动画与视音频播放器的实现