DVDRingBuffer Class Reference

#include <dvdringbuffer.h>

Inheritance diagram for DVDRingBuffer:
RingBuffer MThread

List of all members.

Public Member Functions

 DVDRingBuffer (const QString &lfilename)
virtual ~DVDRingBuffer ()
int GetTitle (void) const
bool DVDWaitingForPlayer (void)
int GetPart (void) const
int GetCurrentAngle (void) const
int GetNumAngles (void)
bool IsOpen (void) const
 Returns true if open for either reading or writing.
long long GetTotalReadPosition (void)
uint GetChapterLength (void) const
void GetChapterTimes (QList< long long > &times)
uint64_t GetChapterTimes (uint title)
virtual long long GetReadPosition (void) const
 returns current position in the PGC.
void GetDescForPos (QString &desc)
void GetPartAndTitle (int &_part, int &_title) const
uint GetTotalTimeOfTitle (void)
 get the total time of the title in seconds 90000 ticks = 1 sec
float GetAspectOverride (void)
virtual bool IsBookmarkAllowed (void)
virtual bool IsStreamed (void)
virtual int BestBufferSize (void)
uint GetCellStart (void)
 get the start of the cell in seconds
bool PGCLengthChanged (void)
 check if pgc length has changed
bool CellChanged (void)
 check if dvd cell has changed
bool IsInStillFrame (void) const
bool NeedsStillFrame (void)
bool NewSequence (bool new_sequence=false)
bool AudioStreamsChanged (void) const
bool IsWaiting (void) const
int NumPartsInTitle (void) const
void GetMenuSPUPkt (uint8_t *buf, int len, int stream_id)
 get SPU pkt from dvd menu subtitle stream
virtual bool IsInDiscMenuOrStillFrame (void) const
AVSubtitle * GetMenuSubtitle (uint &version)
 returns dvd menu button information if available.
int NumMenuButtons (void) const
QRect GetButtonCoords (void)
 get coordinates of highlighted button
void ReleaseMenuButton (void)
bool IsInMenu (void) const
virtual bool HandleAction (const QStringList &actions, int64_t pts)
uint GetSubtitleLanguage (int key)
 get the subtitle language from the dvd
bool DecodeSubtitles (AVSubtitle *sub, int *gotSubtitles, const uint8_t *buf, int buf_size)
 generate dvd subtitle bitmap or dvd menu bitmap.
uint GetAudioLanguage (int id)
 get the audio language from the dvd
int GetAudioTrackNum (uint key)
 get real dvd track audio number
int GetAudioTrackType (uint stream_id)
bool GetNameAndSerialNum (QString &_name, QString &_serialnum)
 Get the dvd title and serial num.
double GetFrameRate (void)
 used by DecoderBase for the total frame number calculation for position map support and ffw/rew.
bool StartOfTitle (void)
bool EndOfTitle (void)
virtual bool OpenFile (const QString &lfilename, uint retry_ms=kDefaultOpenTimeout)
 Opens a file for reading.
void PlayTitleAndPart (int _title, int _part)
virtual bool StartFromBeginning (void)
void CloseDVD (void)
bool playTrack (int track)
bool nextTrack (void)
void prevTrack (void)
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.
long long NormalSeek (long long time)
void SkipStillFrame (void)
void WaitSkip (void)
void SkipDVDWaitingForPlayer (void)
bool GoToMenu (const QString str)
 jump to a dvd root or chapter menu
void GoToNextProgram (void)
void GoToPreviousProgram (void)
virtual void IgnoreWaitStates (bool ignore)
void AudioStreamsChanged (bool change)
uint GetCurrentTime (void)
uint TitleTimeLeft (void)
 returns seconds left in the title
void SetTrack (uint type, int trackNo)
 set the dvd subtitle/audio track used
int GetTrack (uint type)
 get the track the dvd should be playing.
uint8_t GetNumAudioChannels (int id)
void SetDVDSpeed (void)
 set dvd speed.
void SetDVDSpeed (int speed)
 set dvd speed.
bool SwitchAngle (uint angle)
void SetParent (MythDVDPlayer *p)

Protected Member Functions

void ActivateButton (void)
 action taken when a dvd menu button is selected
void MoveButtonLeft (void)
void MoveButtonRight (void)
void MoveButtonUp (void)
void MoveButtonDown (void)
bool DVDButtonUpdate (bool b_mode)
 update the dvd menu button parameters when a user changes the dvd menu button position
void ClearMenuSPUParameters (void)
 clears the menu SPU pkt and parameters.
void ClearMenuButton (void)
 clears the dvd menu button structures
long long Seek (long long time)
void ClearChapterCache (void)
uint ConvertLangCode (uint16_t code)
 converts the subtitle/audio lang code to iso639.
void SelectDefaultButton (void)
 determines the default dvd menu button to show when you initially access the dvd menu.
void WaitForPlayer (void)
int get_nibble (const uint8_t *buf, int nibble_offset)
 copied from ffmpeg's dvdsubdec.c
int decode_rle (uint8_t *bitmap, int linesize, int w, int h, const uint8_t *buf, int nibble_offset, int buf_size)
 decodes the bitmap from the subtitle packet.
void guess_palette (uint32_t *rgba_palette, uint8_t *palette, uint8_t *alpha)
 converts palette values from YUV to RGB
int is_transp (const uint8_t *buf, int pitch, int n, const uint8_t *transp_color)
 obtained from ffmpeg dvdsubdec.c used to find smallest bounded rectangle
int find_smallest_bounding_rectangle (AVSubtitle *s)
 obtained from ffmpeg dvdsubdec.c used to find smallest bounded rect.

Protected Attributes

dvdnav_tm_dvdnav
unsigned char m_dvdBlockWriteBuf [DVD_BLOCK_SIZE]
unsigned char * m_dvdBlockReadBuf
int m_dvdBlockRPos
int m_dvdBlockWPos
long long m_pgLength
long long m_pgcLength
long long m_cellStart
bool m_cellChanged
bool m_pgcLengthChanged
long long m_pgStart
long long m_currentpos
dvdnav_tm_lastNav
int32_t m_part
int32_t m_lastPart
int32_t m_title
int32_t m_lastTitle
bool m_playerWait
int32_t m_titleParts
bool m_gotStop
int m_currentAngle
int m_currentTitleAngleCount
bool m_newSequence
int m_still
int m_lastStill
bool m_audioStreamsChanged
bool m_dvdWaiting
long long m_titleLength
bool m_skipstillorwait
long long m_cellstartPos
bool m_buttonSelected
bool m_buttonExists
int m_cellid
int m_lastcellid
int m_vobid
int m_lastvobid
bool m_cellRepeated
int m_curAudioTrack
int8_t m_curSubtitleTrack
bool m_autoselectsubtitle
long long m_seekpos
const char * m_dvdname
const char * m_serialnumber
bool m_seeking
uint64_t m_seektime
uint m_currentTime
QMap< uint, uintm_seekSpeedMap
QMap< uint, QList< uint64_t > > m_chapterMap
MythDVDPlayerm_parent
float m_forcedAspect
bool m_inMenu
uint m_buttonVersion
int m_buttonStreamID
uint32_t m_clut [16]
uint8_t m_button_color [4]
uint8_t m_button_alpha [4]
QRect m_hl_button
uint8_tm_menuSpuPkt
int m_menuBuflength
AVSubtitle m_dvdMenuButton
QMutex m_menuBtnLock
QMutex m_seekLock

Detailed Description

Definition at line 44 of file dvdringbuffer.h.


Constructor & Destructor Documentation

DVDRingBuffer::DVDRingBuffer ( const QString &  lfilename  ) 

Definition at line 81 of file dvdringbuffer.cpp.

DVDRingBuffer::~DVDRingBuffer (  )  [virtual]

Definition at line 131 of file dvdringbuffer.cpp.


Member Function Documentation

int DVDRingBuffer::GetTitle ( void   )  const [inline]

Definition at line 51 of file dvdringbuffer.h.

bool DVDRingBuffer::DVDWaitingForPlayer ( void   )  [inline]

Definition at line 52 of file dvdringbuffer.h.

Referenced by MythDVDPlayer::VideoLoop().

int DVDRingBuffer::GetPart ( void   )  const [inline]

Definition at line 53 of file dvdringbuffer.h.

Referenced by MythDVDPlayer::GetCurrentChapter().

int DVDRingBuffer::GetCurrentAngle ( void   )  const [inline]

Definition at line 54 of file dvdringbuffer.h.

Referenced by MythDVDPlayer::GetCurrentAngle().

int DVDRingBuffer::GetNumAngles ( void   )  [inline]

Definition at line 55 of file dvdringbuffer.h.

Referenced by MythDVDPlayer::GetNumAngles().

bool DVDRingBuffer::IsOpen ( void   )  const [inline, virtual]

Returns true if open for either reading or writing.

Implements RingBuffer.

Definition at line 56 of file dvdringbuffer.h.

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

long long DVDRingBuffer::GetTotalReadPosition ( void   )  [inline]

Definition at line 57 of file dvdringbuffer.h.

Referenced by DecoderBase::PosMapFromDb().

uint DVDRingBuffer::GetChapterLength ( void   )  const [inline]

Definition at line 58 of file dvdringbuffer.h.

Referenced by TV::DVDJumpBack(), and TV::DVDJumpForward().

void DVDRingBuffer::GetChapterTimes ( QList< long long > &  times  ) 

Definition at line 431 of file dvdringbuffer.cpp.

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

uint64_t DVDRingBuffer::GetChapterTimes ( uint  title  ) 

Definition at line 443 of file dvdringbuffer.cpp.

long long DVDRingBuffer::GetReadPosition ( void   )  const [virtual]

returns current position in the PGC.

Implements RingBuffer.

Definition at line 477 of file dvdringbuffer.cpp.

Referenced by safe_read().

void DVDRingBuffer::GetDescForPos ( QString &  desc  ) 

Definition at line 297 of file dvdringbuffer.cpp.

void DVDRingBuffer::GetPartAndTitle ( int &  _part,
int &  _title 
) const [inline]

Definition at line 63 of file dvdringbuffer.h.

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

uint DVDRingBuffer::GetTotalTimeOfTitle ( void   ) 
float DVDRingBuffer::GetAspectOverride ( void   )  [inline]

Definition at line 66 of file dvdringbuffer.h.

Referenced by AvFormatDecoder::MpegPreProcessPkt().

bool DVDRingBuffer::IsBookmarkAllowed ( void   )  [virtual]

Reimplemented from RingBuffer.

Definition at line 292 of file dvdringbuffer.cpp.

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

Reimplemented from RingBuffer.

Definition at line 68 of file dvdringbuffer.h.

virtual int DVDRingBuffer::BestBufferSize ( void   )  [inline, virtual]

Reimplemented from RingBuffer.

Definition at line 69 of file dvdringbuffer.h.

uint DVDRingBuffer::GetCellStart ( void   ) 

get the start of the cell in seconds

Definition at line 1021 of file dvdringbuffer.cpp.

Referenced by MythDVDPlayer::DoJumpChapter().

bool DVDRingBuffer::PGCLengthChanged ( void   ) 

check if pgc length has changed

Definition at line 1037 of file dvdringbuffer.cpp.

Referenced by AvFormatDecoderDVD::StreamChangeCheck().

bool DVDRingBuffer::CellChanged ( void   ) 

check if dvd cell has changed

Definition at line 1028 of file dvdringbuffer.cpp.

bool DVDRingBuffer::IsInStillFrame ( void   )  const [inline]
bool DVDRingBuffer::NeedsStillFrame ( void   )  [inline]

Definition at line 75 of file dvdringbuffer.h.

Referenced by AvFormatDecoder::ProcessVideoPacket().

bool DVDRingBuffer::NewSequence ( bool  new_sequence = false  ) 

Definition at line 1912 of file dvdringbuffer.cpp.

Referenced by AvFormatDecoder::MpegPreProcessPkt().

bool DVDRingBuffer::AudioStreamsChanged ( void   )  const [inline]
bool DVDRingBuffer::IsWaiting ( void   )  const [inline]

Definition at line 78 of file dvdringbuffer.h.

Referenced by MythDVDPlayer::VideoLoop().

int DVDRingBuffer::NumPartsInTitle ( void   )  const [inline]

Definition at line 79 of file dvdringbuffer.h.

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

void DVDRingBuffer::GetMenuSPUPkt ( uint8_t buf,
int  len,
int  stream_id 
)

get SPU pkt from dvd menu subtitle stream

Definition at line 1194 of file dvdringbuffer.cpp.

Referenced by AvFormatDecoder::ProcessSubtitlePacket().

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

Reimplemented from RingBuffer.

Definition at line 81 of file dvdringbuffer.h.

AVSubtitle * DVDRingBuffer::GetMenuSubtitle ( uint version  ) 

returns dvd menu button information if available.

used by NVP::DisplayDVDButton

Definition at line 1227 of file dvdringbuffer.cpp.

Referenced by MythDVDPlayer::DisplayDVDButton().

int DVDRingBuffer::NumMenuButtons ( void   )  const
QRect DVDRingBuffer::GetButtonCoords ( void   ) 

get coordinates of highlighted button

Definition at line 1249 of file dvdringbuffer.cpp.

Referenced by MythDVDPlayer::DisplayDVDButton().

void DVDRingBuffer::ReleaseMenuButton ( void   ) 

Definition at line 1242 of file dvdringbuffer.cpp.

Referenced by MythDVDPlayer::DisplayDVDButton().

bool DVDRingBuffer::IsInMenu ( void   )  const [inline]
bool DVDRingBuffer::HandleAction ( const QStringList &  actions,
int64_t  pts 
) [virtual]

Reimplemented from RingBuffer.

Definition at line 1106 of file dvdringbuffer.cpp.

uint DVDRingBuffer::GetSubtitleLanguage ( int  key  ) 

get the subtitle language from the dvd

Definition at line 1569 of file dvdringbuffer.cpp.

Referenced by AvFormatDecoder::GetTrackDesc().

bool DVDRingBuffer::DecodeSubtitles ( AVSubtitle *  sub,
int *  gotSubtitles,
const uint8_t spu_pkt,
int  buf_size 
)

generate dvd subtitle bitmap or dvd menu bitmap.

code obtained from ffmpeg project

Definition at line 1264 of file dvdringbuffer.cpp.

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

uint DVDRingBuffer::GetAudioLanguage ( int  id  ) 

get the audio language from the dvd

Definition at line 1521 of file dvdringbuffer.cpp.

Referenced by AvFormatDecoderDVD::GetAudioLanguage(), and AvFormatDecoder::GetTrackDesc().

int DVDRingBuffer::GetAudioTrackNum ( uint  stream_id  ) 

get real dvd track audio number

Parameters:
key stream_id

Definition at line 1532 of file dvdringbuffer.cpp.

Referenced by AvFormatDecoderDVD::GetAudioLanguage(), and AvFormatDecoder::ScanStreams().

int DVDRingBuffer::GetAudioTrackType ( uint  stream_id  ) 

Definition at line 1537 of file dvdringbuffer.cpp.

Referenced by AvFormatDecoder::ScanStreams().

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

Get the dvd title and serial num.

Definition at line 1662 of file dvdringbuffer.cpp.

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

double DVDRingBuffer::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 1676 of file dvdringbuffer.cpp.

Referenced by DecoderBase::PosMapFromDb().

bool DVDRingBuffer::StartOfTitle ( void   )  [inline]

Definition at line 103 of file dvdringbuffer.h.

Referenced by TV::DVDJumpBack().

bool DVDRingBuffer::EndOfTitle ( void   )  [inline]

Definition at line 104 of file dvdringbuffer.h.

Referenced by TV::DVDJumpForward().

bool DVDRingBuffer::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 312 of file dvdringbuffer.cpp.

Referenced by DVDRingBuffer(), and StartFromBeginning().

void DVDRingBuffer::PlayTitleAndPart ( int  _title,
int  _part 
) [inline]

Definition at line 111 of file dvdringbuffer.h.

Referenced by MythDVDPlayer::InitialSeek().

bool DVDRingBuffer::StartFromBeginning ( void   )  [virtual]

Reimplemented from RingBuffer.

Definition at line 405 of file dvdringbuffer.cpp.

void DVDRingBuffer::CloseDVD ( void   ) 

Definition at line 140 of file dvdringbuffer.cpp.

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

bool DVDRingBuffer::playTrack ( int  track  ) 

Definition at line 972 of file dvdringbuffer.cpp.

Referenced by MythDVDPlayer::DoJumpChapter().

bool DVDRingBuffer::nextTrack ( void   ) 

Definition at line 985 of file dvdringbuffer.cpp.

void DVDRingBuffer::prevTrack ( void   ) 

Definition at line 999 of file dvdringbuffer.cpp.

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

Implements RingBuffer.

Definition at line 515 of file dvdringbuffer.cpp.

Referenced by OpenFile().

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

Seeks to a particular position in the file.

Implements RingBuffer.

Definition at line 163 of file dvdringbuffer.cpp.

Referenced by NormalSeek(), playTrack(), and prevTrack().

long long DVDRingBuffer::NormalSeek ( long long  time  ) 

Definition at line 240 of file dvdringbuffer.cpp.

Referenced by Seek().

void DVDRingBuffer::SkipStillFrame ( void   ) 
void DVDRingBuffer::WaitSkip ( void   ) 

Definition at line 1051 of file dvdringbuffer.cpp.

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

void DVDRingBuffer::SkipDVDWaitingForPlayer ( void   )  [inline]

Definition at line 123 of file dvdringbuffer.h.

Referenced by MythDVDPlayer::VideoLoop().

bool DVDRingBuffer::GoToMenu ( const QString  str  ) 

jump to a dvd root or chapter menu

Definition at line 1061 of file dvdringbuffer.cpp.

Referenced by MythDVDPlayer::GoToMenu().

void DVDRingBuffer::GoToNextProgram ( void   ) 

Definition at line 1088 of file dvdringbuffer.cpp.

Referenced by MythDVDPlayer::GoToDVDProgram().

void DVDRingBuffer::GoToPreviousProgram ( void   ) 

Definition at line 1097 of file dvdringbuffer.cpp.

Referenced by MythDVDPlayer::GoToDVDProgram().

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

Reimplemented from RingBuffer.

Definition at line 128 of file dvdringbuffer.h.

void DVDRingBuffer::AudioStreamsChanged ( bool  change  )  [inline]

Definition at line 129 of file dvdringbuffer.h.

uint DVDRingBuffer::GetCurrentTime ( void   )  [inline]
uint DVDRingBuffer::TitleTimeLeft ( void   ) 

returns seconds left in the title

Definition at line 1705 of file dvdringbuffer.cpp.

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

void DVDRingBuffer::SetTrack ( uint  type,
int  trackNo 
)

set the dvd subtitle/audio track used

Parameters:
type currently kTrackTypeSubtitle or kTrackTypeAudio
trackNo if -1 then autoselect the track num from the dvd IFO

Definition at line 1620 of file dvdringbuffer.cpp.

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

int DVDRingBuffer::GetTrack ( uint  type  ) 

get the track the dvd should be playing.

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

Parameters:
type,: use either kTrackTypeSubtitle or kTrackTypeAudio

Definition at line 1642 of file dvdringbuffer.cpp.

Referenced by AvFormatDecoderDVD::PostProcessTracks(), and MythDVDPlayer::SetDVDBookmark().

uint8_t DVDRingBuffer::GetNumAudioChannels ( int  id  ) 

Definition at line 1652 of file dvdringbuffer.cpp.

Referenced by AvFormatDecoder::GetTrackDesc().

void DVDRingBuffer::SetDVDSpeed ( void   ) 

set dvd speed.

uses the constant DVD_DRIVE_SPEED table

Definition at line 1689 of file dvdringbuffer.cpp.

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

void DVDRingBuffer::SetDVDSpeed ( int  speed  ) 

set dvd speed.

Definition at line 1697 of file dvdringbuffer.cpp.

bool DVDRingBuffer::SwitchAngle ( uint  angle  ) 

Definition at line 1896 of file dvdringbuffer.cpp.

Referenced by MythDVDPlayer::SwitchAngle().

void DVDRingBuffer::SetParent ( MythDVDPlayer p  )  [inline]

Definition at line 139 of file dvdringbuffer.h.

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

void DVDRingBuffer::ActivateButton ( void   )  [protected]

action taken when a dvd menu button is selected

Definition at line 1182 of file dvdringbuffer.cpp.

Referenced by HandleAction().

void DVDRingBuffer::MoveButtonLeft ( void   )  [protected]

Definition at line 1144 of file dvdringbuffer.cpp.

Referenced by HandleAction().

void DVDRingBuffer::MoveButtonRight ( void   )  [protected]

Definition at line 1153 of file dvdringbuffer.cpp.

Referenced by HandleAction().

void DVDRingBuffer::MoveButtonUp ( void   )  [protected]

Definition at line 1162 of file dvdringbuffer.cpp.

Referenced by HandleAction().

void DVDRingBuffer::MoveButtonDown ( void   )  [protected]

Definition at line 1171 of file dvdringbuffer.cpp.

Referenced by HandleAction().

bool DVDRingBuffer::DVDButtonUpdate ( bool  b_mode  )  [protected]

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

Definition at line 1437 of file dvdringbuffer.cpp.

Referenced by GetMenuSPUPkt(), and safe_read().

void DVDRingBuffer::ClearMenuSPUParameters ( void   )  [protected]

clears the menu SPU pkt and parameters.

necessary action during dvd menu changes

Definition at line 1495 of file dvdringbuffer.cpp.

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

void DVDRingBuffer::ClearMenuButton ( void   )  [protected]

clears the dvd menu button structures

Definition at line 1474 of file dvdringbuffer.cpp.

Referenced by ClearMenuSPUParameters().

long long DVDRingBuffer::Seek ( long long  time  )  [protected]

Definition at line 246 of file dvdringbuffer.cpp.

void DVDRingBuffer::ClearChapterCache ( void   )  [protected]

Definition at line 154 of file dvdringbuffer.cpp.

Referenced by ~DVDRingBuffer().

uint DVDRingBuffer::ConvertLangCode ( uint16_t  code  )  [protected]

converts the subtitle/audio lang code to iso639.

Definition at line 1579 of file dvdringbuffer.cpp.

Referenced by GetAudioLanguage(), and GetSubtitleLanguage().

void DVDRingBuffer::SelectDefaultButton ( void   )  [protected]

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

Definition at line 1600 of file dvdringbuffer.cpp.

Referenced by GetMenuSPUPkt().

void DVDRingBuffer::WaitForPlayer ( void   )  [protected]

Definition at line 492 of file dvdringbuffer.cpp.

Referenced by safe_read().

int DVDRingBuffer::get_nibble ( const uint8_t buf,
int  nibble_offset 
) [protected]

copied from ffmpeg's dvdsubdec.c

Definition at line 1789 of file dvdringbuffer.cpp.

Referenced by decode_rle().

int DVDRingBuffer::decode_rle ( uint8_t bitmap,
int  linesize,
int  w,
int  h,
const uint8_t buf,
int  nibble_offset,
int  buf_size 
) [protected]

decodes the bitmap from the subtitle packet.

copied from ffmpeg's dvdsubdec.c.

Definition at line 1742 of file dvdringbuffer.cpp.

Referenced by DecodeSubtitles().

void DVDRingBuffer::guess_palette ( uint32_t rgba_palette,
uint8_t palette,
uint8_t alpha 
) [protected]

converts palette values from YUV to RGB

Definition at line 1712 of file dvdringbuffer.cpp.

Referenced by DecodeSubtitles().

int DVDRingBuffer::is_transp ( const uint8_t buf,
int  pitch,
int  n,
const uint8_t transp_color 
) [protected]

obtained from ffmpeg dvdsubdec.c used to find smallest bounded rectangle

Definition at line 1798 of file dvdringbuffer.cpp.

Referenced by find_smallest_bounding_rectangle().

int DVDRingBuffer::find_smallest_bounding_rectangle ( AVSubtitle *  s  )  [protected]

obtained from ffmpeg dvdsubdec.c used to find smallest bounded rect.

helps prevent jerky picture during subtitle creation

Definition at line 1816 of file dvdringbuffer.cpp.

Referenced by DecodeSubtitles().


Member Data Documentation

unsigned char DVDRingBuffer::m_dvdBlockWriteBuf[DVD_BLOCK_SIZE] [protected]

Definition at line 143 of file dvdringbuffer.h.

Referenced by DVDRingBuffer(), and safe_read().

unsigned char* DVDRingBuffer::m_dvdBlockReadBuf [protected]

Definition at line 144 of file dvdringbuffer.h.

Definition at line 145 of file dvdringbuffer.h.

Definition at line 146 of file dvdringbuffer.h.

long long DVDRingBuffer::m_pgLength [protected]

Definition at line 147 of file dvdringbuffer.h.

Referenced by safe_read().

long long DVDRingBuffer::m_pgcLength [protected]

Definition at line 148 of file dvdringbuffer.h.

Referenced by GetTotalTimeOfTitle(), and safe_read().

long long DVDRingBuffer::m_cellStart [protected]

Definition at line 149 of file dvdringbuffer.h.

Referenced by GetCellStart(), and safe_read().

Definition at line 150 of file dvdringbuffer.h.

Referenced by CellChanged(), and safe_read().

Definition at line 151 of file dvdringbuffer.h.

Referenced by PGCLengthChanged(), and safe_read().

long long DVDRingBuffer::m_pgStart [protected]

Definition at line 152 of file dvdringbuffer.h.

Referenced by safe_read().

long long DVDRingBuffer::m_currentpos [protected]

Definition at line 153 of file dvdringbuffer.h.

Referenced by safe_read(), and Seek().

Definition at line 154 of file dvdringbuffer.h.

Referenced by safe_read().

Definition at line 155 of file dvdringbuffer.h.

Referenced by GetDescForPos(), nextTrack(), OpenFile(), prevTrack(), and safe_read().

Definition at line 156 of file dvdringbuffer.h.

Referenced by safe_read().

Definition at line 158 of file dvdringbuffer.h.

Referenced by safe_read().

Definition at line 159 of file dvdringbuffer.h.

Referenced by WaitForPlayer().

Definition at line 160 of file dvdringbuffer.h.

Referenced by nextTrack(), playTrack(), and safe_read().

Definition at line 162 of file dvdringbuffer.h.

Referenced by OpenFile(), and SwitchAngle().

Definition at line 163 of file dvdringbuffer.h.

Referenced by OpenFile().

Definition at line 165 of file dvdringbuffer.h.

Referenced by NewSequence().

int DVDRingBuffer::m_still [protected]

Definition at line 166 of file dvdringbuffer.h.

Referenced by safe_read().

int DVDRingBuffer::m_lastStill [protected]

Definition at line 167 of file dvdringbuffer.h.

Referenced by safe_read().

Definition at line 168 of file dvdringbuffer.h.

Referenced by CloseDVD(), safe_read(), and StartFromBeginning().

Definition at line 169 of file dvdringbuffer.h.

Referenced by safe_read(), and WaitSkip().

long long DVDRingBuffer::m_titleLength [protected]

Definition at line 170 of file dvdringbuffer.h.

Referenced by safe_read().

Definition at line 171 of file dvdringbuffer.h.

Referenced by safe_read(), and WaitForPlayer().

long long DVDRingBuffer::m_cellstartPos [protected]

Definition at line 172 of file dvdringbuffer.h.

Referenced by safe_read().

Definition at line 173 of file dvdringbuffer.h.

Referenced by GetMenuSPUPkt(), and safe_read().

Definition at line 174 of file dvdringbuffer.h.

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

int DVDRingBuffer::m_cellid [protected]

Definition at line 175 of file dvdringbuffer.h.

Referenced by safe_read().

int DVDRingBuffer::m_lastcellid [protected]

Definition at line 176 of file dvdringbuffer.h.

Referenced by safe_read().

int DVDRingBuffer::m_vobid [protected]

Definition at line 177 of file dvdringbuffer.h.

Referenced by safe_read().

int DVDRingBuffer::m_lastvobid [protected]

Definition at line 178 of file dvdringbuffer.h.

Referenced by safe_read().

Definition at line 179 of file dvdringbuffer.h.

Referenced by safe_read(), and SelectDefaultButton().

Definition at line 181 of file dvdringbuffer.h.

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

Definition at line 182 of file dvdringbuffer.h.

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

Definition at line 183 of file dvdringbuffer.h.

Referenced by safe_read(), and SetTrack().

long long DVDRingBuffer::m_seekpos [protected]

Definition at line 184 of file dvdringbuffer.h.

const char* DVDRingBuffer::m_dvdname [protected]

Definition at line 185 of file dvdringbuffer.h.

Referenced by GetNameAndSerialNum(), and OpenFile().

const char* DVDRingBuffer::m_serialnumber [protected]

Definition at line 186 of file dvdringbuffer.h.

Referenced by GetNameAndSerialNum(), and OpenFile().

Definition at line 187 of file dvdringbuffer.h.

Referenced by safe_read(), and Seek().

Definition at line 188 of file dvdringbuffer.h.

Referenced by safe_read(), and Seek().

Definition at line 189 of file dvdringbuffer.h.

Referenced by safe_read().

Definition at line 190 of file dvdringbuffer.h.

Referenced by DVDRingBuffer(), and Seek().

QMap<uint, QList<uint64_t> > DVDRingBuffer::m_chapterMap [protected]

Definition at line 191 of file dvdringbuffer.h.

Referenced by ClearChapterCache(), and GetChapterTimes().

Definition at line 193 of file dvdringbuffer.h.

Referenced by DVDButtonUpdate(), safe_read(), and Seek().

float DVDRingBuffer::m_forcedAspect [protected]

Definition at line 194 of file dvdringbuffer.h.

Referenced by safe_read().

Definition at line 206 of file dvdringbuffer.h.

Referenced by GetDescForPos(), NewSequence(), safe_read(), and Seek().

Definition at line 207 of file dvdringbuffer.h.

Referenced by GetMenuSubtitle().

Definition at line 208 of file dvdringbuffer.h.

Referenced by GetMenuSPUPkt(), and safe_read().

Definition at line 209 of file dvdringbuffer.h.

Referenced by DVDRingBuffer(), guess_palette(), and safe_read().

Definition at line 210 of file dvdringbuffer.h.

Referenced by DecodeSubtitles(), DVDButtonUpdate(), and DVDRingBuffer().

Definition at line 211 of file dvdringbuffer.h.

Referenced by DecodeSubtitles(), DVDButtonUpdate(), and DVDRingBuffer().

QRect DVDRingBuffer::m_hl_button [protected]

Definition at line 212 of file dvdringbuffer.h.

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

Definition at line 213 of file dvdringbuffer.h.

Referenced by ClearMenuSPUParameters(), and GetMenuSPUPkt().

Definition at line 214 of file dvdringbuffer.h.

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

AVSubtitle DVDRingBuffer::m_dvdMenuButton [protected]

Definition at line 215 of file dvdringbuffer.h.

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

QMutex DVDRingBuffer::m_menuBtnLock [protected]
QMutex DVDRingBuffer::m_seekLock [protected]

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:42:02 2012 for MythTV by  doxygen 1.6.3