Implements a file/stream reader/writer. More...
#include <ringbuffer.h>
Public Member Functions | |
| virtual | ~RingBuffer () |
| Shuts down any threads and closes any files. | |
| void | SetWriteBufferSize (int newSize) |
| void | SetWriteBufferMinWriteSize (int newMinSize) |
| Calls ThreadedFileWriter::SetWriteBufferMinWriteSize(int). | |
| void | SetOldFile (bool is_old) |
| Tell RingBuffer if this is an old file or not. | |
| void | UpdateRawBitrate (uint rawbitrate) |
| Set the raw bit rate, to allow RingBuffer adjust effective bitrate. | |
| void | UpdatePlaySpeed (float playspeed) |
| Set the play speed, to allow RingBuffer adjust effective bitrate. | |
| void | EnableBitrateMonitor (bool enable) |
| void | SetBufferSizeFactors (bool estbitrate, bool matroska) |
| Tells RingBuffer that the raw bitrate may be innacurate and the underlying container is matroska, both of which may require a larger buffer size. | |
| QString | GetSafeFilename (void) |
| QString | GetFilename (void) const |
| Returns name of file used by this RingBuffer. | |
| QString | GetSubtitleFilename (void) const |
| bool | GetStopReads (void) const |
| Returns value of stopreads. | |
| bool | isPaused (void) const |
| Returns false iff read-ahead is not running and read-ahead is not paused. | |
| virtual long long | GetReadPosition (void) const =0 |
| Returns how far into the file we have read. | |
| QString | GetDecoderRate (void) |
| QString | GetStorageRate (void) |
| QString | GetAvailableBuffer (void) |
| uint | GetBufferSize (void) |
| long long | GetWritePosition (void) const |
| Returns how far into a ThreadedFileWriter file we have written. | |
| virtual long long | GetRealFileSize (void) const |
| Returns the size of the file we are reading/writing, or -1 if the query fails. | |
| bool | IsNearEnd (double fps, uint vvf) const |
| virtual bool | IsOpen (void) const =0 |
| Returns true if open for either reading or writing. | |
| virtual bool | IsStreamed (void) |
| virtual bool | IsSeekingAllowed (void) |
| virtual bool | IsBookmarkAllowed (void) |
| virtual int | BestBufferSize (void) |
| bool | IsDisc (void) const |
| bool | IsDVD (void) const |
| bool | IsBD (void) const |
| const DVDRingBuffer * | DVD (void) const |
| const BDRingBuffer * | BD (void) const |
| DVDRingBuffer * | DVD (void) |
| BDRingBuffer * | BD (void) |
| virtual bool | StartFromBeginning (void) |
| virtual void | IgnoreWaitStates (bool ignore) |
| virtual bool | IsInDiscMenuOrStillFrame (void) const |
| virtual bool | HandleAction (const QStringList &, int64_t) |
| virtual bool | OpenFile (const QString &lfilename, uint retry_ms=kDefaultOpenTimeout)=0 |
| Opens a file for reading. | |
| virtual bool | ReOpen (QString newFilename="") |
| int | Read (void *buf, 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. | |
| int | Peek (void *buf, int count) |
| void | Reset (bool full=false, bool toAdjust=false, bool resetInternal=false) |
| Resets the read-ahead thread and our position in the file. | |
| virtual long long | Seek (long long pos, int whence, bool has_lock=false)=0 |
| Seeks to a particular position in the file. | |
| void | Pause (void) |
| Pauses the read-ahead thread. | |
| void | Unpause (void) |
| Unpauses the read-ahead thread. | |
| void | WaitForPause (void) |
| Waits for Pause(void) to take effect. | |
| void | Start (void) |
| Starts the read-ahead thread. | |
| void | StopReads (void) |
| ???? | |
| void | StartReads (void) |
| ???? | |
| bool | LiveMode (void) const |
| Returns true if this RingBuffer has been assigned a LiveTVChain. | |
| void | SetLiveMode (LiveTVChain *chain) |
| Assigns a LiveTVChain to this RingBuffer. | |
| void | IgnoreLiveEOF (bool ignore) |
| Tells RingBuffer whether to igonre the end-of-file. | |
| int | Write (const void *buf, uint count) |
| Writes buffer to ThreadedFileWriter::Write(const void*,uint). | |
| bool | IsIOBound (void) const |
| void | WriterFlush (void) |
| Calls ThreadedFileWriter::Flush(void) and ThreadedFileWriter::Sync(void). | |
| void | Sync (void) |
| Calls ThreadedFileWriter::Sync(void). | |
| long long | WriterSeek (long long pos, int whence, bool has_lock=false) |
| Calls ThreadedFileWriter::Seek(long long,int). | |
| long long | SetAdjustFilesize (void) |
| void | SetTimeout (bool is_old) MDEPRECATED |
| Calls SetOldFile(), do not use. | |
Static Public Member Functions | |
| static RingBuffer * | Create (const QString &lfilename, bool write, bool usereadahead=true, int timeout_ms=kDefaultOpenTimeout, bool stream_only=false) |
| Creates a RingBuffer instance. | |
| static QString | BitrateToString (uint64_t rate, bool hz=false) |
Static Public Attributes | |
| static const int | kDefaultOpenTimeout = 2000 |
| static const int | kLiveTVOpenTimeout = 10000 |
| static QMutex | subExtLock |
| static QStringList | subExt |
| static QStringList | subExtNoCheck |
Protected Member Functions | |
| RingBuffer (RingBufferType rbtype) | |
| void | run (void) |
| Run's the Qt event loop unless we have a QRunnable, in which case we run the runnable run instead. | |
| void | CreateReadAheadBuffer (void) |
| void | CalcReadAheadThresh (void) |
| Calculates fill_min, fill_threshold, and readblocksize from the estimated effective bitrate of the stream. | |
| bool | PauseAndWait (void) |
| virtual int | safe_read (void *data, uint sz)=0 |
| int | ReadPriv (void *buf, int count, bool peek) |
| When possible reads from the read-ahead buffer, otherwise reads directly from the device. | |
| int | ReadDirect (void *buf, int count, bool peek) |
| bool | WaitForReadsAllowed (void) |
| bool | WaitForAvail (int count) |
| int | ReadBufFree (void) const |
| Returns number of bytes available for reading into buffer. | |
| int | ReadBufAvail (void) const |
| Returns number of bytes available for reading from buffer. | |
| void | ResetReadAhead (long long newinternal) |
| Restart the read-ahead thread at the 'newinternal' position. | |
| void | KillReadAheadThread (void) |
| Stops the read-ahead thread, and waits for it to stop. | |
| uint64_t | UpdateDecoderRate (uint64_t latest=0) |
| uint64_t | UpdateStorageRate (uint64_t latest=0) |
Protected Attributes | |
| RingBufferType | type |
| QReadWriteLock | poslock |
| long long | readpos |
| long long | writepos |
| long long | internalreadpos |
| long long | ignorereadpos |
| QReadWriteLock | rbrlock |
| int | rbrpos |
| QReadWriteLock | rbwlock |
| int | rbwpos |
| volatile bool | stopreads |
| QReadWriteLock | rwlock |
| QString | safefilename |
| QString | filename |
| QString | subtitlefilename |
| ThreadedFileWriter * | tfw |
| int | fd2 |
| bool | writemode |
| RemoteFile * | remotefile |
| uint | bufferSize |
| bool | low_buffers |
| bool | fileismatroska |
| bool | unknownbitrate |
| bool | startreadahead |
| char * | readAheadBuffer |
| bool | readaheadrunning |
| bool | reallyrunning |
| bool | request_pause |
| bool | paused |
| bool | ateof |
| bool | readsallowed |
| bool | setswitchtonext |
| uint | rawbitrate |
| float | playspeed |
| int | fill_threshold |
| int | fill_min |
| int | readblocksize |
| int | wanttoread |
| int | numfailures |
| bool | commserror |
| bool | oldfile |
| LiveTVChain * | livetvchain |
| bool | ignoreliveeof |
| long long | readAdjust |
| bool | bitrateMonitorEnabled |
| QMutex | decoderReadLock |
| QMap< qint64, uint64_t > | decoderReads |
| QMutex | storageReadLock |
| QMap< qint64, uint64_t > | storageReads |
| QWaitCondition | generalWait |
| Condition to signal that the read ahead thread is running. | |
Implements a file/stream reader/writer.
This class, despite its name, no-longer provides a ring buffer. It can buffer reads and provide support for streaming files. It also provides a wrapper for the ThreadedFileWriter which makes sure that the file reader does not read past where the wrapped TFW has written new data.
Definition at line 43 of file libs/libmythtv/ringbuffer.h.
| RingBuffer::~RingBuffer | ( | void | ) | [virtual] |
Shuts down any threads and closes any files.
Definition at line 220 of file ringbuffer.cpp.
| RingBuffer::RingBuffer | ( | RingBufferType | rbtype | ) | [protected] |
Definition at line 174 of file ringbuffer.cpp.
| RingBuffer * RingBuffer::Create | ( | const QString & | xfilename, | |
| bool | write, | |||
| bool | usereadahead = true, |
|||
| int | timeout_ms = kDefaultOpenTimeout, |
|||
| bool | stream_only = false | |||
| ) | [static] |
Creates a RingBuffer instance.
You can explicitly disable the readahead thread by setting readahead to false, or by just not calling Start(void).
| lfilename | Name of file to read or write. | |
| write | If true an encapsulated writer is created | |
| readahead | If false a call to Start(void) will not a pre-buffering thread, otherwise Start(void) will start a pre-buffering thread. | |
| timeout_ms | if < 0, then we will not open the file. Otherwise it's how long to try opening the file after the first failure in milliseconds before giving up. |
Definition at line 98 of file ringbuffer.cpp.
Referenced by CopyFile(), FlagCommercials(), TVRec::GetProgramRingBufferForLiveTV(), PreviewGenerator::GetScreenGrab(), TV::HandleStateChange(), NuppelVideoRecorder::Initialize(), TextSubtitleParser::LoadSubtitles(), mythfile_open(), AVFormatWriter::OpenFile(), pid_counter(), pid_filter(), pid_printer(), RebuildSeekTable(), ImportRecorder::run(), RunCCExtract(), TV::SwitchCards(), TVRec::SwitchRecordingRingBuffer(), VideoPerformanceTest::Test(), Transcode::TranscodeFile(), and TVRec::TuningNewRecorder().
| void RingBuffer::SetWriteBufferSize | ( | int | newSize | ) |
| void RingBuffer::SetWriteBufferMinWriteSize | ( | int | newMinSize | ) |
Calls ThreadedFileWriter::SetWriteBufferMinWriteSize(int).
Definition at line 1537 of file ringbuffer.cpp.
| void RingBuffer::SetOldFile | ( | bool | is_old | ) |
Tell RingBuffer if this is an old file or not.
Normally the RingBuffer determines that the file is old if it has not been modified in the last minute. This allows one to override that determination externally.
If for instance you are slowly writing to the file you could call this with the value of false. If you just finished writing the file you could call it with the value true. Knowing that the file is old allows MythTV to determine that a read at the end of the file is really an end-of-file condition more quickly. But if the file is growing it can also cause the RingBuffer to report an end-of-file condition prematurely.
Definition at line 1560 of file ringbuffer.cpp.
Referenced by FileTransfer::SetTimeout().
| void RingBuffer::UpdateRawBitrate | ( | uint | rawbitrate | ) |
Set the raw bit rate, to allow RingBuffer adjust effective bitrate.
| raw_bitrate | Streams average number of kilobits per second when playspeed is 1.0 |
Definition at line 289 of file ringbuffer.cpp.
Referenced by NuppelDecoder::GetFrame(), MythPlayer::JumpToProgram(), NuppelDecoder::OpenFile(), AvFormatDecoder::ScanStreams(), and MythPlayer::SwitchToProgram().
| void RingBuffer::UpdatePlaySpeed | ( | float | playspeed | ) |
Set the play speed, to allow RingBuffer adjust effective bitrate.
| play_speed | Speed to set. (1.0 for normal speed) |
Definition at line 313 of file ringbuffer.cpp.
| void RingBuffer::EnableBitrateMonitor | ( | bool | enable | ) | [inline] |
Definition at line 58 of file libs/libmythtv/ringbuffer.h.
Referenced by TV::timerEvent(), and TV::ToggleOSDDebug().
Tells RingBuffer that the raw bitrate may be innacurate and the underlying container is matroska, both of which may require a larger buffer size.
Definition at line 326 of file ringbuffer.cpp.
Referenced by AvFormatDecoder::ScanStreams().
| QString RingBuffer::GetSafeFilename | ( | void | ) | [inline] |
Definition at line 62 of file libs/libmythtv/ringbuffer.h.
Referenced by MythPlayer::GetPlaybackData().
| QString RingBuffer::GetFilename | ( | void | ) | const |
Returns name of file used by this RingBuffer.
Definition at line 1568 of file ringbuffer.cpp.
Referenced by MythPlayer::CreateDecoder(), MythDVDPlayer::CreateDecoder(), MythBDPlayer::CreateDecoder(), FileTransfer::GetFileSize(), NuppelDecoder::OpenFile(), MythPlayer::OpenFile(), AvFormatDecoder::OpenFile(), TV::ProcessNetworkControlCommand(), NuppelVideoRecorder::run(), ImportRecorder::run(), ASIRecorder::run(), and RecorderBase::SetRingBuffer().
| QString RingBuffer::GetSubtitleFilename | ( | void | ) | const |
Definition at line 1576 of file ringbuffer.cpp.
Referenced by PlayerContext::CreatePlayer().
| bool RingBuffer::GetStopReads | ( | void | ) | const [inline] |
Returns value of stopreads.
Definition at line 67 of file libs/libmythtv/ringbuffer.h.
Referenced by FileTransfer::RequestBlock().
| bool RingBuffer::isPaused | ( | void | ) | const |
Returns false iff read-ahead is not running and read-ahead is not paused.
Definition at line 606 of file ringbuffer.cpp.
| virtual long long RingBuffer::GetReadPosition | ( | void | ) | const [pure virtual] |
Returns how far into the file we have read.
Implemented in BDRingBuffer, DVDRingBuffer, FileRingBuffer, and StreamingRingBuffer.
Referenced by NuppelDecoder::GetFrame(), NuppelDecoder::OpenFile(), FileTransfer::Seek(), and AvFormatDecoder::SeekReset().
| QString RingBuffer::GetDecoderRate | ( | void | ) |
Definition at line 1355 of file ringbuffer.cpp.
Referenced by MythPlayer::GetPlaybackData().
| QString RingBuffer::GetStorageRate | ( | void | ) |
Definition at line 1360 of file ringbuffer.cpp.
Referenced by MythPlayer::GetPlaybackData().
| QString RingBuffer::GetAvailableBuffer | ( | void | ) |
Definition at line 1365 of file ringbuffer.cpp.
Referenced by MythPlayer::GetPlaybackData().
| uint RingBuffer::GetBufferSize | ( | void | ) | [inline] |
Definition at line 74 of file libs/libmythtv/ringbuffer.h.
Referenced by MythPlayer::GetPlaybackData().
| long long RingBuffer::GetWritePosition | ( | void | ) | const |
Returns how far into a ThreadedFileWriter file we have written.
Definition at line 1587 of file ringbuffer.cpp.
Referenced by DTVRecorder::FindH264Keyframes(), TVRec::GetFilePosition(), DTVRecorder::HandleKeyframe(), RecorderBase::SavePositionMap(), NuppelVideoRecorder::UpdateSeekTable(), NuppelVideoRecorder::WriteHeader(), NuppelVideoRecorder::WriteKeyFrameAdjustTable(), and NuppelVideoRecorder::WriteSeekTable().
| virtual long long RingBuffer::GetRealFileSize | ( | void | ) | const [inline, virtual] |
Returns the size of the file we are reading/writing, or -1 if the query fails.
Reimplemented in FileRingBuffer, and StreamingRingBuffer.
Definition at line 78 of file libs/libmythtv/ringbuffer.h.
Referenced by AVF_Seek(), CopyFile(), NuppelVideoRecorder::FinishRecording(), DTVRecorder::FinishRecording(), AvFormatDecoder::HandleGopStart(), AvFormatDecoder::OpenFile(), ImportRecorder::run(), NuppelVideoRecorder::SetNextRecording(), and DTVRecorder::SetNextRecording().
Definition at line 405 of file ringbuffer.cpp.
Referenced by MythPlayer::IsReallyNearEnd().
| virtual bool RingBuffer::IsOpen | ( | void | ) | const [pure virtual] |
Returns true if open for either reading or writing.
Implemented in BDRingBuffer, DVDRingBuffer, FileRingBuffer, and StreamingRingBuffer.
Referenced by CopyFile(), NuppelVideoRecorder::CreateNuppelFile(), PreviewGenerator::GetScreenGrab(), TV::HandleStateChange(), NuppelVideoRecorder::Initialize(), FileTransfer::isOpen(), MythPlayer::JumpToProgram(), TVRec::SwitchRecordingRingBuffer(), MythPlayer::SwitchToProgram(), and TVRec::TuningNewRecorder().
| virtual bool RingBuffer::IsStreamed | ( | void | ) | [inline, virtual] |
Reimplemented in BDRingBuffer, DVDRingBuffer, and StreamingRingBuffer.
Definition at line 82 of file libs/libmythtv/ringbuffer.h.
Referenced by AvFormatDecoder::InitByteContext().
| virtual bool RingBuffer::IsSeekingAllowed | ( | void | ) | [inline, virtual] |
Reimplemented in StreamingRingBuffer.
Definition at line 83 of file libs/libmythtv/ringbuffer.h.
Referenced by MythPlayer::DoFastForward(), TV::DoPlayerSeek(), MythPlayer::DoRewind(), TV::FillOSDMenuNavigate(), and TV::SetFFRew().
| virtual bool RingBuffer::IsBookmarkAllowed | ( | void | ) | [inline, virtual] |
Reimplemented in DVDRingBuffer, and StreamingRingBuffer.
Definition at line 84 of file libs/libmythtv/ringbuffer.h.
Referenced by MythPlayer::GetBookmark(), and TV::IsBookmarkAllowed().
| virtual int RingBuffer::BestBufferSize | ( | void | ) | [inline, virtual] |
Reimplemented in DVDRingBuffer.
Definition at line 85 of file libs/libmythtv/ringbuffer.h.
Referenced by AvFormatDecoder::InitByteContext().
Definition at line 1322 of file ringbuffer.cpp.
Referenced by GetDecoderRate(), MythPlayer::GetPlaybackData(), and GetStorageRate().
| bool RingBuffer::IsDisc | ( | void | ) | const [inline] |
Definition at line 89 of file libs/libmythtv/ringbuffer.h.
Referenced by DecoderBase::DoRewind(), DecoderBase::GetKey(), AvFormatDecoder::OpenFile(), DecoderBase::PosMapFromDb(), and DecoderBase::PosMapFromEnc().
| bool RingBuffer::IsDVD | ( | void | ) | const [inline] |
Definition at line 90 of file libs/libmythtv/ringbuffer.h.
Referenced by MythDVDPlayer::CalcMaxFFTime(), MythDVDPlayer::ChangeSpeed(), TV::ChangeVolume(), MythDVDPlayer::DecoderGetFrameREW(), MythDVDPlayer::DisableCaptions(), MythDVDPlayer::DisplayDVDButton(), MythDVDPlayer::DisplayPauseFrame(), DecoderBase::DoFastForward(), AvFormatDecoderDVD::DoFastForwardSeek(), MythDVDPlayer::DoJumpChapter(), AvFormatDecoderDVD::DoRewindSeek(), AvFormatDecoderDVD::DVDFindPosition(), MythDVDPlayer::EnableCaptions(), AvFormatDecoderDVD::GetAudioLanguage(), MythDVDPlayer::GetBookmark(), MythDVDPlayer::GetChapterTimes(), MythDVDPlayer::GetCurrentChapter(), MythDVDPlayer::GetNumChapters(), MythDVDPlayer::GetSecondsPlayed(), AvFormatDecoder::GetTrackDesc(), MythDVDPlayer::GoToDVDProgram(), MythDVDPlayer::GoToMenu(), TV::HandleLCDTimerEvent(), TV::HandleStateChange(), AvFormatDecoder::InitVideoCodec(), AvFormatDecoder::MpegPreProcessPkt(), AvFormatDecoder::OpenFile(), DecoderBase::PosMapFromDb(), AvFormatDecoderDVD::PostProcessTracks(), MythDVDPlayer::PrepareAudioSample(), TV::ProcessKeypress(), TV::ProcessNetworkControlCommand(), AvFormatDecoder::ProcessSubtitlePacket(), AvFormatDecoder::ProcessVideoFrame(), AvFormatDecoder::ProcessVideoPacket(), ReadDirect(), AvFormatDecoder::ScanStreams(), MythDVDPlayer::SeekForScreenGrab(), AvFormatDecoder::SeekReset(), MythDVDPlayer::SetDVDBookmark(), TV::ShowLCDDVDInfo(), TV::ShowOSDStopWatchingRecording(), MythDVDPlayer::StillFrameCheck(), AvFormatDecoderDVD::StreamChangeCheck(), DecoderBase::SyncPositionMap(), AvFormatDecoderDVD::UpdateFramesPlayed(), and MythDVDPlayer::VideoLoop().
| bool RingBuffer::IsBD | ( | void | ) | const [inline] |
Definition at line 91 of file libs/libmythtv/ringbuffer.h.
Referenced by AvFormatDecoderBD::BDFindPosition(), MythBDPlayer::DisplayMenu(), MythBDPlayer::DisplayPauseFrame(), AvFormatDecoderBD::DoFastForwardSeek(), AvFormatDecoderBD::DoRewindSeek(), TV::FillOSDMenuNavigate(), AvFormatDecoderBD::GetAudioLanguage(), AvFormatDecoderBD::GetSubtitleLanguage(), AvFormatDecoder::OpenFile(), DecoderBase::PosMapFromDb(), ReadDirect(), AvFormatDecoderBD::StreamChangeCheck(), DecoderBase::SyncPositionMap(), AvFormatDecoderBD::UpdateFramesPlayed(), and MythBDPlayer::VideoLoop().
| const DVDRingBuffer * RingBuffer::DVD | ( | void | ) | const |
Definition at line 1626 of file ringbuffer.cpp.
Referenced by TV::ActiveHandleAction(), MythDVDPlayer::CalcMaxFFTime(), MythDVDPlayer::ChangeSpeed(), MythDVDPlayer::DecoderGetFrameREW(), MythDVDPlayer::DisableCaptions(), MythDVDPlayer::DisplayDVDButton(), MythDVDPlayer::DisplayPauseFrame(), DecoderBase::DoFastForward(), MythDVDPlayer::DoJumpChapter(), AvFormatDecoderDVD::DVDFindPosition(), MythDVDPlayer::EnableCaptions(), MythDVDPlayer::EventEnd(), MythDVDPlayer::EventStart(), AvFormatDecoderDVD::GetAudioLanguage(), MythDVDPlayer::GetBookmark(), MythDVDPlayer::GetChapterTimes(), MythDVDPlayer::GetCurrentAngle(), MythDVDPlayer::GetCurrentChapter(), MythDVDPlayer::GetNumAngles(), MythDVDPlayer::GetNumChapters(), MythDVDPlayer::GetSecondsPlayed(), AvFormatDecoder::GetTrackDesc(), MythDVDPlayer::GoToDVDProgram(), MythDVDPlayer::GoToMenu(), MythDVDPlayer::InitialSeek(), AvFormatDecoder::MpegPreProcessPkt(), DecoderBase::PosMapFromDb(), AvFormatDecoderDVD::PostProcessTracks(), MythDVDPlayer::PrepareAudioSample(), AvFormatDecoder::ProcessSubtitlePacket(), AvFormatDecoder::ProcessVideoPacket(), AvFormatDecoder::ScanStreams(), MythDVDPlayer::SeekForScreenGrab(), MythDVDPlayer::SetDVDBookmark(), MythDVDPlayer::SetTrack(), TV::ShowLCDDVDInfo(), MythDVDPlayer::StillFrameCheck(), AvFormatDecoderDVD::StreamChangeCheck(), MythDVDPlayer::SwitchAngle(), DecoderBase::SyncPositionMap(), AvFormatDecoderDVD::UpdateFramesPlayed(), and MythDVDPlayer::VideoLoop().
| const BDRingBuffer * RingBuffer::BD | ( | void | ) | const |
Definition at line 1631 of file ringbuffer.cpp.
Referenced by AvFormatDecoderBD::BDFindPosition(), MythBDPlayer::DisplayMenu(), MythBDPlayer::DisplayPauseFrame(), MythBDPlayer::EventStart(), TV::FillOSDMenuNavigate(), AvFormatDecoderBD::GetAudioLanguage(), MythBDPlayer::GetChapter(), MythBDPlayer::GetChapterTimes(), MythBDPlayer::GetCurrentAngle(), MythBDPlayer::GetCurrentChapter(), MythBDPlayer::GetCurrentTitle(), MythBDPlayer::GetNumAngles(), MythBDPlayer::GetNumChapters(), MythBDPlayer::GetNumTitles(), AvFormatDecoderBD::GetSubtitleLanguage(), MythBDPlayer::GetTitleDuration(), MythBDPlayer::GoToMenu(), MythBDPlayer::NextTitle(), DecoderBase::PosMapFromDb(), MythBDPlayer::PrevTitle(), AvFormatDecoderBD::StreamChangeCheck(), MythBDPlayer::SwitchAngle(), MythBDPlayer::SwitchTitle(), DecoderBase::SyncPositionMap(), AvFormatDecoderBD::UpdateFramesPlayed(), and MythBDPlayer::VideoLoop().
| DVDRingBuffer * RingBuffer::DVD | ( | void | ) |
Definition at line 1636 of file ringbuffer.cpp.
| BDRingBuffer * RingBuffer::BD | ( | void | ) |
Definition at line 1641 of file ringbuffer.cpp.
| virtual bool RingBuffer::StartFromBeginning | ( | void | ) | [inline, virtual] |
Reimplemented in BDRingBuffer, and DVDRingBuffer.
Definition at line 96 of file libs/libmythtv/ringbuffer.h.
Referenced by AvFormatDecoder::OpenFile().
| virtual void RingBuffer::IgnoreWaitStates | ( | bool | ignore | ) | [inline, virtual] |
Reimplemented in BDRingBuffer, and DVDRingBuffer.
Definition at line 97 of file libs/libmythtv/ringbuffer.h.
Referenced by MythDVDPlayer::InitialSeek(), AvFormatDecoder::OpenFile(), and TV::StopStuff().
| virtual bool RingBuffer::IsInDiscMenuOrStillFrame | ( | void | ) | const [inline, virtual] |
Reimplemented in BDRingBuffer, and DVDRingBuffer.
Definition at line 98 of file libs/libmythtv/ringbuffer.h.
Referenced by AvFormatDecoder::AutoSelectTrack(), DecoderBase::DoFastForward(), MythDVDPlayer::DoJumpChapter(), TV::DoTogglePauseFinish(), TV::DoTogglePauseStart(), TV::DVDJumpBack(), AvFormatDecoder::GetFrame(), TV::HandleLCDTimerEvent(), AvFormatDecoderDVD::PostProcessTracks(), MythDVDPlayer::PrepareAudioSample(), AvFormatDecoder::ProcessAudioPacket(), TV::ProcessKeypress(), TV::ProcessNetworkControlCommand(), MythDVDPlayer::ReleaseNextVideoFrame(), AvFormatDecoder::SeekReset(), MythDVDPlayer::SetBookmark(), and MythDVDPlayer::SetDVDBookmark().
Reimplemented in BDRingBuffer, and DVDRingBuffer.
Definition at line 99 of file libs/libmythtv/ringbuffer.h.
Referenced by TV::DiscMenuHandleAction().
| virtual bool RingBuffer::OpenFile | ( | const QString & | lfilename, | |
| uint | retry_ms = kDefaultOpenTimeout | |||
| ) | [pure virtual] |
Opens a file for reading.
| lfilename | Name of file to read | |
| retry_ms | How many ms to retry reading the file after the first try before giving up. |
Implemented in BDRingBuffer, DVDRingBuffer, FileRingBuffer, and StreamingRingBuffer.
Referenced by MythPlayer::JumpToProgram(), and MythPlayer::SwitchToProgram().
| virtual bool RingBuffer::ReOpen | ( | QString | newFilename = "" |
) | [inline, virtual] |
Reimplemented in FileRingBuffer.
Definition at line 111 of file libs/libmythtv/ringbuffer.h.
Referenced by FileTransfer::ReOpen(), and AVFormatWriter::ReOpen().
| int RingBuffer::Read | ( | void * | buf, | |
| 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.
| buf | Pointer to where data will be written | |
| count | Number of bytes to read |
Definition at line 1308 of file ringbuffer.cpp.
Referenced by AVF_Read(), CopyFile(), NuppelDecoder::GetFrame(), NuppelDecoder::OpenFile(), pid_counter(), pid_filter(), pid_printer(), read_line_from_input(), NuppelDecoder::ReadFileheader(), NuppelDecoder::ReadFrameheader(), and FileTransfer::RequestBlock().
| int RingBuffer::Peek | ( | void * | buf, | |
| int | count | |||
| ) |
Definition at line 1006 of file ringbuffer.cpp.
Referenced by MythPlayer::OpenFile().
Resets the read-ahead thread and our position in the file.
Definition at line 247 of file ringbuffer.cpp.
Referenced by MythPlayer::FileChangedCallback(), MythPlayer::JumpToProgram(), and MythPlayer::SwitchToProgram().
| virtual long long RingBuffer::Seek | ( | long long | pos, | |
| int | whence, | |||
| bool | has_lock = false | |||
| ) | [pure virtual] |
Seeks to a particular position in the file.
Implemented in BDRingBuffer, DVDRingBuffer, FileRingBuffer, and StreamingRingBuffer.
Referenced by AVF_Seek(), TV::CreatePBP(), DecoderBase::DoFastForwardSeek(), AvFormatDecoderDVD::DoFastForwardSeek(), AvFormatDecoderBD::DoFastForwardSeek(), DecoderBase::DoRewindSeek(), AvFormatDecoderDVD::DoRewindSeek(), AvFormatDecoderBD::DoRewindSeek(), NuppelDecoder::GetFrame(), NuppelDecoder::OpenFile(), TV::PBPRestartMainPlayer(), ReadDirect(), TV::RestartAllPlayers(), FileTransfer::Seek(), and sub_read_line_subrip().
| void RingBuffer::Pause | ( | void | ) |
Pauses the read-ahead thread.
Calls StopReads(void).
Definition at line 582 of file ringbuffer.cpp.
Referenced by MythPlayer::PauseBuffer(), PlayerContext::PIPTeardown(), TV::StopStuff(), and TV::SwitchCards().
| void RingBuffer::Unpause | ( | void | ) |
Unpauses the read-ahead thread.
Calls StartReads(void).
Definition at line 595 of file ringbuffer.cpp.
Referenced by TV::CreatePBP(), TV::RestartAllPlayers(), MythPlayer::SwitchToProgram(), and MythPlayer::UnpauseBuffer().
| void RingBuffer::WaitForPause | ( | void | ) |
Waits for Pause(void) to take effect.
Definition at line 617 of file ringbuffer.cpp.
Referenced by TV::DoTogglePauseFinish(), MythPlayer::PauseBuffer(), PlayerContext::PIPTeardown(), TV::StopStuff(), and TV::SwitchCards().
| void RingBuffer::Start | ( | void | ) |
Starts the read-ahead thread.
If the RingBuffer constructor was not called with a usereadahead of true of if this was reset to false because we're dealing with a DVD the read ahead thread will not be started.
If this RingBuffer is in write-mode a warning will be printed and the read ahead thread will not be started.
If the read ahead thread is already running a warning will be printed and the read ahead thread will not be started.
Definition at line 504 of file ringbuffer.cpp.
Referenced by FileTransfer::FileTransfer(), mythfile_open(), and MythPlayer::OpenFile().
| void RingBuffer::StopReads | ( | void | ) |
????
Definition at line 562 of file ringbuffer.cpp.
Referenced by KillReadAheadThread(), Pause(), FileTransfer::Pause(), TV::PauseLiveTV(), FileRingBuffer::Seek(), FileTransfer::Stop(), TV::StopStuff(), TV::SwitchCards(), and TVRec::TeardownRecorder().
| void RingBuffer::StartReads | ( | void | ) |
????
Definition at line 572 of file ringbuffer.cpp.
Referenced by TV::PauseLiveTV(), FileRingBuffer::Seek(), Start(), Unpause(), and FileTransfer::Unpause().
| bool RingBuffer::LiveMode | ( | void | ) | const |
Returns true if this RingBuffer has been assigned a LiveTVChain.
Definition at line 1599 of file ringbuffer.cpp.
Referenced by NuppelDecoder::GetFrame(), and NuppelVideoRecorder::Initialize().
| void RingBuffer::SetLiveMode | ( | LiveTVChain * | chain | ) |
Assigns a LiveTVChain to this RingBuffer.
Definition at line 1611 of file ringbuffer.cpp.
Referenced by TV::HandleStateChange(), and TV::SwitchCards().
| void RingBuffer::IgnoreLiveEOF | ( | bool | ignore | ) |
Tells RingBuffer whether to igonre the end-of-file.
Definition at line 1619 of file ringbuffer.cpp.
Referenced by MythPlayer::JumpToProgram(), TV::PauseLiveTV(), TV::SwitchCards(), and TV::UnpauseLiveTV().
| int RingBuffer::Write | ( | const void * | buf, | |
| uint | count | |||
| ) |
Writes buffer to ThreadedFileWriter::Write(const void*,uint).
Definition at line 1448 of file ringbuffer.cpp.
Referenced by AVF_Write(), DTVRecorder::BufferedWrite(), CopyFile(), DTVRecorder::FindPSKeyFrames(), DTVRecorder::FinishRecording(), PrintOutput::Output(), pid_filter(), NuppelVideoRecorder::WriteAudio(), FileTransfer::WriteBlock(), NuppelVideoRecorder::WriteFileHeader(), NuppelVideoRecorder::WriteFrameheader(), NuppelVideoRecorder::WriteHeader(), NuppelVideoRecorder::WriteKeyFrameAdjustTable(), NuppelVideoRecorder::WriteSeekTable(), NuppelDecoder::WriteStoredData(), NuppelVideoRecorder::WriteText(), and NuppelVideoRecorder::WriteVideo().
| bool RingBuffer::IsIOBound | ( | void | ) | const |
| void RingBuffer::WriterFlush | ( | void | ) |
Calls ThreadedFileWriter::Flush(void) and ThreadedFileWriter::Sync(void).
Definition at line 1523 of file ringbuffer.cpp.
Referenced by NuppelVideoRecorder::FinishRecording(), DTVRecorder::FinishRecording(), NuppelVideoRecorder::SetNextRecording(), DTVRecorder::SetNextRecording(), and FileTransfer::Stop().
| void RingBuffer::Sync | ( | void | ) |
Calls ThreadedFileWriter::Sync(void).
Definition at line 1486 of file ringbuffer.cpp.
| long long RingBuffer::WriterSeek | ( | long long | pos, | |
| int | whence, | |||
| bool | has_lock = false | |||
| ) |
Calls ThreadedFileWriter::Seek(long long,int).
Definition at line 1496 of file ringbuffer.cpp.
Referenced by FileRingBuffer::Seek(), NuppelVideoRecorder::WriteKeyFrameAdjustTable(), and NuppelVideoRecorder::WriteSeekTable().
| long long RingBuffer::SetAdjustFilesize | ( | void | ) |
Definition at line 995 of file ringbuffer.cpp.
| void RingBuffer::SetTimeout | ( | bool | is_old | ) | [inline] |
Calls SetOldFile(), do not use.
Definition at line 149 of file libs/libmythtv/ringbuffer.h.
| void RingBuffer::run | ( | void | ) | [protected, virtual] |
Run's the Qt event loop unless we have a QRunnable, in which case we run the runnable run instead.
Reimplemented from MThread.
Definition at line 727 of file ringbuffer.cpp.
| void RingBuffer::CreateReadAheadBuffer | ( | void | ) | [protected] |
Definition at line 679 of file ringbuffer.cpp.
Referenced by run(), and SetBufferSizeFactors().
| void RingBuffer::CalcReadAheadThresh | ( | void | ) | [protected] |
Calculates fill_min, fill_threshold, and readblocksize from the estimated effective bitrate of the stream.
WARNING: Must be called with rwlock in write lock state.
Definition at line 342 of file ringbuffer.cpp.
Referenced by CreateReadAheadBuffer(), FileRingBuffer::OpenFile(), DVDRingBuffer::OpenFile(), BDRingBuffer::OpenFile(), ResetReadAhead(), UpdatePlaySpeed(), and UpdateRawBitrate().
| bool RingBuffer::PauseAndWait | ( | void | ) | [protected] |
Definition at line 636 of file ringbuffer.cpp.
Referenced by run().
| virtual int RingBuffer::safe_read | ( | void * | data, | |
| uint | sz | |||
| ) | [protected, pure virtual] |
Implemented in BDRingBuffer, DVDRingBuffer, FileRingBuffer, and StreamingRingBuffer.
Referenced by ReadDirect(), run(), and FileRingBuffer::safe_read().
| int RingBuffer::ReadPriv | ( | void * | buf, | |
| int | count, | |||
| bool | peek | |||
| ) | [protected] |
When possible reads from the read-ahead buffer, otherwise reads directly from the device.
| buf | Pointer to where data will be written | |
| count | Number of bytes to read | |
| peek | If true, don't increment read count |
Definition at line 1183 of file ringbuffer.cpp.
| int RingBuffer::ReadDirect | ( | void * | buf, | |
| int | count, | |||
| bool | peek | |||
| ) | [protected] |
Definition at line 1111 of file ringbuffer.cpp.
Referenced by ReadPriv().
| bool RingBuffer::WaitForReadsAllowed | ( | void | ) | [protected] |
Definition at line 1018 of file ringbuffer.cpp.
Referenced by ReadPriv().
| bool RingBuffer::WaitForAvail | ( | int | count | ) | [protected] |
Definition at line 1044 of file ringbuffer.cpp.
Referenced by ReadPriv().
| int RingBuffer::ReadBufFree | ( | void | ) | const [protected] |
Returns number of bytes available for reading into buffer.
WARNING: Must be called with rwlock in locked state.
Definition at line 435 of file ringbuffer.cpp.
Referenced by run().
| int RingBuffer::ReadBufAvail | ( | void | ) | const [protected] |
Returns number of bytes available for reading from buffer.
WARNING: Must be called with rwlock in locked state.
Definition at line 447 of file ringbuffer.cpp.
Referenced by IsNearEnd(), ReadPriv(), and WaitForAvail().
| void RingBuffer::ResetReadAhead | ( | long long | newinternal | ) | [protected] |
Restart the read-ahead thread at the 'newinternal' position.
This is called after a Seek(long long, int) so that the read-ahead buffer doesn't contain any stale data, and so that it will read any new data from the new position in the file.
WARNING: Must be called with rwlock and poslock in write lock state.
| newinternal | Position in file to start reading data from |
Definition at line 468 of file ringbuffer.cpp.
Referenced by Reset(), run(), FileRingBuffer::Seek(), DVDRingBuffer::Seek(), and BDRingBuffer::Seek().
| void RingBuffer::KillReadAheadThread | ( | void | ) | [protected] |
Stops the read-ahead thread, and waits for it to stop.
Definition at line 545 of file ringbuffer.cpp.
Referenced by ~RingBuffer().
Definition at line 1374 of file ringbuffer.cpp.
Referenced by GetDecoderRate(), and Read().
Definition at line 1408 of file ringbuffer.cpp.
Referenced by GetStorageRate(), ReadDirect(), and run().
const int RingBuffer::kDefaultOpenTimeout = 2000 [static] |
Definition at line 151 of file libs/libmythtv/ringbuffer.h.
Referenced by mythfile_open().
const int RingBuffer::kLiveTVOpenTimeout = 10000 [static] |
Definition at line 152 of file libs/libmythtv/ringbuffer.h.
Referenced by TV::HandleStateChange(), MythPlayer::JumpToProgram(), TV::SwitchCards(), and MythPlayer::SwitchToProgram().
RingBufferType RingBuffer::type [protected] |
Definition at line 178 of file libs/libmythtv/ringbuffer.h.
Referenced by GetAvailableBuffer().
QReadWriteLock RingBuffer::poslock [mutable, protected] |
Definition at line 179 of file libs/libmythtv/ringbuffer.h.
Referenced by CreateReadAheadBuffer(), FileRingBuffer::GetReadPosition(), GetWritePosition(), Read(), ReadDirect(), FileRingBuffer::ReOpen(), Reset(), run(), FileRingBuffer::safe_read(), StreamingRingBuffer::Seek(), FileRingBuffer::Seek(), DVDRingBuffer::Seek(), BDRingBuffer::Seek(), SetAdjustFilesize(), Write(), and WriterSeek().
long long RingBuffer::readpos [protected] |
Definition at line 180 of file libs/libmythtv/ringbuffer.h.
Referenced by FileRingBuffer::GetReadPosition(), Read(), ReadDirect(), Reset(), run(), FileRingBuffer::Seek(), DVDRingBuffer::Seek(), and BDRingBuffer::Seek().
long long RingBuffer::writepos [protected] |
Definition at line 181 of file libs/libmythtv/ringbuffer.h.
Referenced by GetWritePosition(), FileRingBuffer::ReOpen(), Reset(), Write(), and WriterSeek().
long long RingBuffer::internalreadpos [protected] |
Definition at line 182 of file libs/libmythtv/ringbuffer.h.
Referenced by Reset(), ResetReadAhead(), run(), FileRingBuffer::safe_read(), FileRingBuffer::Seek(), and SetAdjustFilesize().
long long RingBuffer::ignorereadpos [protected] |
Definition at line 183 of file libs/libmythtv/ringbuffer.h.
Referenced by ReadDirect(), ReadPriv(), run(), FileRingBuffer::Seek(), DVDRingBuffer::Seek(), and BDRingBuffer::Seek().
QReadWriteLock RingBuffer::rbrlock [mutable, protected] |
Definition at line 184 of file libs/libmythtv/ringbuffer.h.
Referenced by ReadBufAvail(), ReadBufFree(), ReadPriv(), ResetReadAhead(), run(), and FileRingBuffer::Seek().
int RingBuffer::rbrpos [protected] |
Definition at line 185 of file libs/libmythtv/ringbuffer.h.
Referenced by CreateReadAheadBuffer(), GetAvailableBuffer(), ReadBufAvail(), ReadBufFree(), ReadPriv(), ResetReadAhead(), run(), and FileRingBuffer::Seek().
QReadWriteLock RingBuffer::rbwlock [mutable, protected] |
Definition at line 186 of file libs/libmythtv/ringbuffer.h.
Referenced by ReadBufAvail(), ReadBufFree(), ResetReadAhead(), run(), and FileRingBuffer::Seek().
int RingBuffer::rbwpos [protected] |
Definition at line 187 of file libs/libmythtv/ringbuffer.h.
Referenced by CreateReadAheadBuffer(), GetAvailableBuffer(), ReadBufAvail(), ReadBufFree(), ResetReadAhead(), run(), and FileRingBuffer::Seek().
volatile bool RingBuffer::stopreads [protected] |
Definition at line 191 of file libs/libmythtv/ringbuffer.h.
Referenced by ReadPriv(), run(), FileRingBuffer::safe_read(), StartReads(), StopReads(), WaitForAvail(), and WaitForReadsAllowed().
QReadWriteLock RingBuffer::rwlock [mutable, protected] |
Definition at line 193 of file libs/libmythtv/ringbuffer.h.
Referenced by DVDRingBuffer::ClearChapterCache(), DVDRingBuffer::CloseDVD(), CreateReadAheadBuffer(), GetFilename(), StreamingRingBuffer::GetRealFileSize(), FileRingBuffer::GetRealFileSize(), GetSubtitleFilename(), IgnoreLiveEOF(), IsNearEnd(), StreamingRingBuffer::IsOpen(), FileRingBuffer::IsOpen(), isPaused(), KillReadAheadThread(), LiveMode(), StreamingRingBuffer::OpenFile(), FileRingBuffer::OpenFile(), DVDRingBuffer::OpenFile(), BDRingBuffer::OpenFile(), Pause(), PauseAndWait(), ReadPriv(), FileRingBuffer::ReOpen(), Reset(), run(), DVDRingBuffer::safe_read(), FileRingBuffer::Seek(), DVDRingBuffer::Seek(), BDRingBuffer::Seek(), SetAdjustFilesize(), SetBufferSizeFactors(), SetLiveMode(), SetOldFile(), SetWriteBufferMinWriteSize(), Start(), Sync(), Unpause(), UpdatePlaySpeed(), UpdateRawBitrate(), WaitForAvail(), WaitForPause(), DVDRingBuffer::WaitForPlayer(), WaitForReadsAllowed(), Write(), WriterFlush(), WriterSeek(), FileRingBuffer::~FileRingBuffer(), ~RingBuffer(), and StreamingRingBuffer::~StreamingRingBuffer().
QString RingBuffer::safefilename [protected] |
Definition at line 195 of file libs/libmythtv/ringbuffer.h.
Referenced by FileRingBuffer::FileRingBuffer(), StreamingRingBuffer::OpenFile(), DVDRingBuffer::OpenFile(), and BDRingBuffer::OpenFile().
QString RingBuffer::filename [protected] |
Definition at line 196 of file libs/libmythtv/ringbuffer.h.
Referenced by FileScanner::BuildFileList(), FileRingBuffer::FileRingBuffer(), GetFilename(), FileRingBuffer::GetRealFileSize(), StreamingRingBuffer::OpenFile(), FileRingBuffer::OpenFile(), DVDRingBuffer::OpenFile(), BDRingBuffer::OpenFile(), FileRingBuffer::ReOpen(), FileRingBuffer::Seek(), DVDRingBuffer::SetDVDSpeed(), and DVDRingBuffer::StartFromBeginning().
QString RingBuffer::subtitlefilename [protected] |
Definition at line 197 of file libs/libmythtv/ringbuffer.h.
Referenced by GetSubtitleFilename(), and FileRingBuffer::OpenFile().
ThreadedFileWriter* RingBuffer::tfw [protected] |
Definition at line 199 of file libs/libmythtv/ringbuffer.h.
Referenced by FileRingBuffer::FileRingBuffer(), FileRingBuffer::IsOpen(), FileRingBuffer::ReOpen(), SetWriteBufferMinWriteSize(), Sync(), Write(), WriterFlush(), WriterSeek(), FileRingBuffer::~FileRingBuffer(), and ~RingBuffer().
int RingBuffer::fd2 [protected] |
Definition at line 200 of file libs/libmythtv/ringbuffer.h.
Referenced by FileRingBuffer::IsOpen(), FileRingBuffer::OpenFile(), ReadDirect(), FileRingBuffer::safe_read(), FileRingBuffer::Seek(), and FileRingBuffer::~FileRingBuffer().
bool RingBuffer::writemode [protected] |
Definition at line 202 of file libs/libmythtv/ringbuffer.h.
Referenced by FileRingBuffer::FileRingBuffer(), ReadPriv(), FileRingBuffer::ReOpen(), FileRingBuffer::Seek(), Start(), and Write().
RemoteFile* RingBuffer::remotefile [protected] |
Definition at line 204 of file libs/libmythtv/ringbuffer.h.
Referenced by CreateReadAheadBuffer(), FileRingBuffer::FileRingBuffer(), FileRingBuffer::GetRealFileSize(), FileRingBuffer::IsOpen(), FileRingBuffer::OpenFile(), ReadDirect(), FileRingBuffer::ReOpen(), run(), FileRingBuffer::safe_read(), FileRingBuffer::Seek(), Write(), and FileRingBuffer::~FileRingBuffer().
uint RingBuffer::bufferSize [protected] |
Definition at line 206 of file libs/libmythtv/ringbuffer.h.
Referenced by CalcReadAheadThresh(), CreateReadAheadBuffer(), GetAvailableBuffer(), ReadBufAvail(), ReadBufFree(), ReadPriv(), run(), and FileRingBuffer::Seek().
bool RingBuffer::low_buffers [protected] |
Definition at line 207 of file libs/libmythtv/ringbuffer.h.
Referenced by CalcReadAheadThresh(), and WaitForAvail().
bool RingBuffer::fileismatroska [protected] |
Definition at line 208 of file libs/libmythtv/ringbuffer.h.
Referenced by CreateReadAheadBuffer(), and SetBufferSizeFactors().
bool RingBuffer::unknownbitrate [protected] |
Definition at line 209 of file libs/libmythtv/ringbuffer.h.
Referenced by CreateReadAheadBuffer(), and SetBufferSizeFactors().
bool RingBuffer::startreadahead [protected] |
Definition at line 210 of file libs/libmythtv/ringbuffer.h.
Referenced by FileRingBuffer::FileRingBuffer(), Start(), and StreamingRingBuffer::StreamingRingBuffer().
char* RingBuffer::readAheadBuffer [protected] |
Definition at line 211 of file libs/libmythtv/ringbuffer.h.
Referenced by CreateReadAheadBuffer(), ReadPriv(), run(), and ~RingBuffer().
bool RingBuffer::readaheadrunning [protected] |
Definition at line 212 of file libs/libmythtv/ringbuffer.h.
Referenced by isPaused(), KillReadAheadThread(), PauseAndWait(), ReadPriv(), run(), DVDRingBuffer::safe_read(), FileRingBuffer::Seek(), DVDRingBuffer::Seek(), BDRingBuffer::Seek(), Start(), WaitForAvail(), WaitForPause(), and WaitForReadsAllowed().
bool RingBuffer::reallyrunning [protected] |
Definition at line 213 of file libs/libmythtv/ringbuffer.h.
bool RingBuffer::request_pause [protected] |
Definition at line 214 of file libs/libmythtv/ringbuffer.h.
Referenced by Pause(), PauseAndWait(), ReadPriv(), run(), Unpause(), WaitForAvail(), WaitForPause(), and WaitForReadsAllowed().
bool RingBuffer::paused [protected] |
Definition at line 215 of file libs/libmythtv/ringbuffer.h.
Referenced by isPaused(), PauseAndWait(), and WaitForPause().
bool RingBuffer::ateof [protected] |
Definition at line 216 of file libs/libmythtv/ringbuffer.h.
Referenced by FileRingBuffer::OpenFile(), DVDRingBuffer::OpenFile(), BDRingBuffer::OpenFile(), ReadPriv(), ResetReadAhead(), run(), StreamingRingBuffer::Seek(), FileRingBuffer::Seek(), and WaitForAvail().
bool RingBuffer::readsallowed [protected] |
Definition at line 217 of file libs/libmythtv/ringbuffer.h.
Referenced by CalcReadAheadThresh(), ResetReadAhead(), run(), FileRingBuffer::Seek(), and WaitForReadsAllowed().
bool RingBuffer::setswitchtonext [protected] |
Definition at line 218 of file libs/libmythtv/ringbuffer.h.
Referenced by FileRingBuffer::OpenFile(), DVDRingBuffer::OpenFile(), BDRingBuffer::OpenFile(), Reset(), ResetReadAhead(), run(), and WaitForAvail().
uint RingBuffer::rawbitrate [protected] |
Definition at line 219 of file libs/libmythtv/ringbuffer.h.
Referenced by CalcReadAheadThresh(), IsNearEnd(), FileRingBuffer::OpenFile(), DVDRingBuffer::OpenFile(), BDRingBuffer::OpenFile(), and UpdateRawBitrate().
float RingBuffer::playspeed [protected] |
Definition at line 220 of file libs/libmythtv/ringbuffer.h.
Referenced by CalcReadAheadThresh(), IsNearEnd(), and UpdatePlaySpeed().
int RingBuffer::fill_threshold [protected] |
Definition at line 221 of file libs/libmythtv/ringbuffer.h.
Referenced by CalcReadAheadThresh(), and run().
int RingBuffer::fill_min [protected] |
Definition at line 222 of file libs/libmythtv/ringbuffer.h.
Referenced by CalcReadAheadThresh(), run(), FileRingBuffer::Seek(), and WaitForAvail().
int RingBuffer::readblocksize [protected] |
Definition at line 223 of file libs/libmythtv/ringbuffer.h.
Referenced by CalcReadAheadThresh(), IsNearEnd(), DVDRingBuffer::OpenFile(), BDRingBuffer::OpenFile(), run(), and FileRingBuffer::Seek().
int RingBuffer::wanttoread [protected] |
Definition at line 224 of file libs/libmythtv/ringbuffer.h.
Referenced by ReadPriv(), and WaitForAvail().
int RingBuffer::numfailures [protected] |
Definition at line 225 of file libs/libmythtv/ringbuffer.h.
Referenced by FileRingBuffer::OpenFile(), DVDRingBuffer::OpenFile(), BDRingBuffer::OpenFile(), Reset(), run(), and FileRingBuffer::safe_read().
bool RingBuffer::commserror [protected] |
Definition at line 226 of file libs/libmythtv/ringbuffer.h.
Referenced by FileRingBuffer::OpenFile(), DVDRingBuffer::OpenFile(), BDRingBuffer::OpenFile(), ReadPriv(), Reset(), run(), WaitForAvail(), and WaitForReadsAllowed().
bool RingBuffer::oldfile [protected] |
Definition at line 228 of file libs/libmythtv/ringbuffer.h.
Referenced by FileRingBuffer::OpenFile(), FileRingBuffer::safe_read(), and SetOldFile().
LiveTVChain* RingBuffer::livetvchain [protected] |
Definition at line 230 of file libs/libmythtv/ringbuffer.h.
Referenced by LiveMode(), run(), FileRingBuffer::safe_read(), SetLiveMode(), and WaitForAvail().
bool RingBuffer::ignoreliveeof [protected] |
Definition at line 231 of file libs/libmythtv/ringbuffer.h.
Referenced by IgnoreLiveEOF(), and run().
long long RingBuffer::readAdjust [protected] |
Definition at line 233 of file libs/libmythtv/ringbuffer.h.
Referenced by Reset(), FileRingBuffer::safe_read(), FileRingBuffer::Seek(), DVDRingBuffer::Seek(), BDRingBuffer::Seek(), and SetAdjustFilesize().
bool RingBuffer::bitrateMonitorEnabled [protected] |
Definition at line 236 of file libs/libmythtv/ringbuffer.h.
Referenced by UpdateDecoderRate(), and UpdateStorageRate().
QMutex RingBuffer::decoderReadLock [protected] |
Definition at line 237 of file libs/libmythtv/ringbuffer.h.
Referenced by UpdateDecoderRate().
QMap<qint64, uint64_t> RingBuffer::decoderReads [protected] |
Definition at line 238 of file libs/libmythtv/ringbuffer.h.
Referenced by UpdateDecoderRate().
QMutex RingBuffer::storageReadLock [protected] |
Definition at line 239 of file libs/libmythtv/ringbuffer.h.
Referenced by UpdateStorageRate().
QMap<qint64, uint64_t> RingBuffer::storageReads [protected] |
Definition at line 240 of file libs/libmythtv/ringbuffer.h.
Referenced by UpdateStorageRate().
QWaitCondition RingBuffer::generalWait [protected] |
Condition to signal that the read ahead thread is running.
Definition at line 249 of file libs/libmythtv/ringbuffer.h.
Referenced by KillReadAheadThread(), PauseAndWait(), ReadPriv(), Reset(), ResetReadAhead(), run(), FileRingBuffer::Seek(), DVDRingBuffer::Seek(), BDRingBuffer::Seek(), Start(), StartReads(), StopReads(), Unpause(), WaitForAvail(), WaitForPause(), and WaitForReadsAllowed().
QMutex RingBuffer::subExtLock [static] |
Definition at line 252 of file libs/libmythtv/ringbuffer.h.
Referenced by is_subtitle_possible(), local_sub_filename(), FileRingBuffer::OpenFile(), and RingBuffer().
QStringList RingBuffer::subExt [static] |
Definition at line 253 of file libs/libmythtv/ringbuffer.h.
Referenced by local_sub_filename(), FileRingBuffer::OpenFile(), and RingBuffer().
QStringList RingBuffer::subExtNoCheck [static] |
Definition at line 254 of file libs/libmythtv/ringbuffer.h.
Referenced by is_subtitle_possible(), and RingBuffer().
1.6.3