VideoRenderer.h
上传用户:tuheem
上传日期:2007-05-01
资源大小:21889k
文件大小:2k
源码类别:

多媒体编程

开发平台:

Visual C++

  1.  /**************************************************************************************
  2.  *                                                                                    *
  3.  *                                                                                    *
  4.  **************************************************************************************/
  5. #ifndef VIDEORENDERER_H
  6. #define VIDEORENDERER_H
  7. /*
  8.  * 基类
  9.  */
  10. #include "VideoRendererOverlay.h"
  11. #include "VideoRendererRGB.h"
  12. #include "MediaClasses.h"
  13. /*
  14.  * 视频补偿器封装类
  15.  */
  16. class MediaVideoRenderer : public MediaItemVideoRenderer {
  17. MediaVideoRendererOverlay *overlayRenderer;
  18. MediaVideoRendererRGB     *rgbRenderer;
  19. MediaVideoRenderer        *renderer;
  20. public:
  21. MediaVideoRenderer();
  22. ~MediaVideoRenderer();
  23. /*
  24.  * 媒体项方法
  25.  */
  26. media_type_t  GetType();
  27. char         *GetName();
  28. MP_RESULT     Connect(MediaItem *item);
  29. MP_RESULT     ReleaseConnections();
  30. DWORD         GetCaps();
  31. MP_RESULT     Configure(HINSTANCE hInstance, HWND hwnd);
  32. /*
  33.  * 视频补偿方法
  34.  */
  35. MP_RESULT Init(HWND hwnd, unsigned int width, unsigned int height, media_video_mode_t preferedMode);
  36. MP_RESULT InitFullscreen(HWND hwnd, unsigned int width, unsigned int height, media_video_mode_t preferedMode);
  37. /*
  38.  * 以下两个不使用
  39.  */
  40. MP_RESULT Init(HWND hwnd, unsigned int width, unsigned int height);
  41. MP_RESULT InitFullscreen(HWND hwnd, unsigned int width, unsigned int height);
  42. media_video_mode_t GetVideoMode();
  43. MP_RESULT          Stop();
  44. RECT              *GetFullscreenRects(); 
  45. MP_RESULT Draw(MediaBuffer *buffer, RECT *rect, int frameNumber, int invertFlag);
  46. MP_RESULT DrawFullscreen(MediaBuffer *buffer, int frameNumber, int invertFlag, int desktopMode);
  47. MP_RESULT Close();
  48. };
  49. #endif