Skip to content

Commit

Permalink
RingBuffer: Add an additional filename string for lock free debugging.
Browse files Browse the repository at this point in the history
  • Loading branch information
Mark Kendall committed Jun 4, 2011
1 parent 6405d87 commit 933cd94
Show file tree
Hide file tree
Showing 6 changed files with 8 additions and 2 deletions.
1 change: 1 addition & 0 deletions mythtv/libs/libmythtv/bdringbuffer.cpp
Expand Up @@ -273,6 +273,7 @@ void BDRingBuffer::ProgressUpdate(void)

bool BDRingBuffer::OpenFile(const QString &lfilename, uint retry_ms)
{
safefilename = lfilename;
filename = lfilename;

VERBOSE(VB_IMPORTANT, LOC + QString("Opened BDRingBuffer device at %1")
Expand Down
1 change: 1 addition & 0 deletions mythtv/libs/libmythtv/dvdringbuffer.cpp
Expand Up @@ -303,6 +303,7 @@ bool DVDRingBuffer::OpenFile(const QString &lfilename, uint retry_ms)
if (m_dvdnav)
CloseDVD();

safefilename = lfilename;
filename = lfilename;
QByteArray fname = filename.toLocal8Bit();

Expand Down
1 change: 1 addition & 0 deletions mythtv/libs/libmythtv/fileringbuffer.cpp
Expand Up @@ -45,6 +45,7 @@ FileRingBuffer::FileRingBuffer(const QString &lfilename,
bool write, bool readahead, int timeout_ms)
{
startreadahead = readahead;
safefilename = lfilename;
filename = lfilename;

if (write)
Expand Down
2 changes: 1 addition & 1 deletion mythtv/libs/libmythtv/ringbuffer.cpp
Expand Up @@ -171,7 +171,7 @@ RingBuffer::RingBuffer(void) :
readpos(0), writepos(0),
internalreadpos(0), ignorereadpos(-1),
rbrpos(0), rbwpos(0),
stopreads(false),
stopreads(false), safefilename(QString()),
filename(), subtitlefilename(),
tfw(NULL), fd2(-1),
writemode(false), remotefile(NULL),
Expand Down
4 changes: 3 additions & 1 deletion mythtv/libs/libmythtv/ringbuffer.h
Expand Up @@ -49,6 +49,7 @@ class MTV_PUBLIC RingBuffer : protected QThread
void EnableBitrateMonitor(bool enable) { bitrateMonitorEnabled = enable; }

// Gets
QString GetSafeFilename(void) { return safefilename; }
QString GetFilename(void) const;
QString GetSubtitleFilename(void) const;
/// Returns value of stopreads
Expand All @@ -69,6 +70,7 @@ class MTV_PUBLIC RingBuffer : protected QThread
virtual bool IsOpen(void) const = 0;
virtual bool IsStreamed(void) { return LiveMode(); }
virtual int BestBufferSize(void) { return 32768; }
static QString BitrateToString(uint64_t rate);

// DVD and bluray methods
bool IsDisc(void) const { return IsDVD() || IsBD(); }
Expand Down Expand Up @@ -154,7 +156,6 @@ class MTV_PUBLIC RingBuffer : protected QThread
void ResetReadAhead(long long newinternal);
void KillReadAheadThread(void);

static QString BitrateToString(uint64_t rate);
uint64_t UpdateDecoderRate(uint64_t latest = 0);
uint64_t UpdateStorageRate(uint64_t latest = 0);

Expand All @@ -175,6 +176,7 @@ class MTV_PUBLIC RingBuffer : protected QThread

mutable QReadWriteLock rwlock;

QString safefilename; // unprotected (for debugging)
QString filename; // protected by rwlock
QString subtitlefilename; // protected by rwlock

Expand Down
1 change: 1 addition & 0 deletions mythtv/libs/libmythtv/streamingringbuffer.cpp
Expand Up @@ -31,6 +31,7 @@ bool StreamingRingBuffer::OpenFile(const QString &lfilename, uint retry_ms)
{
av_register_all();

safefilename = lfilename;
filename = lfilename;
VERBOSE(VB_GENERAL, LOC + QString("Trying %1").arg(filename));

Expand Down

0 comments on commit 933cd94

Please sign in to comment.