📄 graphrebuildhelper.h
字号:
#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;
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -