mirror of
https://github.com/badaix/snapcast.git
synced 2025-05-20 12:36:17 +02:00
Fix data race
This commit is contained in:
parent
8067394212
commit
e6872593ee
3 changed files with 11 additions and 5 deletions
|
@ -84,6 +84,7 @@ void StreamServer::onChunkEncoded(const PcmStream* pcmStream, bool isDefaultStre
|
|||
{
|
||||
if (!settings_.stream.sendAudioToMutedClients)
|
||||
{
|
||||
std::lock_guard<std::recursive_mutex> lock(clientMutex_);
|
||||
GroupPtr group = Config::instance().getGroupFromClient(session->clientId);
|
||||
if (group)
|
||||
{
|
||||
|
@ -93,7 +94,6 @@ void StreamServer::onChunkEncoded(const PcmStream* pcmStream, bool isDefaultStre
|
|||
}
|
||||
else
|
||||
{
|
||||
std::lock_guard<std::recursive_mutex> lock(clientMutex_);
|
||||
ClientInfoPtr client = group->getClient(session->clientId);
|
||||
if (client && client->config.volume.muted)
|
||||
continue;
|
||||
|
|
|
@ -38,12 +38,14 @@ StreamSession::StreamSession(net::any_io_executor executor, StreamMessageReceive
|
|||
|
||||
void StreamSession::setPcmStream(PcmStreamPtr pcmStream)
|
||||
{
|
||||
std::lock_guard<std::mutex> lock(mutex_);
|
||||
pcmStream_ = pcmStream;
|
||||
}
|
||||
|
||||
|
||||
const PcmStreamPtr StreamSession::pcmStream() const
|
||||
{
|
||||
std::lock_guard<std::mutex> lock(mutex_);
|
||||
return pcmStream_;
|
||||
}
|
||||
|
||||
|
|
|
@ -19,19 +19,22 @@
|
|||
#ifndef STREAM_SESSION_HPP
|
||||
#define STREAM_SESSION_HPP
|
||||
|
||||
#include "common/queue.h"
|
||||
#include "message/message.hpp"
|
||||
#include "streamreader/stream_manager.hpp"
|
||||
#include <atomic>
|
||||
#include <boost/asio.hpp>
|
||||
#include <condition_variable>
|
||||
#include <deque>
|
||||
#include <memory>
|
||||
#include <mutex>
|
||||
#include <set>
|
||||
#include <sstream>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include <boost/asio.hpp>
|
||||
|
||||
#include "common/queue.h"
|
||||
#include "message/message.hpp"
|
||||
#include "streamreader/stream_manager.hpp"
|
||||
|
||||
|
||||
using boost::asio::ip::tcp;
|
||||
namespace net = boost::asio;
|
||||
|
@ -159,6 +162,7 @@ protected:
|
|||
streamreader::PcmStreamPtr pcmStream_;
|
||||
net::strand<net::any_io_executor> strand_;
|
||||
std::deque<shared_const_buffer> messages_;
|
||||
mutable std::mutex mutex_;
|
||||
};
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue