Ticket #2381: videoout_corevideo.h

File videoout_corevideo.h, 1.1 KB (added by awk@…, 14 years ago)
Line 
1#ifndef VIDEOOUT_COREVIDEO_H_
2#define VIDEOOUT_COREVIDEO_H_
3
4#include "videooutbase.h"
5
6class VideoOutputCoreVideoRep;
7
8class VideoOutputCoreVideo : public VideoOutput
9{
10  public:
11    VideoOutputCoreVideo();
12   ~VideoOutputCoreVideo();
13
14    bool Init(int width, int height, float aspect, WId winid,
15              int winx, int winy, int winw, int winh, WId embedid = 0);
16    void PrepareFrame(VideoFrame *buffer, FrameScanType t);
17    void Show(FrameScanType);
18
19    void InputChanged(int width, int height, float aspect,
20                      MythCodecID av_codec_id);
21    void VideoAspectRatioChanged(float aspect);
22    void Zoom(int direction);
23
24    void EmbedInWidget(WId wid, int x, int y, int w, int h);
25    void StopEmbedding(void);
26
27    int GetRefreshRate(void);
28
29    void DrawUnusedRects(bool sync = true);
30
31    void UpdatePauseFrame(void);
32    void ProcessFrame(VideoFrame *frame, OSD *osd,
33                      FilterChain *filterList,
34                      NuppelVideoPlayer *pipPlayer);
35
36    static bool IsCoreVideoSupported();
37   
38  private:
39    VideoFrame      mPauseFrame;
40
41    VideoOutputCoreVideoRep *mCoreVideoRep;
42};
43
44#endif