BDRingBuffer Class Reference

#include <bdringbuffer.h>

Inheritance diagram for BDRingBuffer:
RingBuffer MThread

List of all members.

Public Member Functions

 BDRingBuffer (const QString &lfilename)
virtual ~BDRingBuffer ()
virtual bool IsStreamed (void)
void ProgressUpdate (void)
bool BDWaitingForPlayer (void)
void SkipBDWaitingForPlayer (void)
virtual void IgnoreWaitStates (bool ignore)
virtual bool StartFromBeginning (void)
bool GetNameAndSerialNum (QString &_name, QString &_serialnum)
void ClearOverlays (void)
BDOverlayGetOverlay (void)
void SubmitOverlay (const bd_overlay_s *const overlay)
uint32_t GetNumTitles (void) const
int GetCurrentTitle (void)
uint64_t GetCurrentAngle (void) const
int GetTitleDuration (int title)
uint64_t GetTitleSize (void) const
uint64_t GetTotalTimeOfTitle (void) const
uint64_t GetCurrentTime (void)
virtual long long GetReadPosition (void) const
 Returns how far into the file we have read.
uint64_t GetTotalReadPosition (void)
uint32_t GetNumChapters (void)
uint32_t GetCurrentChapter (void)
uint64_t GetNumAngles (void)
uint64_t GetChapterStartTime (uint32_t chapter)
uint64_t GetChapterStartFrame (uint32_t chapter)
bool IsOpen (void) const
 Returns true if open for either reading or writing.
bool IsHDMVNavigation (void) const
bool IsInMenu (void) const
bool IsInStillFrame (void) const
virtual bool IsInDiscMenuOrStillFrame (void) const
bool TitleChanged (void)
void GetDescForPos (QString &desc)
double GetFrameRate (void)
int GetAudioLanguage (uint streamID)
int GetSubtitleLanguage (uint streamID)
virtual bool HandleAction (const QStringList &actions, int64_t pts)
virtual bool OpenFile (const QString &filename, uint retry_ms=kDefaultOpenTimeout)
 Opens a file for reading.
void close (void)
bool GoToMenu (const QString str, int64_t pts)
 jump to a Blu-ray root or popup menu
bool SwitchTitle (uint32_t index)
bool SwitchPlaylist (uint32_t index)
bool SwitchAngle (uint angle)
virtual int safe_read (void *data, uint sz)
virtual long long Seek (long long pos, int whence, bool has_lock)
 Seeks to a particular position in the file.
uint64_t Seek (uint64_t pos)

Private Member Functions

void WaitForPlayer (void)
bool UpdateTitleInfo (void)
BLURAY_TITLE_INFOGetTitleInfo (uint32_t index)
BLURAY_TITLE_INFOGetPlaylistInfo (uint32_t index)
void PressButton (int32_t key, int64_t pts)
void ClickButton (int64_t pts, uint16_t x, uint16_t y)
bool HandleBDEvents (void)
void HandleBDEvent (BD_EVENT &event)

Private Attributes

BLURAYbdnav
meta_dlm_metaDiscLibrary
bool m_isHDMVNavigation
bool m_tryHDMVNavigation
bool m_topMenuSupported
bool m_firstPlaySupported
uint32_t m_numTitles
uint32_t m_mainTitle
uint64_t m_currentTitleLength
BLURAY_TITLE_INFOm_currentTitleInfo
uint64_t m_titlesize
uint64_t m_currentTitleAngleCount
uint64_t m_currentTime
int m_currentAngle
int m_currentTitle
int m_currentPlaylist
int m_currentPlayitem
int m_currentChapter
int m_currentAudioStream
int m_currentIGStream
int m_currentPGTextSTStream
int m_currentSecondaryAudioStream
int m_currentSecondaryVideoStream
bool m_PGTextSTEnabled
bool m_secondaryAudioEnabled
bool m_secondaryVideoEnabled
bool m_secondaryVideoIsFullscreen
bool m_titleChanged
bool m_playerWait
bool m_ignorePlayerWait
QMutex m_overlayLock
QList< BDOverlay * > m_overlayImages
uint8_t m_stillTime
uint8_t m_stillMode
volatile bool m_inMenu
QHash< uint32_t,
BLURAY_TITLE_INFO * > 
m_cachedTitleInfo
QHash< uint32_t,
BLURAY_TITLE_INFO * > 
m_cachedPlaylistInfo
QMutex m_infoLock
QThread * m_mainThread

Detailed Description

Definition at line 48 of file bdringbuffer.h.


Constructor & Destructor Documentation

BDRingBuffer::BDRingBuffer ( const QString &  lfilename  ) 

Definition at line 39 of file bdringbuffer.cpp.

BDRingBuffer::~BDRingBuffer (  )  [virtual]

Definition at line 53 of file bdringbuffer.cpp.


Member Function Documentation

virtual bool BDRingBuffer::IsStreamed ( void   )  [inline, virtual]

Reimplemented from RingBuffer.

Definition at line 54 of file bdringbuffer.h.

void BDRingBuffer::ProgressUpdate ( void   ) 

Definition at line 261 of file bdringbuffer.cpp.

Referenced by file_opened_callback().

bool BDRingBuffer::BDWaitingForPlayer ( void   )  [inline]

Definition at line 59 of file bdringbuffer.h.

Referenced by MythBDPlayer::VideoLoop().

void BDRingBuffer::SkipBDWaitingForPlayer ( void   )  [inline]

Definition at line 60 of file bdringbuffer.h.

Referenced by MythBDPlayer::VideoLoop().

virtual void BDRingBuffer::IgnoreWaitStates ( bool  ignore  )  [inline, virtual]

Reimplemented from RingBuffer.

Definition at line 61 of file bdringbuffer.h.

bool BDRingBuffer::StartFromBeginning ( void   )  [virtual]

Reimplemented from RingBuffer.

Definition at line 1058 of file bdringbuffer.cpp.

bool BDRingBuffer::GetNameAndSerialNum ( QString &  _name,
QString &  _serialnum 
)

Definition at line 1068 of file bdringbuffer.cpp.

Referenced by MythBDPlayer::EventStart().

void BDRingBuffer::ClearOverlays ( void   ) 

Definition at line 1081 of file bdringbuffer.cpp.

Referenced by close().

BDOverlay * BDRingBuffer::GetOverlay ( void   ) 

Definition at line 1089 of file bdringbuffer.cpp.

Referenced by MythBDPlayer::DisplayMenu().

void BDRingBuffer::SubmitOverlay ( const bd_overlay_s *const   overlay  ) 

Definition at line 1097 of file bdringbuffer.cpp.

Referenced by HandleOverlayCallback().

uint32_t BDRingBuffer::GetNumTitles ( void   )  const [inline]

Definition at line 69 of file bdringbuffer.h.

Referenced by MythBDPlayer::GetNumTitles(), and GetTitleDuration().

int BDRingBuffer::GetCurrentTitle ( void   ) 

Definition at line 518 of file bdringbuffer.cpp.

Referenced by MythBDPlayer::GetCurrentTitle().

uint64_t BDRingBuffer::GetCurrentAngle ( void   )  const [inline]

Definition at line 71 of file bdringbuffer.h.

Referenced by MythBDPlayer::GetCurrentAngle().

int BDRingBuffer::GetTitleDuration ( int  title  ) 

Definition at line 526 of file bdringbuffer.cpp.

Referenced by MythBDPlayer::GetTitleDuration().

uint64_t BDRingBuffer::GetTitleSize ( void   )  const [inline]

Definition at line 74 of file bdringbuffer.h.

uint64_t BDRingBuffer::GetTotalTimeOfTitle ( void   )  const [inline]

Definition at line 76 of file bdringbuffer.h.

Referenced by DecoderBase::PosMapFromDb(), and DecoderBase::SyncPositionMap().

uint64_t BDRingBuffer::GetCurrentTime ( void   )  [inline]
long long BDRingBuffer::GetReadPosition ( void   )  const [virtual]

Returns how far into the file we have read.

Implements RingBuffer.

Definition at line 478 of file bdringbuffer.cpp.

uint64_t BDRingBuffer::GetTotalReadPosition ( void   ) 

Definition at line 726 of file bdringbuffer.cpp.

Referenced by DecoderBase::PosMapFromDb().

uint32_t BDRingBuffer::GetNumChapters ( void   ) 
uint32_t BDRingBuffer::GetCurrentChapter ( void   ) 

Definition at line 493 of file bdringbuffer.cpp.

Referenced by MythBDPlayer::GetCurrentChapter().

uint64_t BDRingBuffer::GetNumAngles ( void   )  [inline]

Definition at line 82 of file bdringbuffer.h.

Referenced by MythBDPlayer::GetNumAngles().

uint64_t BDRingBuffer::GetChapterStartTime ( uint32_t  chapter  ) 

Definition at line 500 of file bdringbuffer.cpp.

Referenced by MythBDPlayer::GetChapterTimes(), and UpdateTitleInfo().

uint64_t BDRingBuffer::GetChapterStartFrame ( uint32_t  chapter  ) 

Definition at line 509 of file bdringbuffer.cpp.

Referenced by MythBDPlayer::GetChapter(), and UpdateTitleInfo().

bool BDRingBuffer::IsOpen ( void   )  const [inline, virtual]
bool BDRingBuffer::IsHDMVNavigation ( void   )  const [inline]
bool BDRingBuffer::IsInMenu ( void   )  const [inline]

Definition at line 87 of file bdringbuffer.h.

Referenced by HandleAction().

bool BDRingBuffer::IsInStillFrame ( void   )  const

Definition at line 1036 of file bdringbuffer.cpp.

Referenced by MythBDPlayer::DisplayPauseFrame(), and MythBDPlayer::VideoLoop().

virtual bool BDRingBuffer::IsInDiscMenuOrStillFrame ( void   )  const [inline, virtual]

Reimplemented from RingBuffer.

Definition at line 89 of file bdringbuffer.h.

bool BDRingBuffer::TitleChanged ( void   ) 

Definition at line 707 of file bdringbuffer.cpp.

Referenced by AvFormatDecoderBD::StreamChangeCheck().

void BDRingBuffer::GetDescForPos ( QString &  desc  ) 

Definition at line 166 of file bdringbuffer.cpp.

double BDRingBuffer::GetFrameRate ( void   ) 
int BDRingBuffer::GetAudioLanguage ( uint  streamID  ) 

Definition at line 793 of file bdringbuffer.cpp.

Referenced by AvFormatDecoderBD::GetAudioLanguage().

int BDRingBuffer::GetSubtitleLanguage ( uint  streamID  ) 

Definition at line 810 of file bdringbuffer.cpp.

Referenced by AvFormatDecoderBD::GetSubtitleLanguage().

bool BDRingBuffer::HandleAction ( const QStringList &  actions,
int64_t  pts 
) [virtual]

Reimplemented from RingBuffer.

Definition at line 176 of file bdringbuffer.cpp.

bool BDRingBuffer::OpenFile ( const QString &  lfilename,
uint  retry_ms = kDefaultOpenTimeout 
) [virtual]

Opens a file for reading.

Parameters:
lfilename Name of file to read
retry_ms How many ms to retry reading the file after the first try before giving up.

Implements RingBuffer.

Definition at line 273 of file bdringbuffer.cpp.

Referenced by BDRingBuffer().

void BDRingBuffer::close ( void   ) 

Definition at line 58 of file bdringbuffer.cpp.

Referenced by OpenFile(), and ~BDRingBuffer().

bool BDRingBuffer::GoToMenu ( const QString  str,
int64_t  pts 
)

jump to a Blu-ray root or popup menu

Definition at line 867 of file bdringbuffer.cpp.

Referenced by MythBDPlayer::GoToMenu().

bool BDRingBuffer::SwitchTitle ( uint32_t  index  ) 

Definition at line 542 of file bdringbuffer.cpp.

Referenced by OpenFile(), and MythBDPlayer::SwitchTitle().

bool BDRingBuffer::SwitchPlaylist ( uint32_t  index  ) 

Definition at line 555 of file bdringbuffer.cpp.

Referenced by HandleBDEvent().

bool BDRingBuffer::SwitchAngle ( uint  angle  ) 

Definition at line 714 of file bdringbuffer.cpp.

Referenced by MythBDPlayer::SwitchAngle().

int BDRingBuffer::safe_read ( void *  data,
uint  sz 
) [virtual]

Implements RingBuffer.

Definition at line 733 of file bdringbuffer.cpp.

long long BDRingBuffer::Seek ( long long  pos,
int  whence,
bool  has_lock 
) [virtual]

Seeks to a particular position in the file.

Implements RingBuffer.

Definition at line 81 of file bdringbuffer.cpp.

uint64_t BDRingBuffer::Seek ( uint64_t  pos  ) 

Definition at line 158 of file bdringbuffer.cpp.

void BDRingBuffer::WaitForPlayer ( void   )  [private]

Definition at line 1041 of file bdringbuffer.cpp.

Referenced by HandleBDEvent().

bool BDRingBuffer::UpdateTitleInfo ( void   )  [private]

Definition at line 614 of file bdringbuffer.cpp.

Referenced by SwitchPlaylist(), and SwitchTitle().

BLURAY_TITLE_INFO * BDRingBuffer::GetTitleInfo ( uint32_t  index  )  [private]

Definition at line 571 of file bdringbuffer.cpp.

Referenced by GetTitleDuration(), OpenFile(), and SwitchTitle().

BLURAY_TITLE_INFO * BDRingBuffer::GetPlaylistInfo ( uint32_t  index  )  [private]

Definition at line 594 of file bdringbuffer.cpp.

Referenced by SwitchPlaylist().

void BDRingBuffer::PressButton ( int32_t  key,
int64_t  pts 
) [private]

Definition at line 841 of file bdringbuffer.cpp.

Referenced by GoToMenu(), and HandleAction().

void BDRingBuffer::ClickButton ( int64_t  pts,
uint16_t  x,
uint16_t  y 
) [private]

Definition at line 854 of file bdringbuffer.cpp.

bool BDRingBuffer::HandleBDEvents ( void   )  [private]

Definition at line 900 of file bdringbuffer.cpp.

Referenced by safe_read().

void BDRingBuffer::HandleBDEvent ( BD_EVENT event  )  [private]

Definition at line 915 of file bdringbuffer.cpp.

Referenced by HandleBDEvents(), and safe_read().


Member Data Documentation

Definition at line 133 of file bdringbuffer.h.

Referenced by GetNameAndSerialNum(), and OpenFile().

Definition at line 134 of file bdringbuffer.h.

Referenced by GoToMenu(), HandleAction(), OpenFile(), safe_read(), and StartFromBeginning().

Definition at line 135 of file bdringbuffer.h.

Referenced by BDRingBuffer(), and OpenFile().

Definition at line 136 of file bdringbuffer.h.

Referenced by GoToMenu(), and OpenFile().

Definition at line 137 of file bdringbuffer.h.

Referenced by OpenFile().

Definition at line 139 of file bdringbuffer.h.

Referenced by GetTitleInfo(), and OpenFile().

Definition at line 140 of file bdringbuffer.h.

Referenced by OpenFile().

Definition at line 141 of file bdringbuffer.h.

Referenced by OpenFile(), and UpdateTitleInfo().

Definition at line 143 of file bdringbuffer.h.

Referenced by OpenFile(), and UpdateTitleInfo().

Definition at line 144 of file bdringbuffer.h.

Referenced by OpenFile(), and UpdateTitleInfo().

Definition at line 145 of file bdringbuffer.h.

Referenced by OpenFile(), and safe_read().

Definition at line 147 of file bdringbuffer.h.

Referenced by HandleBDEvent(), OpenFile(), SwitchAngle(), and UpdateTitleInfo().

Definition at line 148 of file bdringbuffer.h.

Referenced by HandleBDEvent(), and OpenFile().

Definition at line 149 of file bdringbuffer.h.

Referenced by HandleBDEvent(), and OpenFile().

Definition at line 150 of file bdringbuffer.h.

Referenced by HandleBDEvent(), and OpenFile().

Definition at line 151 of file bdringbuffer.h.

Referenced by HandleBDEvent(), and OpenFile().

Definition at line 153 of file bdringbuffer.h.

Referenced by HandleBDEvent(), and OpenFile().

Definition at line 154 of file bdringbuffer.h.

Referenced by HandleBDEvent(), and OpenFile().

Definition at line 155 of file bdringbuffer.h.

Referenced by HandleBDEvent(), and OpenFile().

Definition at line 156 of file bdringbuffer.h.

Referenced by HandleBDEvent(), and OpenFile().

Definition at line 157 of file bdringbuffer.h.

Referenced by HandleBDEvent(), and OpenFile().

Definition at line 159 of file bdringbuffer.h.

Referenced by HandleBDEvent(), and OpenFile().

Definition at line 160 of file bdringbuffer.h.

Referenced by HandleBDEvent(), and OpenFile().

Definition at line 161 of file bdringbuffer.h.

Referenced by HandleBDEvent(), and OpenFile().

Definition at line 162 of file bdringbuffer.h.

Referenced by HandleBDEvent(), and OpenFile().

Definition at line 164 of file bdringbuffer.h.

Referenced by TitleChanged(), and UpdateTitleInfo().

Definition at line 166 of file bdringbuffer.h.

Referenced by WaitForPlayer().

Definition at line 167 of file bdringbuffer.h.

Referenced by WaitForPlayer().

QMutex BDRingBuffer::m_overlayLock [private]

Definition at line 169 of file bdringbuffer.h.

Referenced by ClearOverlays(), GetOverlay(), and SubmitOverlay().

Definition at line 170 of file bdringbuffer.h.

Referenced by ClearOverlays(), GetOverlay(), and SubmitOverlay().

Definition at line 172 of file bdringbuffer.h.

Referenced by IsInStillFrame(), OpenFile(), and UpdateTitleInfo().

Definition at line 173 of file bdringbuffer.h.

Referenced by IsInStillFrame(), OpenFile(), and UpdateTitleInfo().

volatile bool BDRingBuffer::m_inMenu [private]

Definition at line 174 of file bdringbuffer.h.

Referenced by OpenFile(), and SubmitOverlay().

Definition at line 176 of file bdringbuffer.h.

Referenced by close(), and GetTitleInfo().

Definition at line 177 of file bdringbuffer.h.

Referenced by close(), and GetPlaylistInfo().

QMutex BDRingBuffer::m_infoLock [private]
QThread* BDRingBuffer::m_mainThread [private]

Definition at line 180 of file bdringbuffer.h.

Referenced by BDRingBuffer(), and ProgressUpdate().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends
Generated on Mon May 28 06:41:53 2012 for MythTV by  doxygen 1.6.3