mirror of
https://github.com/yuanyuanxiang/SimpleRemoter.git
synced 2026-01-22 07:14:15 +08:00
style: Change files encoding format to UTF8-BOM
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
// CaptureVideo.h: interface for the CCaptureVideo class.
|
||||
// CaptureVideo.h: interface for the CCaptureVideo class.
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -18,15 +18,15 @@
|
||||
|
||||
#pragma comment(lib,"Strmiids.lib")
|
||||
|
||||
// TODO ȫ<EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD>λ<EFBFBD>ã<EFBFBD>qedit.h
|
||||
// TODO 全局变量, 定义位置:qedit.h
|
||||
|
||||
// <EFBFBD>ӿ<EFBFBD> ID <EFBFBD>ص<EFBFBD><EFBFBD>ӿڣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿһ֡ץȡʱ֪ͨӦ<EFBFBD><EFBFBD>
|
||||
// 接口 ID 回调接口,用于在每一帧抓取时通知应用
|
||||
EXTERN_C const IID IID_ISampleGrabberCB;
|
||||
|
||||
// <EFBFBD><EFBFBD> ID <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Sample Grabber COM <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// 类 ID 创建 Sample Grabber COM 对象
|
||||
EXTERN_C const CLSID CLSID_SampleGrabber;
|
||||
|
||||
// <EFBFBD>ӿ<EFBFBD> ID <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Sample Grabber <EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD>Ȳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
|
||||
// 接口 ID 设置 Sample Grabber 的参数、格式、回调等操作接口
|
||||
EXTERN_C const IID IID_ISampleGrabber;
|
||||
|
||||
struct ISampleGrabberCB : public IUnknown {
|
||||
@@ -85,7 +85,7 @@ public:
|
||||
LPBITMAPINFO m_BitmapInfor_Full;
|
||||
BYTE* m_BitmapData_Full;
|
||||
BOOL bStact;
|
||||
DWORD m_dwSize; // <EFBFBD><EFBFBD>Ƶͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD>С
|
||||
DWORD m_dwSize; // 视频图像数据大小
|
||||
|
||||
CSampleGrabberCB()
|
||||
{
|
||||
@@ -114,7 +114,7 @@ public:
|
||||
|
||||
LPBITMAPINFO GetBmpInfor()
|
||||
{
|
||||
if (m_BitmapInfor_Full==NULL) { //ͷ<EFBFBD><EFBFBD>Ϣ
|
||||
if (m_BitmapInfor_Full==NULL) { //头信息
|
||||
ConstructBI(24);
|
||||
}
|
||||
|
||||
@@ -124,7 +124,7 @@ public:
|
||||
LPBITMAPINFO ConstructBI(ULONG ulbiBitCount)
|
||||
{
|
||||
int ColorNum = ulbiBitCount <= 8 ? 1 << ulbiBitCount : 0;
|
||||
ULONG ulBitmapLength = sizeof(BITMAPINFOHEADER) + (ColorNum * sizeof(RGBQUAD)); //BITMAPINFOHEADER +<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><EFBFBD><EFBFBD>
|
||||
ULONG ulBitmapLength = sizeof(BITMAPINFOHEADER) + (ColorNum * sizeof(RGBQUAD)); //BITMAPINFOHEADER + 调色板的个数
|
||||
|
||||
m_BitmapInfor_Full = (BITMAPINFO *) new BYTE[ulBitmapLength];
|
||||
|
||||
@@ -141,13 +141,13 @@ public:
|
||||
BitmapInforHeader->biClrUsed = 0;
|
||||
BitmapInforHeader->biClrImportant = 0;
|
||||
|
||||
BitmapInforHeader->biSizeImage = //ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
BitmapInforHeader->biSizeImage = //图像数据
|
||||
(((BitmapInforHeader->biWidth * BitmapInforHeader->biBitCount + 31) & ~31) >> 3)
|
||||
* BitmapInforHeader->biHeight;
|
||||
// 16λ<EFBFBD><EFBFBD><EFBFBD>Ժ<EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD>ӷ<EFBFBD><EFBFBD><EFBFBD>
|
||||
// 16位和以后的没有颜色表,直接返回
|
||||
|
||||
//!!
|
||||
m_dwSize=BitmapInforHeader->biSizeImage; //<EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD>С
|
||||
m_dwSize=BitmapInforHeader->biSizeImage; //数据大小
|
||||
m_BitmapData_Full=new BYTE[m_dwSize+10];
|
||||
ZeroMemory(m_BitmapData_Full,m_dwSize+10);
|
||||
|
||||
@@ -184,18 +184,18 @@ public:
|
||||
return 0;
|
||||
}
|
||||
|
||||
//<EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD> bmp <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//回调函数 在这里得到 bmp 的数据
|
||||
STDMETHODIMP BufferCB(double dblSampleTime, BYTE * szBuffer, long ulBufferSize)
|
||||
{
|
||||
if (!szBuffer) {
|
||||
return E_POINTER;
|
||||
}
|
||||
|
||||
if (bStact==CMD_CAN_COPY) { //δ<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD> <20><><EFBFBD>͵<EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
|
||||
//<EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǵ<EFBFBD><EFBFBD>ڴ<EFBFBD>
|
||||
memcpy(m_BitmapData_Full,szBuffer,ulBufferSize); //λͼ
|
||||
if (bStact==CMD_CAN_COPY) { //未初始化 发送的同差异的一样
|
||||
//将图像数据拷贝的我们的内存
|
||||
memcpy(m_BitmapData_Full,szBuffer,ulBufferSize); //位图
|
||||
|
||||
InterlockedExchange((LPLONG)&bStact,CMD_CAN_SEND); //ԭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Է<EFBFBD><EFBFBD><EFBFBD>
|
||||
InterlockedExchange((LPLONG)&bStact,CMD_CAN_SEND); //原子自增可以发送
|
||||
return S_OK;
|
||||
}
|
||||
return -1;
|
||||
@@ -224,14 +224,14 @@ public:
|
||||
HWND m_hWnd;
|
||||
|
||||
static CSampleGrabberCB mCB;
|
||||
IGraphBuilder * m_pGB; //ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD>Է<EFBFBD><EFBFBD><EFBFBD> FCDO Filter Control Device Object
|
||||
ICaptureGraphBuilder2* m_pCapture; //ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD>Է<EFBFBD><EFBFBD><EFBFBD> <20><>ʵCDO
|
||||
IGraphBuilder * m_pGB; //通过该值可以访问 FCDO Filter Control Device Object
|
||||
ICaptureGraphBuilder2* m_pCapture; //通过该值可以访问 真实CDO
|
||||
|
||||
IMediaControl* m_pMC; //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD>Ľӿ<EFBFBD>
|
||||
IMediaControl* m_pMC; //过滤设备的接口
|
||||
IVideoWindow* m_pVW;
|
||||
|
||||
IBaseFilter* m_pBF; //FDO
|
||||
ISampleGrabber* m_pGrabber; //<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 24Color
|
||||
ISampleGrabber* m_pGrabber; //引脚 24Color
|
||||
|
||||
void FreeMediaType(AM_MEDIA_TYPE& mt);
|
||||
void ResizeVideoWindow();
|
||||
|
||||
Reference in New Issue
Block a user