00001 #ifndef VIDEOOUT_DIRECTFB_H
00002 #define VIDEOOUT_DIRECTFB_H
00003
00004 #include <qobject.h>
00005 #include "videooutbase.h"
00006
00007 class NuppelVideoPlayer;
00008 class DirectfbData;
00009
00010 class VideoOutputDirectfb: public VideoOutput
00011 {
00012 public:
00013 VideoOutputDirectfb();
00014 ~VideoOutputDirectfb();
00015
00016 bool Init(int width, int height, float aspect, WId winid,
00017 int winx, int winy, int winw, int winh, WId embedid = 0);
00018
00019 void ProcessFrame(VideoFrame *frame, OSD *osd,
00020 FilterChain *filterList,
00021 NuppelVideoPlayer *pipPlayer);
00022 void PrepareFrame(VideoFrame *buffer, FrameScanType);
00023 void Show(FrameScanType);
00024
00025 void MoveResize(void);
00026 bool InputChanged(const QSize &input_size,
00027 float aspect,
00028 MythCodecID av_codec_id,
00029 void *codec_private);
00030 void Zoom(ZoomDirection direction);
00031 void DrawUnusedRects(bool ) { }
00032 void UpdatePauseFrame(void);
00033 int SetPictureAttribute(PictureAttribute attribute, int newValue);
00034
00035 int GetRefreshRate(void);
00036
00037 static QStringList GetAllowedRenderers(MythCodecID myth_codec_id,
00038 const QSize &video_dim);
00039
00040 private:
00041 bool XJ_started;
00042 VideoFrame pauseFrame;
00043 QObject *widget;
00044 DirectfbData *data;
00045 };
00046
00047 #endif