#pragma once #include "preHeader.h" #include "VideoPrepare/CVideoSource.h" #include "VideoPrepare/CVideoDecoder.h" #include "VideoPrepare/CVideoDataManager.h" #include "VideoPrepare/CSyncProc.h" class VideoStreamCatcher { public: //constructor VideoStreamCatcher(); //destructor ~VideoStreamCatcher(); //set a function to init the video stream catcher bool Init(QString strAddress); //use yuv or not //set a function to start the video stream catcher void Start(); //set a function to stop the video stream catcher void Stop(); //set a function to get video Image void GetVideoImage(unsigned char*& pImage, int& nWidth, int& nHeight, int& nPitch); public: //set a video source address QString m_szVideoSourceAddress; //set a video source CVideoSource* m_pVideoSource; //set a video decoder CVideoDecoder* m_pVideoDecoder; //set a video data manager CVideoDataManager* m_pVideoDataManager; //set a sync proc CSyncProc* m_pSyncProc; //video stream foundation status int m_nVideoWidth; int m_nVideoHeight; int m_nVideoFrameRate; int m_nVideoBitRate; int m_nVideoFrameCount; //output Image ,at last we put the image to the label unsigned char* m_pOutputImage; //output image width int m_nOutputImageWidth; //output image height int m_nOutputImageHeight; //output image pitch int m_nOutputImagePitch; static bool m_bStartOrNot; };