00001 #ifndef MYTHBDPLAYER_H
00002 #define MYTHBDPLAYER_H
00003
00004 #include "mythplayer.h"
00005
00006 class MythBDPlayer : public MythPlayer
00007 {
00008 public:
00009 MythBDPlayer(PlayerFlags flags = kNoFlags);
00010 virtual bool GoToMenu(QString str);
00011 virtual int GetNumChapters(void);
00012 virtual int GetCurrentChapter(void);
00013 virtual void GetChapterTimes(QList<long long> ×);
00014 virtual int64_t GetChapter(int chapter);
00015
00016 virtual int GetNumTitles(void) const;
00017 virtual int GetNumAngles(void) const;
00018 virtual int GetCurrentTitle(void) const;
00019 virtual int GetCurrentAngle(void) const;
00020 virtual int GetTitleDuration(int title) const;
00021 virtual QString GetTitleName(int title) const;
00022 virtual QString GetAngleName(int angle) const;
00023 virtual bool SwitchTitle(int title);
00024 virtual bool PrevTitle(void);
00025 virtual bool NextTitle(void);
00026 virtual bool SwitchAngle(int angle);
00027 virtual bool PrevAngle(void);
00028 virtual bool NextAngle(void);
00029
00030
00031
00032 virtual char *GetScreenGrabAtFrame(uint64_t frameNum, bool absolute,
00033 int &buflen, int &vw, int &vh, float &ar) { return NULL; }
00034 virtual char *GetScreenGrab(int secondsin, int &buflen,
00035 int &vw, int &vh, float &ar) { return NULL; }
00036
00037 protected:
00038
00039 virtual bool VideoLoop(void);
00040 virtual void EventStart(void);
00041 virtual void DisplayPauseFrame(void);
00042 virtual void PreProcessNormalFrame(void);
00043
00044
00045 virtual void CreateDecoder(char *testbuf, int testreadsize);
00046
00047
00048
00049 virtual void SeekForScreenGrab(uint64_t &number, uint64_t frameNum,
00050 bool absolute) { return; }
00051
00052 private:
00053 void DisplayMenu(void);
00054 bool m_stillFrameShowing;
00055 };
00056
00057 #endif // MYTHBDPLAYER_H