1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-06-25 04:53:27 -04:00

Audio in/out mutex corrections

This commit is contained in:
f4exb
2018-01-06 06:12:30 +01:00
parent 515bc1a04e
commit f60f418f1b
2 changed files with 6 additions and 9 deletions
+3 -5
View File
@@ -22,7 +22,7 @@
#include "audio/audiofifo.h"
AudioInput::AudioInput() :
m_mutex(),
m_mutex(QMutex::Recursive),
m_audioInput(0),
m_audioUsageCount(0),
m_onExit(false),
@@ -47,10 +47,9 @@ AudioInput::~AudioInput()
bool AudioInput::start(int device, int rate)
{
QMutexLocker mutexLocker(&m_mutex);
if (m_audioUsageCount == 0)
{
QMutexLocker mutexLocker(&m_mutex);
QAudioDeviceInfo devInfo;
if (device < 0)
@@ -194,8 +193,6 @@ void AudioInput::stop()
{
qDebug("AudioInput::stop");
QMutexLocker mutexLocker(&m_mutex);
if (m_audioUsageCount > 0)
{
m_audioUsageCount--;
@@ -203,6 +200,7 @@ void AudioInput::stop()
if (m_audioUsageCount == 0)
{
qDebug("AudioInput::stop: effectively close QIODevice");
QMutexLocker mutexLocker(&m_mutex);
QIODevice::close();
if (!m_onExit) {
+3 -4
View File
@@ -23,7 +23,7 @@
#include "audio/audiofifo.h"
AudioOutput::AudioOutput() :
m_mutex(),
m_mutex(QMutex::Recursive),
m_audioOutput(0),
m_audioUsageCount(0),
m_onExit(false),
@@ -47,10 +47,10 @@ AudioOutput::~AudioOutput()
bool AudioOutput::start(int device, int rate)
{
QMutexLocker mutexLocker(&m_mutex);
if (m_audioUsageCount == 0)
{
QMutexLocker mutexLocker(&m_mutex);
QAudioDeviceInfo devInfo;
if (device < 0)
@@ -191,14 +191,13 @@ void AudioOutput::stop()
{
qDebug("AudioOutput::stop");
QMutexLocker mutexLocker(&m_mutex);
if (m_audioUsageCount > 0)
{
m_audioUsageCount--;
if (m_audioUsageCount == 0)
{
QMutexLocker mutexLocker(&m_mutex);
QIODevice::close();
if (!m_onExit) {