GraphRebuildHelper.h
资源名称:p2p_vod.rar [点击查看]
上传用户:liguizhu
上传日期:2015-11-01
资源大小:2422k
文件大小:1k
源码类别:
P2P编程
开发平台:
Visual C++
- #pragma once
- ///这是一个为了重建图而写的简单的帮助器
- /*
- 目前它使用IGraphBuilder来重建一个连接。
- 每个对象只能被使用一次,因此,如果要重连接多个pin,请产生多个相应的对象
- */
- class GraphRebuildHelper
- {
- public:
- GraphRebuildHelper(void);
- ///控制图的起停
- HRESULT rungraph(IFilterGraph *_igraph);
- HRESULT stopgraph(IFilterGraph *_igraph);
- ///建造函数
- /*
- 这个函数将source filter的某个pin和已在图中的对应的render filter (视频或音频)用智能连接方式重新连接起来
- param _ipin: filter的pin
- _isaudio: 指定音频还是视频,以决定和哪个render filter连接
- */
- HRESULT startbuilding(IFilterGraph *_igraph, CBasePin *_ipin, bool _isaudio);
- ~GraphRebuildHelper(void);
- private:
- void reset();
- bool get_render_filters (bool _isaudio, IFilterGraph *p_graph);
- bool get_render_pin();
- bool used;
- IBaseFilter *p_render_filter;
- IPin *p_pin;
- };