11 #include "BlurayStateSerializer.h"    12 #include "DVDInputStream.h"    19 #include <libbluray/bluray.h>    20 #include <libbluray/bluray-version.h>    21 #include <libbluray/keys.h>    22 #include <libbluray/overlay.h>    23 #include <libbluray/player_settings.h>    24 #include "DVDInputStreamFile.h"    27 #define MAX_PLAYLIST_ID 99999    28 #define MAX_CLIP_ID 99999    29 #define BD_EVENT_MENU_OVERLAY -1    30 #define BD_EVENT_MENU_ERROR   -2    31 #define BD_EVENT_ENC_ERROR    -3    33 #define HDMV_PID_VIDEO            0x1011    34 #define HDMV_PID_AUDIO_FIRST      0x1100    35 #define HDMV_PID_AUDIO_LAST       0x111f    36 #define HDMV_PID_PG_FIRST         0x1200    37 #define HDMV_PID_PG_LAST          0x121f    38 #define HDMV_PID_PG_HDR_FIRST     0x12a0    39 #define HDMV_PID_PG_HDR_LAST      0x12bf    40 #define HDMV_PID_IG_FIRST         0x1400    41 #define HDMV_PID_IG_LAST          0x141f    58   void Close() 
override;
    59   int Read(uint8_t* buf, 
int buf_size) 
override;
    60   int64_t Seek(int64_t offset, 
int whence) 
override;
    61   void Abort() 
override;
    62   bool IsEOF() 
override;
    63   int64_t GetLength() 
override;
    64   int GetBlockSize()
 override { 
return 6144; }
    65   ENextStream NextStream() 
override;
    69   void ActivateButton()
 override { UserInput(BD_VK_ENTER); }
    70   void SelectButton(
int iButton)
 override    73       UserInput((bd_vk_key_e)(BD_VK_0 + iButton));
    75   int  GetCurrentButton()
 override { 
return 0; }
    76   int  GetTotalButtons()
 override { 
return 0; }
    77   void OnUp()
 override  { UserInput(BD_VK_UP); }
    78   void OnDown()
 override  { UserInput(BD_VK_DOWN); }
    79   void OnLeft()
 override { UserInput(BD_VK_LEFT); }
    80   void OnRight()
 override { UserInput(BD_VK_RIGHT); }
    86   void OnBack()
 override    91   void OnNext()
 override {}
    92   void OnPrevious()
 override {}
   100   bool IsInMenu() 
override;
   101   bool OnMouseMove(
const CPoint &point)
 override  { 
return MouseMove(point); }
   102   bool OnMouseClick(
const CPoint &point)
 override { 
return MouseClick(point); }
   103   void SkipStill() 
override;
   104   bool GetState(std::string& xmlstate) 
override;
   105   bool SetState(
const std::string& xmlstate) 
override;
   106   bool CanSeek() 
override;
   109   void UserInput(bd_vk_key_e vk);
   110   bool MouseMove(
const CPoint &point);
   111   bool MouseClick(
const CPoint &point);
   113   int GetChapter() 
override;
   114   int GetChapterCount() 
override;
   115   void GetChapterName(std::string& name, 
int ch=-1)
 override {};
   116   int64_t GetChapterPos(
int ch) 
override;
   117   bool SeekChapter(
int ch) 
override;
   120   int GetTotalTime() 
override;
   121   int GetTime() 
override;
   124   bool PosTime(
int ms) 
override;
   126   void GetStreamInfo(
int pid, std::string &language);
   128   void OverlayCallback(
const BD_OVERLAY * 
const);
   129 #ifdef HAVE_LIBBLURAY_BDJ   130   void OverlayCallbackARGB(
const struct bd_argb_overlay_s * 
const);
   133   BLURAY_TITLE_INFO* GetTitleLongest();
   134   BLURAY_TITLE_INFO* GetTitleFile(
const std::string& name);
   141   void OverlayFlush(int64_t pts);
   143   static void OverlayClear(
SPlane& plane, 
int x, 
int y, 
int w, 
int h);
   144   static void OverlayInit (
SPlane& plane, 
int w, 
int h);
   147   BLURAY* m_bd = 
nullptr;
   148   const BLURAY_TITLE* m_title = 
nullptr;
   149   BLURAY_TITLE_INFO* m_titleInfo = 
nullptr;
   150   uint32_t m_playlist = MAX_PLAYLIST_ID + 1;
   151   BLURAY_CLIP_INFO* m_clip = 
nullptr;
   152   uint32_t m_angle = 0;
   154   bool m_isInMainMenu = 
false;
   155   bool m_hasOverlay = 
false;
   156   bool m_navmode = 
false;
   157   int m_dispTimeBeforeRead = 0;
   159   typedef std::shared_ptr<CDVDOverlayImage> SOverlay;
   160   typedef std::list<SOverlay> SOverlays;
   177   } m_hold = HOLD_NONE;
   179 #ifdef HAVE_LIBBLURAY_BDJ   180   struct bd_argb_buffer_s m_argb;
   185     void SetupPlayerSettings();
   186     void FreeTitleInfo();
   187     std::unique_ptr<CDVDInputStreamFile> m_pstream;
   188     std::string m_rootPath;
 Definition: IVideoPlayer.h:28
Auxiliar class to serialize/deserialize the Bluray state (into/from XML) 
Definition: BlurayStateSerializer.h:22
Definition: DVDOverlayImage.h:18
Definition: DVDInputStream.h:76
Represents a file on a share. 
Definition: FileItem.h:102