summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/broadcast/broadcastmanager.cpp6
-rw-r--r--src/broadcast/broadcastmanager.h2
-rw-r--r--src/engine/sidechain/enginenetworkstream.cpp11
-rw-r--r--src/engine/sidechain/enginenetworkstream.h4
4 files changed, 11 insertions, 12 deletions
diff --git a/src/broadcast/broadcastmanager.cpp b/src/broadcast/broadcastmanager.cpp
index aa4f58df15..8a2f0560bf 100644
--- a/src/broadcast/broadcastmanager.cpp
+++ b/src/broadcast/broadcastmanager.cpp
@@ -13,9 +13,10 @@ BroadcastManager::BroadcastManager(SettingsManager* pSettingsManager,
pSoundManager->getNetworkStream();
if (!pNetworkStream.isNull()) {
- m_pBroadcast = new EngineBroadcast(m_pConfig,
+ m_pBroadcast = QSharedPointer<EngineBroadcast>(
+ new EngineBroadcast(m_pConfig,
pSettingsManager->broadcastSettings(),
- pNetworkStream->getNumOutputChannels());
+ pNetworkStream->getNumOutputChannels()));
pNetworkStream->addWorker(m_pBroadcast);
}
@@ -27,7 +28,6 @@ BroadcastManager::BroadcastManager(SettingsManager* pSettingsManager,
BroadcastManager::~BroadcastManager() {
// Disable broadcast so when Mixxx starts again it will not connect.
m_pBroadcastEnabled->set(0);
- delete m_pBroadcast;
}
void BroadcastManager::setEnabled(bool value) {
diff --git a/src/broadcast/broadcastmanager.h b/src/broadcast/broadcastmanager.h
index 877865a6f6..6d19ac61f9 100644
--- a/src/broadcast/broadcastmanager.h
+++ b/src/broadcast/broadcastmanager.h
@@ -32,7 +32,7 @@ class BroadcastManager : public QObject {
private:
UserSettingsPointer m_pConfig;
- EngineBroadcast* m_pBroadcast;
+ QSharedPointer<EngineBroadcast> m_pBroadcast;
ControlProxy* m_pBroadcastEnabled;
};
diff --git a/src/engine/sidechain/enginenetworkstream.cpp b/src/engine/sidechain/enginenetworkstream.cpp
index 36a793a763..4afc76b56c 100644
--- a/src/engine/sidechain/enginenetworkstream.cpp
+++ b/src/engine/sidechain/enginenetworkstream.cpp
@@ -39,8 +39,7 @@ EngineNetworkStream::EngineNetworkStream(int numOutputChannels,
m_streamStartTimeUs(-1),
m_streamFramesWritten(0),
m_streamFramesRead(0),
- m_writeOverflowCount(0),
- m_pWorker(nullptr) {
+ m_writeOverflowCount(0) {
if (numOutputChannels) {
m_pOutputFifo = new FIFO<CSAMPLE>(numOutputChannels * kBufferFrames);
}
@@ -91,7 +90,7 @@ int EngineNetworkStream::getReadExpected() {
}
void EngineNetworkStream::write(const CSAMPLE* buffer, int frames) {
- if (!m_pWorker) {
+ if (m_pWorker.isNull()) {
return;
}
@@ -121,7 +120,7 @@ void EngineNetworkStream::write(const CSAMPLE* buffer, int frames) {
}
void EngineNetworkStream::writeSilence(int frames) {
- if (!m_pWorker) {
+ if (m_pWorker.isNull()) {
return;
}
//qDebug() << "EngineNetworkStream::writeSilence()" << frames;
@@ -158,7 +157,7 @@ void EngineNetworkStream::writeSilence(int frames) {
void EngineNetworkStream::writingDone(int interval) {
// Signal worker if any
- if (!m_pWorker) {
+ if (m_pWorker.isNull()) {
return;
}
// Check for desired kNetworkLatencyFrames + 1/2 interval to
@@ -246,7 +245,7 @@ qint64 EngineNetworkStream::getNetworkTimeUs() {
#endif
}
-void EngineNetworkStream::addWorker(NetworkStreamWorker* pWorker) {
+void EngineNetworkStream::addWorker(QSharedPointer<NetworkStreamWorker> pWorker) {
m_pWorker = pWorker;
if (m_pWorker) {
m_pWorker->setOutputFifo(m_pOutputFifo);
diff --git a/src/engine/sidechain/enginenetworkstream.h b/src/engine/sidechain/enginenetworkstream.h
index 92c29d9705..5d346128ad 100644
--- a/src/engine/sidechain/enginenetworkstream.h
+++ b/src/engine/sidechain/enginenetworkstream.h
@@ -36,7 +36,7 @@ class EngineNetworkStream {
static qint64 getNetworkTimeUs();
- void addWorker(NetworkStreamWorker* pWorker);
+ void addWorker(QSharedPointer<NetworkStreamWorker> pWorker);
private:
@@ -48,7 +48,7 @@ class EngineNetworkStream {
qint64 m_streamStartTimeUs;
qint64 m_streamFramesWritten;
qint64 m_streamFramesRead;
- NetworkStreamWorker* m_pWorker;
+ QSharedPointer<NetworkStreamWorker> m_pWorker;
int m_writeOverflowCount;
};