MythTV  master
Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
MythDVDBuffer Class Reference

#include <mythdvdbuffer.h>

Inheritance diagram for MythDVDBuffer:
Inheritance graph
[legend]
Collaboration diagram for MythDVDBuffer:
Collaboration graph
[legend]

Public Member Functions

 MythDVDBuffer (const QString &Filename)
 
 ~MythDVDBuffer () override
 
bool IsOpen (void) const override
 
bool IsBookmarkAllowed (void) override
 
bool IsSeekingAllowed (void) override
 
int BestBufferSize (void) override
 
bool IsInStillFrame (void) const override
 
bool OpenFile (const QString &Filename, uint Retry=static_cast< uint >(kDefaultOpenTimeout)) override
 Opens a dvd device for reading. More...
 
bool HandleAction (const QStringList &Actions, int64_t Pts) override
 
void IgnoreWaitStates (bool Ignore) override
 
bool StartFromBeginning (void) override
 
long long GetReadPosition (void) const override
 returns current position in the PGC. More...
 
bool GetNameAndSerialNum (QString &Name, QString &SerialNumber) override
 Get the dvd title and serial num. More...
 
int GetTitle (void) const
 
bool DVDWaitingForPlayer (void) const
 
int GetPart (void) const
 
int GetCurrentAngle (void) const
 
int GetNumAngles (void) const
 
long long GetTotalReadPosition (void) const
 
uint GetChapterLength (void) const
 
void GetChapterTimes (QList< long long > &Times)
 
uint64_t GetChapterTimes (int Title)
 
void GetDescForPos (QString &Description) const
 
void GetPartAndTitle (int &Part, int &Title) const
 
uint GetTotalTimeOfTitle (void) const
 get the total time of the title in seconds 90000 ticks = 1 sec More...
 
float GetAspectOverride (void) const
 
uint GetCellStart (void) const
 get the start of the cell in seconds More...
 
bool PGCLengthChanged (void)
 check if pgc length has changed More...
 
bool CellChanged (void)
 check if dvd cell has changed More...
 
bool IsStillFramePending (void) const
 
bool AudioStreamsChanged (void) const
 
bool IsWaiting (void) const
 
int NumPartsInTitle (void) const
 
void GetMenuSPUPkt (uint8_t *Buffer, int Size, int StreamID, uint32_t StartTime)
 Get SPU pkt from dvd menu subtitle stream. More...
 
uint32_t AdjustTimestamp (uint32_t Timestamp) const
 
int64_t AdjustTimestamp (int64_t Timestamp) const
 
MythDVDContextGetDVDContext (void)
 
int32_t GetLastEvent (void) const
 
AVSubtitle * GetMenuSubtitle (uint &Version)
 returns dvd menu button information if available. More...
 
int NumMenuButtons (void) const
 
QRect GetButtonCoords (void)
 get coordinates of highlighted button More...
 
void ReleaseMenuButton (void)
 
uint GetSubtitleLanguage (int Id)
 Get the subtitle language from the dvd. More...
 
int8_t GetSubtitleTrackNum (uint StreamId)
 get the logical subtitle track/stream number from the dvd More...
 
bool DecodeSubtitles (AVSubtitle *Subtitle, int *GotSubtitles, const uint8_t *SpuPkt, int BufSize, uint32_t StartTime)
 generate dvd subtitle bitmap or dvd menu bitmap. More...
 
uint GetAudioLanguage (int Index)
 get the audio language from the dvd More...
 
int GetAudioTrackNum (uint StreamId)
 get the logical track index (into PGC_AST_CTL) of the element that maps the given physical stream id. More...
 
int GetAudioTrackType (uint Index)
 
bool GetDVDStateSnapshot (QString &State)
 Get a snapshot of the current DVD VM state. More...
 
bool RestoreDVDStateSnapshot (QString &State)
 Restore a DVD VM from a snapshot. More...
 
double GetFrameRate (void)
 used by DecoderBase for the total frame number calculation for position map support and ffw/rew. More...
 
bool StartOfTitle (void) const
 
bool EndOfTitle (void) const
 
void PlayTitleAndPart (int Title, int Part)
 
void CloseDVD (void)
 
bool PlayTrack (int Track)
 
bool NextTrack (void)
 
void PrevTrack (void)
 
long long NormalSeek (long long Time)
 
bool SectorSeek (uint64_t Sector)
 
void SkipStillFrame (void)
 
void WaitSkip (void)
 
void SkipDVDWaitingForPlayer (void)
 
void UnblockReading (void)
 
bool IsReadingBlocked (void)
 
bool GoToMenu (const QString &str)
 jump to a dvd root or chapter menu More...
 
void GoToNextProgram (void)
 
void GoToPreviousProgram (void)
 
bool GoBack (void)
 Attempts to back-up by trying to jump to the 'Go up' PGC, the root menu or the title menu in turn. More...
 
void AudioStreamsChanged (bool Change)
 
int64_t GetCurrentTime (void) const
 
uint TitleTimeLeft (void) const
 returns seconds left in the title More...
 
void SetTrack (uint Type, int TrackNo)
 set the dvd subtitle/audio track used More...
 
int GetTrack (uint Type) const
 get the track the dvd should be playing. More...
 
uint16_t GetNumAudioChannels (int Index)
 
void SetDVDSpeed (void)
 set dvd speed. uses the constant DVD_DRIVE_SPEED table More...
 
void SetDVDSpeed (int Speed)
 set dvd speed. More...
 
bool SwitchAngle (int Angle)
 
void SetParent (MythDVDPlayer *Parent)
 
- Public Member Functions inherited from MythOpticalBuffer
 MythOpticalBuffer (MythBufferType Type)
 
bool IsInMenu (void) const override
 
bool IsStreamed (void) override
 
- Public Member Functions inherited from MythMediaBuffer
 ~MythMediaBuffer () override=0
 Deletes. More...
 
MythBufferType GetType () const
 
void SetOldFile (bool Old)
 Tell RingBuffer if this is an old file or not. More...
 
void UpdateRawBitrate (uint RawBitrate)
 Set the raw bit rate, to allow RingBuffer adjust effective bitrate. More...
 
void UpdatePlaySpeed (float PlaySpeed)
 Set the play speed, to allow RingBuffer adjust effective bitrate. More...
 
void EnableBitrateMonitor (bool Enable)
 
void SetBufferSizeFactors (bool EstBitrate, bool Matroska)
 Tells RingBuffer that the raw bitrate may be inaccurate and the underlying container is matroska, both of which may require a larger buffer size. More...
 
void SetWaitForWrite (void)
 
QString GetSafeFilename (void)
 
QString GetFilename (void) const
 
QString GetSubtitleFilename (void) const
 
QString GetLastError (void) const
 
bool GetCommsError (void) const
 
void ResetCommsError (void)
 
bool GetStopReads (void) const
 
QString GetDecoderRate (void)
 
QString GetStorageRate (void)
 
QString GetAvailableBuffer (void)
 
uint GetBufferSize (void) const
 
bool IsNearEnd (double Framerate, uint Frames) const
 
long long GetWritePosition (void) const
 Returns how far into a ThreadedFileWriter file we have written. More...
 
long long GetRealFileSize (void) const
 
bool IsDisc (void) const
 
bool IsDVD (void) const
 
bool IsBD (void) const
 
const MythDVDBufferDVD (void) const
 
MythDVDBufferDVD (void)
 
const MythBDBufferBD (void) const
 
MythBDBufferBD (void)
 
int Read (void *Buffer, int Count)
 This is the public method for reading from a file, it calls the appropriate read method if the file is remote or buffered, or a BD/DVD. More...
 
int Peek (void *Buffer, int Count)
 
void Reset (bool Full=false, bool ToAdjust=false, bool ResetInternal=false)
 Resets the read-ahead thread and our position in the file. More...
 
void Pause (void)
 Pauses the read-ahead thread. Calls StopReads(void). More...
 
void Unpause (void)
 Unpauses the read-ahead thread. Calls StartReads(void). More...
 
void WaitForPause (void)
 Waits for Pause(void) to take effect. More...
 
void Start (void)
 Starts the read-ahead thread. More...
 
void StopReads (void)
 
void StartReads (void)
 
long long Seek (long long Position, int Whence, bool HasLock=false)
 
long long SetAdjustFilesize (void)
 
int GetReadBufAvail (void) const
 Returns number of bytes available for reading from buffer. More...
 
bool SetReadInternalMode (bool Mode)
 
bool IsReadInternalMode (void) const
 
bool LiveMode (void) const
 Returns true if this RingBuffer has been assigned a LiveTVChain. More...
 
void SetLiveMode (LiveTVChain *Chain)
 Assigns a LiveTVChain to this RingBuffer. More...
 
void IgnoreLiveEOF (bool Ignore)
 Tells RingBuffer whether to ignore the end-of-file. More...
 
int Write (const void *Buffer, uint Count)
 Writes buffer to ThreadedFileWriter::Write(const void*,uint) More...
 
bool IsIOBound (void) const
 
void WriterFlush (void)
 Calls ThreadedFileWriter::Flush(void) More...
 
void Sync (void)
 Calls ThreadedFileWriter::Sync(void) More...
 
long long WriterSeek (long long Position, int Whence, bool HasLock=false)
 Calls ThreadedFileWriter::Seek(long long,int). More...
 
bool WriterSetBlocking (bool Lock=true)
 Calls ThreadedFileWriter::SetBlocking(bool) More...
 
virtual bool IsInDiscMenuOrStillFrame (void) const
 
virtual bool ReOpen (const QString &="")
 

Protected Member Functions

int SafeRead (void *Buffer, uint Size) override
 
long long SeekInternal (long long Position, int Whence) override
 
void ActivateButton (void)
 Action taken when a dvd menu button is selected. More...
 
void MoveButtonLeft (void)
 
void MoveButtonRight (void)
 
void MoveButtonUp (void)
 
void MoveButtonDown (void)
 
bool DVDButtonUpdate (bool ButtonMode)
 update the dvd menu button parameters when a user changes the dvd menu button position More...
 
void ClearMenuSPUParameters (void)
 clears the menu SPU pkt and parameters. More...
 
void ClearMenuButton (void)
 clears the dvd menu button structures More...
 
long long Seek (long long Time)
 
void ClearChapterCache (void)
 
void SelectDefaultButton (void)
 determines the default dvd menu button to show when you initially access the dvd menu. More...
 
void WaitForPlayer (void)
 
void GuessPalette (uint32_t *RGBAPalette, const uint8_t *Palette, const uint8_t *Alpha)
 converts palette values from YUV to RGB More...
 
- Protected Member Functions inherited from MythMediaBuffer
 MythMediaBuffer (MythBufferType Type)
 
void run (void) override
 Runs the Qt event loop unless we have a QRunnable, in which case we run the runnable run instead. More...
 
void CreateReadAheadBuffer (void)
 
void CalcReadAheadThresh (void)
 Calculates m_fillMin, m_fillThreshold, and m_readBlockSize from the estimated effective bitrate of the stream. More...
 
bool PauseAndWait (void)
 
int ReadPriv (void *Buffer, int Count, bool Peek)
 When possible reads from the read-ahead buffer, otherwise reads directly from the device. More...
 
int ReadDirect (void *Buffer, int Count, bool Peek)
 
bool WaitForReadsAllowed (void)
 
int WaitForAvail (int Count, int Timeout)
 
int ReadBufFree (void) const
 Returns number of bytes available for reading into buffer. More...
 
int ReadBufAvail (void) const
 Returns number of bytes available for reading from buffer. More...
 
void ResetReadAhead (long long NewInternal)
 Restart the read-ahead thread at the 'newinternal' position. More...
 
void KillReadAheadThread (void)
 Stops the read-ahead thread, and waits for it to stop. More...
 
uint64_t UpdateDecoderRate (uint64_t Latest=0)
 
uint64_t UpdateStorageRate (uint64_t Latest=0)
 
virtual long long GetRealFileSizeInternal (void) const
 
- Protected Member Functions inherited from MThread
int exec (void)
 Enters the qt event loop. call exit or quit to exit thread. More...
 
 MThread (const QString &objectName)
 Standard constructor. More...
 
 MThread (const QString &objectName, QRunnable *runnable)
 Use this constructor if you want the default run() method to run the QRunnable's run() method instead of entering the Qt event loop. More...
 
virtual ~MThread ()
 
 MThread (const MThread &)=delete
 
MThreadoperator= (const MThread &)=delete
 
void RunProlog (void)
 Sets up a thread, call this if you reimplement run(). More...
 
void RunEpilog (void)
 Cleans up a thread's resources, call this if you reimplement run(). More...
 
QThread * qthread (void)
 Returns the thread, this will always return the same pointer no matter how often you restart the thread. More...
 
void setObjectName (const QString &name)
 
QString objectName (void) const
 
void setPriority (QThread::Priority priority)
 
QThread::Priority priority (void) const
 
bool isFinished (void) const
 
bool isRunning (void) const
 
void setStackSize (uint stackSize)
 
uint stackSize (void) const
 
void exit (int retcode=0)
 Use this to exit from the thread if you are using a Qt event loop. More...
 
void start (QThread::Priority p=QThread::InheritPriority)
 Tell MThread to start running the thread in the near future. More...
 
void terminate (void)
 Kill a thread unsafely. More...
 
void quit (void)
 calls exit(0) More...
 
bool wait (unsigned long time=ULONG_MAX)
 Wait for the MThread to exit, with a maximum timeout. More...
 

Static Protected Member Functions

static uint ConvertLangCode (uint16_t Code)
 converts the subtitle/audio lang code to iso639. More...
 
static uint GetNibble (const uint8_t *Buffer, int NibbleOffset)
 copied from ffmpeg's dvdsubdec.c More...
 
static int DecodeRLE (uint8_t *Bitmap, int Linesize, int Width, int Height, const uint8_t *Buffer, int NibbleOffset, int BufferSize)
 decodes the bitmap from the subtitle packet. More...
 
static int IsTransparent (const uint8_t *Buffer, int Pitch, int Num, const uint8_t *Colors)
 Obtained from ffmpeg dvdsubdec.c Used to find smallest bounded rectangle. More...
 
static int FindSmallestBoundingRectangle (AVSubtitle *Subtitle)
 Obtained from ffmpeg dvdsubdec.c Used to find smallest bounded rect and helps prevent jerky picture during subtitle creation. More...
 
- Static Protected Member Functions inherited from MThread
static void setTerminationEnabled (bool enabled=true)
 
static void sleep (unsigned long time)
 
static void msleep (unsigned long time)
 
static void usleep (unsigned long time)
 
static void ThreadSetup (const QString &name)
 This is to be called on startup in those few threads that haven't been ported to MThread. More...
 
static void ThreadCleanup (void)
 This is to be called on exit in those few threads that haven't been ported to MThread. More...
 
static void Cleanup (void)
 This will print out all the running threads, call exit(1) on each and then wait up to 5 seconds total for all the threads to exit. More...
 
static void GetAllThreadNames (QStringList &list)
 
static void GetAllRunningThreadNames (QStringList &list)
 

Protected Attributes

dvdnav_t * m_dvdnav { nullptr }
 
unsigned char m_dvdBlockWriteBuf [DVD_BLOCK_SIZE] { 0 }
 
unsigned char * m_dvdBlockReadBuf { nullptr }
 
int m_dvdBlockRPos { 0 }
 
int m_dvdBlockWPos { 0 }
 
long long m_pgLength { 0 }
 
long long m_pgcLength { 0 }
 
long long m_cellStart { 0 }
 
bool m_cellChanged { false }
 
bool m_pgcLengthChanged { false }
 
long long m_pgStart { 0 }
 
long long m_currentpos { 0 }
 
int32_t m_part { 0 }
 
int32_t m_lastPart { 0 }
 
int32_t m_title { 0 }
 
int32_t m_lastTitle { 0 }
 
bool m_playerWait { false }
 
int32_t m_titleParts { 0 }
 
bool m_gotStop { false }
 
int m_currentTitleAngleCount { 0 }
 
int64_t m_endPts { 0 }
 
int64_t m_timeDiff { 0 }
 
int m_still { 0 }
 
int m_lastStill { 0 }
 
bool m_audioStreamsChanged { false }
 
bool m_dvdWaiting { false }
 
long long m_titleLength { 0 }
 
bool m_skipstillorwait { true }
 
long long m_cellstartPos { 0 }
 
bool m_buttonSelected { false }
 
bool m_buttonExists { false }
 
bool m_buttonSeenInCell { false }
 
bool m_lastButtonSeenInCell { false }
 
int m_cellid { 0 }
 
int m_lastcellid { 0 }
 
int m_vobid { 0 }
 
int m_lastvobid { 0 }
 
bool m_cellRepeated { false }
 
int m_curAudioTrack { 0 }
 
int8_t m_curSubtitleTrack { 0 }
 
bool m_autoselectsubtitle { true }
 
bool m_seeking { false }
 
int64_t m_seektime { 0 }
 
int64_t m_currentTime { 0 }
 
QMap< int, int > m_seekSpeedMap
 
QMap< int, QList< uint64_t > > m_chapterMap
 
MythDVDPlayerm_parent { nullptr }
 
float m_forcedAspect { -1.0F }
 
QMutex m_contextLock { QMutex::Recursive }
 
MythDVDContextm_context { nullptr }
 
dvdnav_status_t m_dvdStat { DVDNAV_STATUS_OK }
 
int32_t m_dvdEvent { 0 }
 
int32_t m_dvdEventSize { 0 }
 
uint m_buttonVersion { 1 }
 
int m_buttonStreamID { 0 }
 
uint32_t m_clut [16] { 0 }
 
uint8_t m_buttonColor [4] { 0 }
 
uint8_t m_buttonAlpha [4] { 0 }
 
QRect m_hlButton { 0, 0, 0, 0 }
 
uint8_t * m_menuSpuPkt { nullptr }
 
int m_menuBuflength { 0 }
 
AVSubtitle m_dvdMenuButton { }
 
QMutex m_menuBtnLock
 
QMutex m_seekLock
 
- Protected Attributes inherited from MythOpticalBuffer
MythOpticalState m_processState { PROCESS_NORMAL }
 
int m_currentAngle { 0 }
 
bool m_inMenu { false }
 
QString m_discName
 
QString m_discSerialNumber
 
- Protected Attributes inherited from MythMediaBuffer
MythBufferType m_type
 
QReadWriteLock m_posLock
 
long long m_readPos { 0 }
 
long long m_writePos { 0 }
 
long long m_internalReadPos { 0 }
 
long long m_ignoreReadPos { -1 }
 
QReadWriteLock m_rbrLock
 
int m_rbrPos { 0 }
 
QReadWriteLock m_rbwLock
 
int m_rbwPos { 0 }
 
volatile bool m_stopReads {false}
 
QString m_safeFilename
 
QReadWriteLock m_rwLock
 
QString m_filename
 
QString m_subtitleFilename
 
QString m_lastError
 
ThreadedFileWriterm_tfw { nullptr }
 
int m_fd2 { -1 }
 
bool m_writeMode { false }
 
RemoteFilem_remotefile { nullptr }
 
uint m_bufferSize { BUFFER_SIZE_MINIMUM }
 
bool m_lowBuffers { false }
 
bool m_fileIsMatroska { false }
 
bool m_unknownBitrate { false }
 
bool m_startReadAhead { false }
 
char * m_readAheadBuffer { nullptr }
 
bool m_readAheadRunning { false }
 
bool m_reallyRunning { false }
 
bool m_requestPause { false }
 
bool m_paused { false }
 
bool m_ateof { false }
 
bool m_waitForWrite { false }
 
bool m_beingWritten { false }
 
bool m_readsAllowed { false }
 
bool m_readsDesired { false }
 
volatile bool m_recentSeek { true }
 
bool m_setSwitchToNext { false }
 
uint m_rawBitrate { 8000 }
 
float m_playSpeed { 1.0F }
 
int m_fillThreshold { 65536 }
 
int m_fillMin { -1 }
 
int m_readBlockSize { DEFAULT_CHUNK_SIZE}
 
int m_wantToRead { 0 }
 
int m_numFailures { 0 }
 
bool m_commsError { false }
 
bool m_oldfile { false }
 
LiveTVChainm_liveTVChain { nullptr }
 
bool m_ignoreLiveEOF { false }
 
long long m_readAdjust { 0 }
 
int m_readOffset { 0 }
 
bool m_readInternalMode { false }
 
bool m_bitrateMonitorEnabled { false }
 
QMutex m_decoderReadLock
 
QMap< qint64, uint64_t > m_decoderReads
 
QMutex m_storageReadLock
 
QMap< qint64, uint64_t > m_storageReads
 
QWaitCondition m_generalWait
 Condition to signal that the read ahead thread is running. More...
 
- Protected Attributes inherited from MThread
MThreadInternalm_thread {nullptr}
 
QRunnable * m_runnable {nullptr}
 
bool m_prologExecuted {true}
 
bool m_epilogExecuted {true}
 

Additional Inherited Members

- Static Public Member Functions inherited from MythMediaBuffer
static MythMediaBufferCreate (const QString &Filename, bool Write, bool UseReadAhead=true, int Timeout=kDefaultOpenTimeout, bool StreamOnly=false)
 Creates a RingBuffer instance. More...
 
static QString BitrateToString (uint64_t Rate, bool Hz=false)
 
static void AVFormatInitNetwork (void)
 
- Static Public Attributes inherited from MythMediaBuffer
static const int kDefaultOpenTimeout = 2000
 
static const int kLiveTVOpenTimeout = 10000
 
static QMutex s_subExtLock
 
static QStringList s_subExt
 
static QStringList s_subExtNoCheck
 
- Protected Types inherited from MythOpticalBuffer
enum  MythOpticalState { PROCESS_NORMAL, PROCESS_REPROCESS, PROCESS_WAIT }
 
- Static Protected Attributes inherited from MThread
static const int kDefaultStartTimeout
 

Detailed Description

Definition at line 28 of file mythdvdbuffer.h.

Constructor & Destructor Documentation

◆ MythDVDBuffer()

MythDVDBuffer::MythDVDBuffer ( const QString &  Filename)
explicit

Definition at line 38 of file mythdvdbuffer.cpp.

◆ ~MythDVDBuffer()

MythDVDBuffer::~MythDVDBuffer ( )
override

Definition at line 46 of file mythdvdbuffer.cpp.

Member Function Documentation

◆ IsOpen()

bool MythDVDBuffer::IsOpen ( void  ) const
overridevirtual

Implements MythMediaBuffer.

Definition at line 209 of file mythdvdbuffer.cpp.

Referenced by MythDVDPlayer::GetCurrentAngle(), and MythDVDPlayer::GetNumAngles().

◆ IsBookmarkAllowed()

bool MythDVDBuffer::IsBookmarkAllowed ( void  )
overridevirtual

Reimplemented from MythMediaBuffer.

Definition at line 214 of file mythdvdbuffer.cpp.

◆ IsSeekingAllowed()

bool MythDVDBuffer::IsSeekingAllowed ( void  )
overridevirtual

Reimplemented from MythMediaBuffer.

Definition at line 224 of file mythdvdbuffer.cpp.

◆ BestBufferSize()

int MythDVDBuffer::BestBufferSize ( void  )
inlineoverridevirtual

Reimplemented from MythMediaBuffer.

Definition at line 39 of file mythdvdbuffer.h.

◆ IsInStillFrame()

bool MythDVDBuffer::IsInStillFrame ( void  ) const
overridevirtual

◆ OpenFile()

bool MythDVDBuffer::OpenFile ( const QString &  Filename,
uint  Retry = static_cast<uint>(kDefaultOpenTimeout) 
)
overridevirtual

Opens a dvd device for reading.

Parameters
lfilenamePath of the dvd device to read.
Returns
Returns true if the dvd was opened.

Implements MythMediaBuffer.

Definition at line 253 of file mythdvdbuffer.cpp.

Referenced by MythDVDBuffer(), and StartFromBeginning().

◆ HandleAction()

bool MythDVDBuffer::HandleAction ( const QStringList &  Actions,
int64_t  Pts 
)
overridevirtual

Reimplemented from MythMediaBuffer.

Definition at line 1308 of file mythdvdbuffer.cpp.

◆ IgnoreWaitStates()

void MythDVDBuffer::IgnoreWaitStates ( bool  Ignore)
overridevirtual

Reimplemented from MythMediaBuffer.

Definition at line 1329 of file mythdvdbuffer.cpp.

◆ StartFromBeginning()

bool MythDVDBuffer::StartFromBeginning ( void  )
overridevirtual

Reimplemented from MythMediaBuffer.

Definition at line 321 of file mythdvdbuffer.cpp.

◆ GetReadPosition()

long long MythDVDBuffer::GetReadPosition ( void  ) const
overridevirtual

returns current position in the PGC.

Implements MythMediaBuffer.

Definition at line 407 of file mythdvdbuffer.cpp.

Referenced by SafeRead().

◆ GetNameAndSerialNum()

bool MythDVDBuffer::GetNameAndSerialNum ( QString &  Name,
QString &  SerialNumber 
)
overridevirtual

Get the dvd title and serial num.

Implements MythOpticalBuffer.

Definition at line 1896 of file mythdvdbuffer.cpp.

Referenced by MythDVDPlayer::EventStart(), MythDVDPlayer::GetBookmark(), MythDVDPlayer::SetBookmark(), and TV::ShowLCDDVDInfo().

◆ GetTitle()

int MythDVDBuffer::GetTitle ( void  ) const

Definition at line 422 of file mythdvdbuffer.cpp.

◆ DVDWaitingForPlayer()

bool MythDVDBuffer::DVDWaitingForPlayer ( void  ) const

Definition at line 427 of file mythdvdbuffer.cpp.

Referenced by MythDVDPlayer::VideoLoop().

◆ GetPart()

int MythDVDBuffer::GetPart ( void  ) const

Definition at line 432 of file mythdvdbuffer.cpp.

Referenced by MythDVDPlayer::GetCurrentChapter().

◆ GetCurrentAngle()

int MythDVDBuffer::GetCurrentAngle ( void  ) const

Definition at line 437 of file mythdvdbuffer.cpp.

Referenced by MythDVDPlayer::GetCurrentAngle().

◆ GetNumAngles()

int MythDVDBuffer::GetNumAngles ( void  ) const

Definition at line 442 of file mythdvdbuffer.cpp.

Referenced by MythDVDPlayer::GetNumAngles().

◆ GetTotalReadPosition()

long long MythDVDBuffer::GetTotalReadPosition ( void  ) const

Definition at line 447 of file mythdvdbuffer.cpp.

Referenced by DecoderBase::PosMapFromDb().

◆ GetChapterLength()

uint MythDVDBuffer::GetChapterLength ( void  ) const

Definition at line 452 of file mythdvdbuffer.cpp.

◆ GetChapterTimes() [1/2]

void MythDVDBuffer::GetChapterTimes ( QList< long long > &  Times)

Definition at line 365 of file mythdvdbuffer.cpp.

Referenced by MythDVDPlayer::GetChapterTimes(), and SafeRead().

◆ GetChapterTimes() [2/2]

uint64_t MythDVDBuffer::GetChapterTimes ( int  Title)

Definition at line 375 of file mythdvdbuffer.cpp.

◆ GetDescForPos()

void MythDVDBuffer::GetDescForPos ( QString &  Description) const

Definition at line 234 of file mythdvdbuffer.cpp.

◆ GetPartAndTitle()

void MythDVDBuffer::GetPartAndTitle ( int &  Part,
int &  Title 
) const

Definition at line 457 of file mythdvdbuffer.cpp.

Referenced by TV::ShowLCDDVDInfo().

◆ GetTotalTimeOfTitle()

uint MythDVDBuffer::GetTotalTimeOfTitle ( void  ) const

get the total time of the title in seconds 90000 ticks = 1 sec

Definition at line 1135 of file mythdvdbuffer.cpp.

Referenced by IsBookmarkAllowed(), DecoderBase::PosMapFromDb(), MythDVDPlayer::SeekForScreenGrab(), TV::ShowLCDDVDInfo(), DecoderBase::SyncPositionMap(), and TitleTimeLeft().

◆ GetAspectOverride()

float MythDVDBuffer::GetAspectOverride ( void  ) const

Definition at line 1140 of file mythdvdbuffer.cpp.

Referenced by AvFormatDecoder::MpegPreProcessPkt().

◆ GetCellStart()

uint MythDVDBuffer::GetCellStart ( void  ) const

get the start of the cell in seconds

Definition at line 1147 of file mythdvdbuffer.cpp.

Referenced by MythDVDPlayer::DoJumpChapter().

◆ PGCLengthChanged()

bool MythDVDBuffer::PGCLengthChanged ( void  )

check if pgc length has changed

Definition at line 1183 of file mythdvdbuffer.cpp.

Referenced by MythDVDDecoder::StreamChangeCheck().

◆ CellChanged()

bool MythDVDBuffer::CellChanged ( void  )

check if dvd cell has changed

Definition at line 1154 of file mythdvdbuffer.cpp.

◆ IsStillFramePending()

bool MythDVDBuffer::IsStillFramePending ( void  ) const

Definition at line 1161 of file mythdvdbuffer.cpp.

Referenced by MythDVDPlayer::VideoLoop().

◆ AudioStreamsChanged() [1/2]

bool MythDVDBuffer::AudioStreamsChanged ( void  ) const

◆ IsWaiting()

bool MythDVDBuffer::IsWaiting ( void  ) const

Definition at line 1171 of file mythdvdbuffer.cpp.

Referenced by MythDVDPlayer::VideoLoop().

◆ NumPartsInTitle()

int MythDVDBuffer::NumPartsInTitle ( void  ) const

Definition at line 1176 of file mythdvdbuffer.cpp.

Referenced by MythDVDPlayer::GetNumChapters(), and TV::ShowLCDDVDInfo().

◆ GetMenuSPUPkt()

void MythDVDBuffer::GetMenuSPUPkt ( uint8_t *  Buffer,
int  Size,
int  StreamID,
uint32_t  StartTime 
)

Get SPU pkt from dvd menu subtitle stream.

Definition at line 1382 of file mythdvdbuffer.cpp.

Referenced by AvFormatDecoder::ProcessSubtitlePacket().

◆ AdjustTimestamp() [1/2]

uint32_t MythDVDBuffer::AdjustTimestamp ( uint32_t  Timestamp) const

Definition at line 463 of file mythdvdbuffer.cpp.

Referenced by MythDVDDecoder::ReadPacket(), and SafeRead().

◆ AdjustTimestamp() [2/2]

int64_t MythDVDBuffer::AdjustTimestamp ( int64_t  Timestamp) const

Definition at line 471 of file mythdvdbuffer.cpp.

◆ GetDVDContext()

MythDVDContext * MythDVDBuffer::GetDVDContext ( void  )

Definition at line 479 of file mythdvdbuffer.cpp.

Referenced by MythDVDDecoder::ProcessDataPacket().

◆ GetLastEvent()

int32_t MythDVDBuffer::GetLastEvent ( void  ) const

Definition at line 487 of file mythdvdbuffer.cpp.

Referenced by MythDVDDecoder::ReadPacket().

◆ GetMenuSubtitle()

AVSubtitle * MythDVDBuffer::GetMenuSubtitle ( uint Version)

returns dvd menu button information if available.

Definition at line 1412 of file mythdvdbuffer.cpp.

Referenced by MythDVDPlayer::DisplayDVDButton().

◆ NumMenuButtons()

int MythDVDBuffer::NumMenuButtons ( void  ) const

◆ GetButtonCoords()

QRect MythDVDBuffer::GetButtonCoords ( void  )

get coordinates of highlighted button

Definition at line 1434 of file mythdvdbuffer.cpp.

Referenced by MythDVDPlayer::DisplayDVDButton().

◆ ReleaseMenuButton()

void MythDVDBuffer::ReleaseMenuButton ( void  )

Definition at line 1427 of file mythdvdbuffer.cpp.

Referenced by MythDVDPlayer::DisplayDVDButton().

◆ GetSubtitleLanguage()

uint MythDVDBuffer::GetSubtitleLanguage ( int  Id)

Get the subtitle language from the dvd.

Definition at line 1784 of file mythdvdbuffer.cpp.

Referenced by MythDVDDecoder::PostProcessTracks().

◆ GetSubtitleTrackNum()

int8_t MythDVDBuffer::GetSubtitleTrackNum ( uint  StreamId)

get the logical subtitle track/stream number from the dvd

Parameters
stream_idthe stream id, range 0-31

Definition at line 1794 of file mythdvdbuffer.cpp.

Referenced by MythDVDDecoder::PostProcessTracks().

◆ DecodeSubtitles()

bool MythDVDBuffer::DecodeSubtitles ( AVSubtitle *  Subtitle,
int *  GotSubtitles,
const uint8_t *  SpuPkt,
int  BufSize,
uint32_t  StartTime 
)

generate dvd subtitle bitmap or dvd menu bitmap.

code obtained from ffmpeg project

Definition at line 1446 of file mythdvdbuffer.cpp.

Referenced by GetMenuSPUPkt(), and AvFormatDecoder::ProcessSubtitlePacket().

◆ GetAudioLanguage()

uint MythDVDBuffer::GetAudioLanguage ( int  Index)

get the audio language from the dvd

Definition at line 1709 of file mythdvdbuffer.cpp.

Referenced by MythDVDDecoder::GetAudioLanguage().

◆ GetAudioTrackNum()

int MythDVDBuffer::GetAudioTrackNum ( uint  StreamId)

get the logical track index (into PGC_AST_CTL) of the element that maps the given physical stream id.

Parameters
stream_idThe physical stream id.
Returns
The logical stream id,, or -1 if the stream can't be found.

Definition at line 1733 of file mythdvdbuffer.cpp.

Referenced by MythDVDDecoder::GetAudioLanguage(), MythDVDDecoder::GetAudioTrackType(), SafeRead(), and AvFormatDecoder::ScanStreams().

◆ GetAudioTrackType()

int MythDVDBuffer::GetAudioTrackType ( uint  Index)

Definition at line 1765 of file mythdvdbuffer.cpp.

Referenced by MythDVDDecoder::GetAudioTrackType().

◆ GetDVDStateSnapshot()

bool MythDVDBuffer::GetDVDStateSnapshot ( QString &  State)

Get a snapshot of the current DVD VM state.

Definition at line 1905 of file mythdvdbuffer.cpp.

Referenced by MythDVDPlayer::SetBookmark().

◆ RestoreDVDStateSnapshot()

bool MythDVDBuffer::RestoreDVDStateSnapshot ( QString &  State)

Restore a DVD VM from a snapshot.

Definition at line 1921 of file mythdvdbuffer.cpp.

Referenced by MythDVDPlayer::VideoStart().

◆ GetFrameRate()

double MythDVDBuffer::GetFrameRate ( void  )

used by DecoderBase for the total frame number calculation for position map support and ffw/rew.

FPS for a dvd is determined by AFD::normalized_fps

  • dvdnav_get_video_format: 0 - NTSC, 1 - PAL

Definition at line 1932 of file mythdvdbuffer.cpp.

Referenced by DecoderBase::PosMapFromDb().

◆ StartOfTitle()

bool MythDVDBuffer::StartOfTitle ( void  ) const

Definition at line 1940 of file mythdvdbuffer.cpp.

◆ EndOfTitle()

bool MythDVDBuffer::EndOfTitle ( void  ) const

Definition at line 1945 of file mythdvdbuffer.cpp.

◆ PlayTitleAndPart()

void MythDVDBuffer::PlayTitleAndPart ( int  Title,
int  Part 
)

Definition at line 1950 of file mythdvdbuffer.cpp.

Referenced by MythDVDPlayer::InitialSeek().

◆ CloseDVD()

void MythDVDBuffer::CloseDVD ( void  )

Definition at line 57 of file mythdvdbuffer.cpp.

Referenced by OpenFile(), StartFromBeginning(), and ~MythDVDBuffer().

◆ PlayTrack()

bool MythDVDBuffer::PlayTrack ( int  Track)

Definition at line 1093 of file mythdvdbuffer.cpp.

Referenced by MythDVDPlayer::DoJumpChapter().

◆ NextTrack()

bool MythDVDBuffer::NextTrack ( void  )

Definition at line 1106 of file mythdvdbuffer.cpp.

◆ PrevTrack()

void MythDVDBuffer::PrevTrack ( void  )

Definition at line 1120 of file mythdvdbuffer.cpp.

◆ NormalSeek()

long long MythDVDBuffer::NormalSeek ( long long  Time)

Definition at line 141 of file mythdvdbuffer.cpp.

Referenced by SeekInternal().

◆ SectorSeek()

bool MythDVDBuffer::SectorSeek ( uint64_t  Sector)

◆ SkipStillFrame()

void MythDVDBuffer::SkipStillFrame ( void  )

Definition at line 1190 of file mythdvdbuffer.cpp.

Referenced by SafeRead(), and MythDVDPlayer::StillFrameCheck().

◆ WaitSkip()

void MythDVDBuffer::WaitSkip ( void  )

Definition at line 1203 of file mythdvdbuffer.cpp.

Referenced by SafeRead(), and MythDVDPlayer::VideoLoop().

◆ SkipDVDWaitingForPlayer()

void MythDVDBuffer::SkipDVDWaitingForPlayer ( void  )

Definition at line 1211 of file mythdvdbuffer.cpp.

Referenced by MythDVDPlayer::VideoLoop().

◆ UnblockReading()

void MythDVDBuffer::UnblockReading ( void  )

Definition at line 1216 of file mythdvdbuffer.cpp.

Referenced by MythDVDDecoder::ReadPacket().

◆ IsReadingBlocked()

bool MythDVDBuffer::IsReadingBlocked ( void  )

Definition at line 1221 of file mythdvdbuffer.cpp.

Referenced by MythDVDDecoder::ReadPacket().

◆ GoToMenu()

bool MythDVDBuffer::GoToMenu ( const QString &  str)

jump to a dvd root or chapter menu

Definition at line 1228 of file mythdvdbuffer.cpp.

Referenced by MythDVDPlayer::GoToMenu().

◆ GoToNextProgram()

void MythDVDBuffer::GoToNextProgram ( void  )

Definition at line 1290 of file mythdvdbuffer.cpp.

Referenced by MythDVDPlayer::GoToDVDProgram().

◆ GoToPreviousProgram()

void MythDVDBuffer::GoToPreviousProgram ( void  )

Definition at line 1299 of file mythdvdbuffer.cpp.

Referenced by MythDVDPlayer::GoToDVDProgram().

◆ GoBack()

bool MythDVDBuffer::GoBack ( void  )

Attempts to back-up by trying to jump to the 'Go up' PGC, the root menu or the title menu in turn.

Returns
true if a jump was possible, false if not.

Definition at line 1252 of file mythdvdbuffer.cpp.

Referenced by TV::ActiveHandleAction().

◆ AudioStreamsChanged() [2/2]

void MythDVDBuffer::AudioStreamsChanged ( bool  Change)

Definition at line 1889 of file mythdvdbuffer.cpp.

◆ GetCurrentTime()

int64_t MythDVDBuffer::GetCurrentTime ( void  ) const

◆ TitleTimeLeft()

uint MythDVDBuffer::TitleTimeLeft ( void  ) const

returns seconds left in the title

Definition at line 1970 of file mythdvdbuffer.cpp.

Referenced by MythDVDPlayer::CalcMaxFFTime(), and DecoderBase::DoFastForward().

◆ SetTrack()

void MythDVDBuffer::SetTrack ( uint  Type,
int  TrackNo 
)

set the dvd subtitle/audio track used

Parameters
typecurrently kTrackTypeSubtitle or kTrackTypeAudio
trackNoif -1 then autoselect the track num from the dvd IFO

Definition at line 1849 of file mythdvdbuffer.cpp.

Referenced by MythDVDPlayer::DisableCaptions(), MythDVDPlayer::EnableCaptions(), MythDVDPlayer::InitialSeek(), and MythDVDPlayer::SetTrack().

◆ GetTrack()

int MythDVDBuffer::GetTrack ( uint  Type) const

get the track the dvd should be playing.

can either be set by the user using MythDVDBuffer::SetTrack or determined from the dvd IFO.

Parameters
typeuse either kTrackTypeSubtitle or kTrackTypeAudio

Definition at line 1868 of file mythdvdbuffer.cpp.

Referenced by MythDVDDecoder::PostProcessTracks().

◆ GetNumAudioChannels()

uint16_t MythDVDBuffer::GetNumAudioChannels ( int  Index)

Definition at line 1877 of file mythdvdbuffer.cpp.

Referenced by AvFormatDecoder::ScanStreams().

◆ SetDVDSpeed() [1/2]

void MythDVDBuffer::SetDVDSpeed ( void  )

set dvd speed. uses the constant DVD_DRIVE_SPEED table

Definition at line 1956 of file mythdvdbuffer.cpp.

Referenced by MythDVDPlayer::ChangeSpeed(), CloseDVD(), and OpenFile().

◆ SetDVDSpeed() [2/2]

void MythDVDBuffer::SetDVDSpeed ( int  Speed)

set dvd speed.

Definition at line 1963 of file mythdvdbuffer.cpp.

◆ SwitchAngle()

bool MythDVDBuffer::SwitchAngle ( int  Angle)

Definition at line 2146 of file mythdvdbuffer.cpp.

Referenced by MythDVDPlayer::SwitchAngle().

◆ SetParent()

void MythDVDBuffer::SetParent ( MythDVDPlayer Parent)

Definition at line 2161 of file mythdvdbuffer.cpp.

Referenced by MythDVDPlayer::EventEnd(), and MythDVDPlayer::EventStart().

◆ SafeRead()

int MythDVDBuffer::SafeRead ( void *  Buffer,
uint  Size 
)
overrideprotectedvirtual

Implements MythMediaBuffer.

Definition at line 514 of file mythdvdbuffer.cpp.

◆ SeekInternal()

long long MythDVDBuffer::SeekInternal ( long long  Position,
int  Whence 
)
overrideprotectedvirtual

Implements MythMediaBuffer.

Definition at line 88 of file mythdvdbuffer.cpp.

◆ ActivateButton()

void MythDVDBuffer::ActivateButton ( void  )
protected

Action taken when a dvd menu button is selected.

Definition at line 1371 of file mythdvdbuffer.cpp.

Referenced by HandleAction().

◆ MoveButtonLeft()

void MythDVDBuffer::MoveButtonLeft ( void  )
protected

Definition at line 1334 of file mythdvdbuffer.cpp.

Referenced by HandleAction().

◆ MoveButtonRight()

void MythDVDBuffer::MoveButtonRight ( void  )
protected

Definition at line 1343 of file mythdvdbuffer.cpp.

Referenced by HandleAction().

◆ MoveButtonUp()

void MythDVDBuffer::MoveButtonUp ( void  )
protected

Definition at line 1352 of file mythdvdbuffer.cpp.

Referenced by HandleAction().

◆ MoveButtonDown()

void MythDVDBuffer::MoveButtonDown ( void  )
protected

Definition at line 1361 of file mythdvdbuffer.cpp.

Referenced by HandleAction().

◆ DVDButtonUpdate()

bool MythDVDBuffer::DVDButtonUpdate ( bool  ButtonMode)
protected

update the dvd menu button parameters when a user changes the dvd menu button position

Definition at line 1622 of file mythdvdbuffer.cpp.

Referenced by GetMenuSPUPkt(), and SafeRead().

◆ ClearMenuSPUParameters()

void MythDVDBuffer::ClearMenuSPUParameters ( void  )
protected

clears the menu SPU pkt and parameters.

necessary action during dvd menu changes

Definition at line 1684 of file mythdvdbuffer.cpp.

Referenced by GetMenuSPUPkt(), and ~MythDVDBuffer().

◆ ClearMenuButton()

void MythDVDBuffer::ClearMenuButton ( void  )
protected

clears the dvd menu button structures

Definition at line 1663 of file mythdvdbuffer.cpp.

Referenced by ClearMenuSPUParameters().

◆ Seek()

long long MythDVDBuffer::Seek ( long long  Time)
protected

Definition at line 164 of file mythdvdbuffer.cpp.

Referenced by NormalSeek(), PlayTrack(), and PrevTrack().

◆ ClearChapterCache()

void MythDVDBuffer::ClearChapterCache ( void  )
protected

Definition at line 79 of file mythdvdbuffer.cpp.

Referenced by ~MythDVDBuffer().

◆ SelectDefaultButton()

void MythDVDBuffer::SelectDefaultButton ( void  )
protected

determines the default dvd menu button to show when you initially access the dvd menu.

Definition at line 1829 of file mythdvdbuffer.cpp.

Referenced by GetMenuSPUPkt().

◆ WaitForPlayer()

void MythDVDBuffer::WaitForPlayer ( void  )
protected

Definition at line 492 of file mythdvdbuffer.cpp.

Referenced by SafeRead().

◆ ConvertLangCode()

uint MythDVDBuffer::ConvertLangCode ( uint16_t  Code)
staticprotected

converts the subtitle/audio lang code to iso639.

Definition at line 1809 of file mythdvdbuffer.cpp.

Referenced by GetAudioLanguage(), and GetSubtitleLanguage().

◆ GetNibble()

uint MythDVDBuffer::GetNibble ( const uint8_t *  Buffer,
int  NibbleOffset 
)
staticprotected

copied from ffmpeg's dvdsubdec.c

Definition at line 2047 of file mythdvdbuffer.cpp.

Referenced by DecodeRLE().

◆ DecodeRLE()

int MythDVDBuffer::DecodeRLE ( uint8_t *  Bitmap,
int  Linesize,
int  Width,
int  Height,
const uint8_t *  Buffer,
int  NibbleOffset,
int  BufferSize 
)
staticprotected

decodes the bitmap from the subtitle packet.

copied from ffmpeg's dvdsubdec.c.

Definition at line 2000 of file mythdvdbuffer.cpp.

Referenced by DecodeSubtitles().

◆ GuessPalette()

void MythDVDBuffer::GuessPalette ( uint32_t *  RGBAPalette,
const uint8_t *  Palette,
const uint8_t *  Alpha 
)
protected

converts palette values from YUV to RGB

Definition at line 1981 of file mythdvdbuffer.cpp.

Referenced by DecodeSubtitles(), and DVDButtonUpdate().

◆ IsTransparent()

int MythDVDBuffer::IsTransparent ( const uint8_t *  Buffer,
int  Pitch,
int  Num,
const uint8_t *  Colors 
)
staticprotected

Obtained from ffmpeg dvdsubdec.c Used to find smallest bounded rectangle.

Definition at line 2056 of file mythdvdbuffer.cpp.

Referenced by FindSmallestBoundingRectangle().

◆ FindSmallestBoundingRectangle()

int MythDVDBuffer::FindSmallestBoundingRectangle ( AVSubtitle *  Subtitle)
staticprotected

Obtained from ffmpeg dvdsubdec.c Used to find smallest bounded rect and helps prevent jerky picture during subtitle creation.

Definition at line 2071 of file mythdvdbuffer.cpp.

Referenced by DecodeSubtitles().

Member Data Documentation

◆ m_dvdnav

dvdnav_t* MythDVDBuffer::m_dvdnav { nullptr }
protected

◆ m_dvdBlockWriteBuf

unsigned char MythDVDBuffer::m_dvdBlockWriteBuf[DVD_BLOCK_SIZE] { 0 }
protected

Definition at line 144 of file mythdvdbuffer.h.

Referenced by SafeRead().

◆ m_dvdBlockReadBuf

unsigned char* MythDVDBuffer::m_dvdBlockReadBuf { nullptr }
protected

Definition at line 145 of file mythdvdbuffer.h.

◆ m_dvdBlockRPos

int MythDVDBuffer::m_dvdBlockRPos { 0 }
protected

Definition at line 146 of file mythdvdbuffer.h.

◆ m_dvdBlockWPos

int MythDVDBuffer::m_dvdBlockWPos { 0 }
protected

Definition at line 147 of file mythdvdbuffer.h.

◆ m_pgLength

long long MythDVDBuffer::m_pgLength { 0 }
protected

Definition at line 148 of file mythdvdbuffer.h.

Referenced by GetChapterLength(), and SafeRead().

◆ m_pgcLength

long long MythDVDBuffer::m_pgcLength { 0 }
protected

Definition at line 149 of file mythdvdbuffer.h.

Referenced by GetTotalTimeOfTitle(), and SafeRead().

◆ m_cellStart

long long MythDVDBuffer::m_cellStart { 0 }
protected

Definition at line 150 of file mythdvdbuffer.h.

Referenced by GetCellStart(), and SafeRead().

◆ m_cellChanged

bool MythDVDBuffer::m_cellChanged { false }
protected

Definition at line 151 of file mythdvdbuffer.h.

Referenced by CellChanged(), and SafeRead().

◆ m_pgcLengthChanged

bool MythDVDBuffer::m_pgcLengthChanged { false }
protected

Definition at line 152 of file mythdvdbuffer.h.

Referenced by PGCLengthChanged(), and SafeRead().

◆ m_pgStart

long long MythDVDBuffer::m_pgStart { 0 }
protected

Definition at line 153 of file mythdvdbuffer.h.

Referenced by SafeRead().

◆ m_currentpos

long long MythDVDBuffer::m_currentpos { 0 }
protected

Definition at line 154 of file mythdvdbuffer.h.

Referenced by SafeRead(), and Seek().

◆ m_part

int32_t MythDVDBuffer::m_part { 0 }
protected

◆ m_lastPart

int32_t MythDVDBuffer::m_lastPart { 0 }
protected

Definition at line 156 of file mythdvdbuffer.h.

Referenced by SafeRead().

◆ m_title

int32_t MythDVDBuffer::m_title { 0 }
protected

◆ m_lastTitle

int32_t MythDVDBuffer::m_lastTitle { 0 }
protected

Definition at line 158 of file mythdvdbuffer.h.

Referenced by SafeRead().

◆ m_playerWait

bool MythDVDBuffer::m_playerWait { false }
protected

Definition at line 159 of file mythdvdbuffer.h.

Referenced by DVDWaitingForPlayer(), SkipDVDWaitingForPlayer(), and WaitForPlayer().

◆ m_titleParts

int32_t MythDVDBuffer::m_titleParts { 0 }
protected

Definition at line 160 of file mythdvdbuffer.h.

Referenced by EndOfTitle(), NextTrack(), NumPartsInTitle(), PlayTrack(), and SafeRead().

◆ m_gotStop

bool MythDVDBuffer::m_gotStop { false }
protected

◆ m_currentTitleAngleCount

int MythDVDBuffer::m_currentTitleAngleCount { 0 }
protected

Definition at line 162 of file mythdvdbuffer.h.

Referenced by GetNumAngles(), and SafeRead().

◆ m_endPts

int64_t MythDVDBuffer::m_endPts { 0 }
protected

Definition at line 163 of file mythdvdbuffer.h.

Referenced by SafeRead(), and StartFromBeginning().

◆ m_timeDiff

int64_t MythDVDBuffer::m_timeDiff { 0 }
protected

Definition at line 164 of file mythdvdbuffer.h.

Referenced by AdjustTimestamp(), SafeRead(), and StartFromBeginning().

◆ m_still

int MythDVDBuffer::m_still { 0 }
protected

Definition at line 165 of file mythdvdbuffer.h.

Referenced by IsInStillFrame(), SafeRead(), and SkipStillFrame().

◆ m_lastStill

int MythDVDBuffer::m_lastStill { 0 }
protected

Definition at line 166 of file mythdvdbuffer.h.

Referenced by SafeRead().

◆ m_audioStreamsChanged

bool MythDVDBuffer::m_audioStreamsChanged { false }
protected

Definition at line 167 of file mythdvdbuffer.h.

Referenced by AudioStreamsChanged(), CloseDVD(), SafeRead(), and StartFromBeginning().

◆ m_dvdWaiting

bool MythDVDBuffer::m_dvdWaiting { false }
protected

Definition at line 168 of file mythdvdbuffer.h.

Referenced by IsWaiting(), SafeRead(), and WaitSkip().

◆ m_titleLength

long long MythDVDBuffer::m_titleLength { 0 }
protected

Definition at line 169 of file mythdvdbuffer.h.

Referenced by GetTotalReadPosition(), and SafeRead().

◆ m_skipstillorwait

bool MythDVDBuffer::m_skipstillorwait { true }
protected

Definition at line 170 of file mythdvdbuffer.h.

Referenced by IgnoreWaitStates(), SafeRead(), and WaitForPlayer().

◆ m_cellstartPos

long long MythDVDBuffer::m_cellstartPos { 0 }
protected

Definition at line 171 of file mythdvdbuffer.h.

Referenced by SafeRead().

◆ m_buttonSelected

bool MythDVDBuffer::m_buttonSelected { false }
protected

Definition at line 172 of file mythdvdbuffer.h.

Referenced by GetMenuSPUPkt(), and SafeRead().

◆ m_buttonExists

bool MythDVDBuffer::m_buttonExists { false }
protected

◆ m_buttonSeenInCell

bool MythDVDBuffer::m_buttonSeenInCell { false }
protected

Definition at line 174 of file mythdvdbuffer.h.

Referenced by SafeRead().

◆ m_lastButtonSeenInCell

bool MythDVDBuffer::m_lastButtonSeenInCell { false }
protected

Definition at line 175 of file mythdvdbuffer.h.

Referenced by SafeRead().

◆ m_cellid

int MythDVDBuffer::m_cellid { 0 }
protected

Definition at line 176 of file mythdvdbuffer.h.

Referenced by SafeRead().

◆ m_lastcellid

int MythDVDBuffer::m_lastcellid { 0 }
protected

Definition at line 177 of file mythdvdbuffer.h.

Referenced by SafeRead().

◆ m_vobid

int MythDVDBuffer::m_vobid { 0 }
protected

Definition at line 178 of file mythdvdbuffer.h.

Referenced by SafeRead().

◆ m_lastvobid

int MythDVDBuffer::m_lastvobid { 0 }
protected

Definition at line 179 of file mythdvdbuffer.h.

Referenced by SafeRead().

◆ m_cellRepeated

bool MythDVDBuffer::m_cellRepeated { false }
protected

Definition at line 180 of file mythdvdbuffer.h.

Referenced by SafeRead(), and SelectDefaultButton().

◆ m_curAudioTrack

int MythDVDBuffer::m_curAudioTrack { 0 }
protected

Definition at line 181 of file mythdvdbuffer.h.

Referenced by GetTrack(), SafeRead(), and SetTrack().

◆ m_curSubtitleTrack

int8_t MythDVDBuffer::m_curSubtitleTrack { 0 }
protected

Definition at line 182 of file mythdvdbuffer.h.

Referenced by GetTrack(), SafeRead(), and SetTrack().

◆ m_autoselectsubtitle

bool MythDVDBuffer::m_autoselectsubtitle { true }
protected

Definition at line 183 of file mythdvdbuffer.h.

Referenced by SafeRead(), and SetTrack().

◆ m_seeking

bool MythDVDBuffer::m_seeking { false }
protected

Definition at line 184 of file mythdvdbuffer.h.

Referenced by SafeRead(), and Seek().

◆ m_seektime

int64_t MythDVDBuffer::m_seektime { 0 }
protected

Definition at line 185 of file mythdvdbuffer.h.

Referenced by SafeRead(), and Seek().

◆ m_currentTime

int64_t MythDVDBuffer::m_currentTime { 0 }
protected

Definition at line 186 of file mythdvdbuffer.h.

Referenced by GetCurrentTime(), and SafeRead().

◆ m_seekSpeedMap

QMap<int, int> MythDVDBuffer::m_seekSpeedMap
protected

Definition at line 187 of file mythdvdbuffer.h.

Referenced by MythDVDBuffer(), and Seek().

◆ m_chapterMap

QMap<int, QList<uint64_t> > MythDVDBuffer::m_chapterMap
protected

Definition at line 188 of file mythdvdbuffer.h.

Referenced by ClearChapterCache(), and GetChapterTimes().

◆ m_parent

MythDVDPlayer* MythDVDBuffer::m_parent { nullptr }
protected

Definition at line 189 of file mythdvdbuffer.h.

Referenced by DVDButtonUpdate(), SafeRead(), Seek(), SetParent(), and SkipStillFrame().

◆ m_forcedAspect

float MythDVDBuffer::m_forcedAspect { -1.0F }
protected

Definition at line 190 of file mythdvdbuffer.h.

Referenced by GetAspectOverride(), and SafeRead().

◆ m_contextLock

QMutex MythDVDBuffer::m_contextLock { QMutex::Recursive }
protected

Definition at line 191 of file mythdvdbuffer.h.

Referenced by CloseDVD(), GetDVDContext(), OpenFile(), SafeRead(), and StartFromBeginning().

◆ m_context

MythDVDContext* MythDVDBuffer::m_context { nullptr }
protected

Definition at line 192 of file mythdvdbuffer.h.

Referenced by CloseDVD(), GetDVDContext(), OpenFile(), SafeRead(), and StartFromBeginning().

◆ m_dvdStat

dvdnav_status_t MythDVDBuffer::m_dvdStat { DVDNAV_STATUS_OK }
protected

Definition at line 193 of file mythdvdbuffer.h.

Referenced by SafeRead().

◆ m_dvdEvent

int32_t MythDVDBuffer::m_dvdEvent { 0 }
protected

Definition at line 194 of file mythdvdbuffer.h.

Referenced by GetLastEvent(), IsSeekingAllowed(), and SafeRead().

◆ m_dvdEventSize

int32_t MythDVDBuffer::m_dvdEventSize { 0 }
protected

Definition at line 195 of file mythdvdbuffer.h.

Referenced by SafeRead().

◆ m_buttonVersion

uint MythDVDBuffer::m_buttonVersion { 1 }
protected

Definition at line 196 of file mythdvdbuffer.h.

Referenced by GetMenuSubtitle().

◆ m_buttonStreamID

int MythDVDBuffer::m_buttonStreamID { 0 }
protected

Definition at line 197 of file mythdvdbuffer.h.

Referenced by GetMenuSPUPkt(), and SafeRead().

◆ m_clut

uint32_t MythDVDBuffer::m_clut[16] { 0 }
protected

Definition at line 198 of file mythdvdbuffer.h.

Referenced by GuessPalette(), and SafeRead().

◆ m_buttonColor

uint8_t MythDVDBuffer::m_buttonColor[4] { 0 }
protected

Definition at line 199 of file mythdvdbuffer.h.

Referenced by DecodeSubtitles(), and DVDButtonUpdate().

◆ m_buttonAlpha

uint8_t MythDVDBuffer::m_buttonAlpha[4] { 0 }
protected

Definition at line 200 of file mythdvdbuffer.h.

Referenced by DecodeSubtitles(), and DVDButtonUpdate().

◆ m_hlButton

QRect MythDVDBuffer::m_hlButton { 0, 0, 0, 0 }
protected

Definition at line 201 of file mythdvdbuffer.h.

Referenced by ClearMenuSPUParameters(), DVDButtonUpdate(), and GetButtonCoords().

◆ m_menuSpuPkt

uint8_t* MythDVDBuffer::m_menuSpuPkt { nullptr }
protected

Definition at line 202 of file mythdvdbuffer.h.

Referenced by ClearMenuSPUParameters(), and GetMenuSPUPkt().

◆ m_menuBuflength

int MythDVDBuffer::m_menuBuflength { 0 }
protected

Definition at line 203 of file mythdvdbuffer.h.

Referenced by ClearMenuSPUParameters(), GetMenuSPUPkt(), and GetMenuSubtitle().

◆ m_dvdMenuButton

AVSubtitle MythDVDBuffer::m_dvdMenuButton { }
protected

Definition at line 204 of file mythdvdbuffer.h.

Referenced by ClearMenuButton(), DVDButtonUpdate(), GetMenuSPUPkt(), and GetMenuSubtitle().

◆ m_menuBtnLock

QMutex MythDVDBuffer::m_menuBtnLock
protected

◆ m_seekLock

QMutex MythDVDBuffer::m_seekLock
protected

The documentation for this class was generated from the following files: