aboutsummaryrefslogtreecommitdiffstats
path: root/alc/backends/alsa.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'alc/backends/alsa.cpp')
-rw-r--r--alc/backends/alsa.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/alc/backends/alsa.cpp b/alc/backends/alsa.cpp
index a011d720..3298f157 100644
--- a/alc/backends/alsa.cpp
+++ b/alc/backends/alsa.cpp
@@ -493,7 +493,7 @@ int AlsaPlayback::mixerProc()
avail -= avail%update_size;
// it is possible that contiguous areas are smaller, thus we use a loop
- std::lock_guard<AlsaPlayback> _{*this};
+ std::lock_guard<std::recursive_mutex> _{mMutex};
while(avail > 0)
{
snd_pcm_uframes_t frames{avail};
@@ -573,9 +573,9 @@ int AlsaPlayback::mixerNoMMapProc()
continue;
}
- std::lock_guard<AlsaPlayback> _{*this};
al::byte *WritePtr{mBuffer.data()};
avail = snd_pcm_bytes_to_frames(mPcmHandle, static_cast<ssize_t>(mBuffer.size()));
+ std::lock_guard<std::recursive_mutex> _{mMutex};
aluMixData(mDevice, WritePtr, static_cast<ALuint>(avail), frame_step);
while(avail > 0)
{
@@ -848,7 +848,7 @@ ClockLatency AlsaPlayback::getClockLatency()
{
ClockLatency ret;
- std::lock_guard<AlsaPlayback> _{*this};
+ std::lock_guard<std::recursive_mutex> _{mMutex};
ret.ClockTime = GetDeviceClockTime(mDevice);
snd_pcm_sframes_t delay{};
int err{snd_pcm_delay(mPcmHandle, &delay)};
@@ -1168,7 +1168,7 @@ ClockLatency AlsaCapture::getClockLatency()
{
ClockLatency ret;
- std::lock_guard<AlsaCapture> _{*this};
+ std::lock_guard<std::recursive_mutex> _{mMutex};
ret.ClockTime = GetDeviceClockTime(mDevice);
snd_pcm_sframes_t delay{};
int err{snd_pcm_delay(mPcmHandle, &delay)};