1 #ifndef BD_RING_BUFFER_H_
2 #define BD_RING_BUFFER_H_
4 #define BD_BLOCK_SIZE 6144LL
14 #include "ringbuffer.h"
58 void ProgressUpdate(
void);
65 bool GetNameAndSerialNum(QString& _name, QString& _serialnum);
67 void ClearOverlays(
void);
69 void SubmitOverlay(
const bd_overlay_s *
const overlay);
72 int GetCurrentTitle(
void);
74 int GetTitleDuration(
int title);
81 uint64_t GetTotalReadPosition(
void);
82 uint32_t GetNumChapters(
void);
83 uint32_t GetCurrentChapter(
void);
85 uint64_t GetChapterStartTime(uint32_t chapter);
86 uint64_t GetChapterStartFrame(uint32_t chapter);
87 bool IsOpen(
void)
const {
return bdnav; }
89 virtual bool IsInMenu(
void)
const {
return m_inMenu; }
91 bool TitleChanged(
void);
93 void GetDescForPos(QString &desc);
94 double GetFrameRate(
void);
96 int GetAudioLanguage(
uint streamID);
97 int GetSubtitleLanguage(
uint streamID);
100 virtual bool HandleAction(
const QStringList &actions, int64_t pts);
101 virtual bool OpenFile(
const QString &filename,
102 uint retry_ms = kDefaultOpenTimeout);
105 bool GoToMenu(
const QString str, int64_t pts);
106 bool SwitchTitle(uint32_t
index);
107 bool SwitchPlaylist(uint32_t
index);
108 bool SwitchAngle(
uint angle);
111 virtual long long Seek(
long long pos,
int whence,
bool has_lock);
112 uint64_t
Seek(uint64_t pos);
117 void WaitForPlayer(
void);
120 bool UpdateTitleInfo(
void);
121 BLURAY_TITLE_INFO* GetTitleInfo(uint32_t
index);
122 BLURAY_TITLE_INFO* GetPlaylistInfo(uint32_t
index);
125 void PressButton(int32_t key, int64_t pts);
129 bool HandleBDEvents(
void);
130 void HandleBDEvent(BD_EVENT &event);