11 #include "../DVDCodecs/Overlay/DVDOverlaySpu.h"    12 #include "../IVideoPlayer.h"    13 #include "DVDDemuxers/DVDDemux.h"    14 #include "DVDInputStream.h"    15 #include "DVDInputStreamFile.h"    16 #include "DVDStateSerializer.h"    17 #include "DllDvdNav.h"    18 #include "cores/MenuType.h"    19 #include "utils/Geometry.h"    23 #define DVD_VIDEO_BLOCKSIZE         DVD_VIDEO_LB_LEN // 2048 bytes    25 #define NAVRESULT_NOP               0x00000001 // keep processing messages    26 #define NAVRESULT_DATA              0x00000002 // return data to demuxer    27 #define NAVRESULT_ERROR             0x00000003 // return read error to demuxer    28 #define NAVRESULT_HOLD              0x00000004 // return eof to demuxer    30 #define LIBDVDNAV_BUTTON_NORMAL 0    31 #define LIBDVDNAV_BUTTON_CLICKED 1    33 #define DVDNAV_ERROR -1    37 class CDVDOverlayPicture;
    53   void Close() 
override;
    54   int Read(uint8_t* buf, 
int buf_size) 
override;
    55   int64_t Seek(int64_t offset, 
int whence) 
override;
    56   int GetBlockSize()
 override { 
return DVDSTREAM_BLOCK_SIZE_DVD; }
    57   bool IsEOF()
 override { 
return m_bEOF; }
    58   int64_t GetLength()
 override { 
return 0; }
    59   ENextStream NextStream() 
override ;
    61   void ActivateButton() 
override;
    62   void SelectButton(
int iButton) 
override;
    63   void SkipStill() 
override;
    66   void OnDown() 
override;
    67   void OnLeft() 
override;
    68   void OnRight() 
override;
    75   void OnBack() 
override;
    76   void OnNext() 
override;
    77   void OnPrevious() 
override;
    78   bool OnMouseMove(
const CPoint &point) 
override;
    79   bool OnMouseClick(
const CPoint &point) 
override;
    81   int GetCurrentButton() 
override;
    82   int GetTotalButtons() 
override;
    93   bool IsInMenu()
 override { 
return m_bInMenu; }
    94   double GetTimeStampCorrection()
 override { 
return (
double)(m_iVobUnitCorrection * 1000) / 90; }
    96   int GetActiveSubtitleStream();
    97   int GetSubTitleStreamCount();
   100   bool SetActiveSubtitleStream(
int iId);
   101   void EnableSubtitleStream(
bool bEnable);
   102   bool IsSubtitleStreamEnabled();
   104   int GetActiveAudioStream();
   105   int GetAudioStreamCount();
   106   int GetActiveAngle();
   107   bool SetAngle(
int angle);
   108   bool SetActiveAudioStream(
int iId);
   111   bool GetState(std::string &xmlstate) 
override;
   112   bool SetState(
const std::string &xmlstate) 
override;
   114   int GetChapter()
 override { 
return m_iPart; } 
   115   int GetChapterCount()
 override { 
return m_iPartCount; } 
   116   void GetChapterName(std::string& name, 
int idx=-1)
 override {};
   117   int64_t GetChapterPos(
int ch=-1) 
override;
   118   bool SeekChapter(
int iChapter) 
override;
   121   int GetTotalTime() 
override; 
   122   int GetTime() 
override; 
   124   float GetVideoAspectRatio();
   127   bool PosTime(
int iTimeInMsec) 
override; 
   129   std::string GetDVDTitleString();
   138   std::string GetDVDSerialString();
   146   int ProcessBlock(uint8_t* buffer, 
int* read);
   148   static void SetAudioStreamName(
AudioStreamInfo &info, 
const audio_attr_t &audio_attributes);
   149   static void SetSubtitleStreamName(
SubtitleStreamInfo &info, 
const subp_attr_t &subp_attributes);
   152   void GetVideoResolution(uint32_t * width, uint32_t * height);
   161   bool m_bCheckButtons;
   168   int64_t m_iCellStart; 
   172   int64_t m_iVobUnitStart;
   173   int64_t m_iVobUnitStop;
   174   int64_t m_iVobUnitCorrection;
   182   struct dvdnav_s* m_dvdnav;
   184   std::unique_ptr<CDVDInputStreamFile> m_pstream;
   188   uint8_t m_lastblock[DVD_VIDEO_BLOCKSIZE];
   191   std::map<int, std::map<int, int64_t>> m_mapTitleChapters;
 Definition: IVideoPlayer.h:28
Definition: StreamInfo.h:65
Pod structure which represents the current dvd state with respect to dvdnav properties. 
Definition: DVDStateSerializer.h:19
Definition: DllDvdNav.h:123
Definition: StreamInfo.h:55
Definition: DVDDemuxSPU.h:30
Definition: StreamInfo.h:62
Definition: dvd_reader.h:81
Definition: DVDInputStream.h:76
Auxiliar class to serialize/deserialize the dvd state (into/from XML) 
Definition: DVDStateSerializer.h:39
Definition: DVDOverlaySpu.h:16
Represents a file on a share. 
Definition: FileItem.h:102