⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rtspplayer.h

📁 神龙卡 SDK_84xx_DShow_145_02.zip 这个是 windows 上二个是linux
💻 H
字号:
#ifndef __RTSPPLAYER_H__
#define __RTSPPLAYER_H__

#include <windows.h>
#include <streams.h>
#include <time.h>
#include <string.h>
#include <initguid.h>

#include "irmsourceex.h"
#include "sdinterf.h"

#include "resource.h"

#define INI_FILE_EXTENSION  "INI Files(*.ini)\0*.ini\0All Files(*.*)\0*.*\0"
#define INI_FILE	"fileslist.ini"
#define WM_GRAPHNOTIFY	WM_USER+13

TCHAR g_szAppName [] = TEXT("Rtsp Player") ;
DWORD g_KeyColor = RGB(0, 0, 0x80);
HINSTANCE g_hInstance;	  // program's instance handle
HWND g_hDlg, g_hWnd;

char g_szIniFile[128] = "fileslist.ini";
DWORD g_dwStartTime = 0;
BOOL g_bLoop = TRUE;
BOOL g_bTvOut = TRUE;
BOOL g_bFullScreen = TRUE;
UINT g_uiWindowStatus = SW_HIDE;

class RtspPlayer
{
	public:
		RtspPlayer(HWND hwnd);
		~RtspPlayer();
		BOOL Initialize();
		void Uninitialize();
		void Play();
		void Stop();
		void SetFullScreen(BOOL bFullScreen);
		void SetTvOut(BOOL bVal);
		void UpdateWindowPos(HWND hwnd);
		void GetINIInfo(HWND hwnd);
		void SetFileName(char *szFile);
		void SetIniFilePath(char *szFile);
		HRESULT GetMediaEvent(long *lEventCode, long *lParam1, long *lParam2, long msTimeout);
		HRESULT FreeMediaEventParams(long lEventCode, long lParam1, long lParam2);

	private:
		HWND m_hwnd;
		DWORD m_dwPlayrate;
		BOOL m_bTvOut;
		int m_iFullScreen;

		char m_szIpAddr[64];
		char m_szPlayFileName[64];
		char m_szPlayFilePath[128];
		char m_szPlayFileFullPath[256];	// includes server ip address, path and file name
		char m_szIniFile[256];			// full path of the INI file
		int  m_iServerType;    // OVS or SGI

		IMediaControl *m_pIMediaControl;
		IMediaEventEx *m_pIMediaEventEx;
		IVideoWindow  *m_pIVideoWindow;
		IBaseFilter   *m_pIRmSourceFilter;
		IGraphBuilder *m_pIGraphBuilder;
		IBasicVideo   *m_pIBasicVideo;
		IPin		     *m_pIPin;
		IMediaFilter  *m_pIMediaFilter;
		IReferenceClock *m_pIRefClock;
		ITvVgaOutput *m_pITvVgaOut;
		IRMSourceStreamEx *m_pIRmSourceStreamEx;

		HRESULT GetBasicVideoInterface();
		IPin *GetFirstPin(IBaseFilter *filter, PIN_DIRECTION PinDir);
		HRESULT QueryTvVgaOutput();
};

long CALLBACK WndProc (HWND hwnd, UINT message, UINT wParam, LONG lParam);
BOOL CALLBACK PlayFileDlgProc(HWND hDlg, WORD wMsg, WPARAM wParam, LONG lParam);

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -