diff options
Diffstat (limited to 'src/plugins/General/rgscan/rgscanner.cpp')
| -rw-r--r-- | src/plugins/General/rgscan/rgscanner.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/plugins/General/rgscan/rgscanner.cpp b/src/plugins/General/rgscan/rgscanner.cpp index f40eeb599..a9c78adb8 100644 --- a/src/plugins/General/rgscan/rgscanner.cpp +++ b/src/plugins/General/rgscan/rgscanner.cpp @@ -30,6 +30,7 @@ RGScanner::RGScanner() m_peak = 0.; m_user_stop = false; m_is_running = false; + m_is_pending = false; m_has_values = false; m_handle = 0; m_decoder = 0; @@ -49,6 +50,7 @@ RGScanner::~RGScanner() bool RGScanner::prepare(const QString &url) { + m_is_pending = false; deinit(); m_url = url; QString name = m_url.section("/", -1); @@ -95,6 +97,7 @@ bool RGScanner::prepare(const QString &url) m_source = source; m_user_stop = false; m_has_values = false; + m_is_pending = true; return true; } @@ -105,11 +108,16 @@ void RGScanner::stop() m_mutex.unlock(); } -bool RGScanner::isRunning() +bool RGScanner::isRunning() const { return m_is_running; } +bool RGScanner::isPending() const +{ + return m_is_pending; +} + bool RGScanner::hasValues() const { return m_has_values; @@ -138,10 +146,14 @@ GainHandle_t *RGScanner::handle() void RGScanner::run() { if(m_user_stop) + { + m_is_pending = false; return; + } QString name = m_url.section("/", -1); qDebug("RGScanner: [%s] staring thread", qPrintable(name)); m_is_running = true; + m_is_pending = false; bool error = false; AudioParameters ap = m_decoder->audioParameters(); |
