utilities.h
资源名称:p2p_vod.rar [点击查看]
上传用户:liguizhu
上传日期:2015-11-01
资源大小:2422k
文件大小:2k
源码类别:
P2P编程
开发平台:
Visual C++
- /*
- * Openmysee
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
- #ifndef __UTILITIES_H__
- #define __UTILITIES_H__
- // utility MACRO
- #define SAFE_RELEASE(p) { if(p) p->Release(); p = NULL; }
- #define SAFE_DELETE(p) { if(p) delete p; p = NULL; }
- #define VIDEO_CAP CLSID_VideoInputDeviceCategory
- #define AUDIO_CAP CLSID_AudioInputDeviceCategory
- #define VIDEO_COMPRESS CLSID_VideoCompressorCategory
- #define AUDIO_COMPRESS CLSID_AudioCompressorCategory
- //////////////////////////////////////////////
- // Only for Debug
- static DWORD g_dwRegister;
- static HRESULT AddGraphToRot(IUnknown *pUnkGraph, DWORD *pdwRegister)
- {
- IMoniker * pMoniker;
- IRunningObjectTable *pROT;
- HRESULT hr;
- hr = GetRunningObjectTable(0, &pROT);
- if (FAILED(hr)) return hr;
- WCHAR wsz[128];
- wsprintfW(wsz, L"FilterGraph %08x pid %08x", (DWORD_PTR)pUnkGraph, GetCurrentProcessId());
- hr = CreateItemMoniker(L"!", wsz, &pMoniker);
- if (SUCCEEDED(hr))
- {
- hr = pROT->Register(0, pUnkGraph, pMoniker, pdwRegister);
- pMoniker->Release();
- }
- pROT->Release();
- return hr;
- }
- static void RemoveGraphFromRot(DWORD pdwRegister)
- {
- IRunningObjectTable *pROT;
- if (SUCCEEDED(GetRunningObjectTable(0, &pROT)))
- {
- pROT->Revoke(pdwRegister);
- pROT->Release();
- }
- }
- #endif // __UTILITIES_H__