diff --git a/server/controlServer.cpp b/server/controlServer.cpp index 5bcd1a9c..1a0618f7 100644 --- a/server/controlServer.cpp +++ b/server/controlServer.cpp @@ -124,7 +124,7 @@ void ControlServer::onMessageReceived(ServerSession* connection, const msg::Base void ControlServer::startAccept() { - socket_ptr socket(new tcp::socket(io_service_)); + socket_ptr socket = make_shared(io_service_); acceptor_->async_accept(*socket, bind(&ControlServer::handleAccept, this, socket)); } @@ -137,7 +137,7 @@ void ControlServer::handleAccept(socket_ptr socket) setsockopt(socket->native(), SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof(tv)); setsockopt(socket->native(), SOL_SOCKET, SO_SNDTIMEO, &tv, sizeof(tv)); logS(kLogNotice) << "ControlServer::NewConnection: " << socket->remote_endpoint().address().to_string() << endl; - shared_ptr session(new ServerSession(this, socket)); + shared_ptr session = make_shared(this, socket); { std::unique_lock mlock(mutex_); session->setBufferMs(settings_.bufferMs); @@ -152,7 +152,7 @@ void ControlServer::start() { pipeReader_ = new PipeReader(this, settings_.sampleFormat, settings_.codec, settings_.fifoName); pipeReader_->start(); - acceptor_ = shared_ptr(new tcp::acceptor(io_service_, tcp::endpoint(tcp::v4(), settings_.port))); + acceptor_ = make_shared(io_service_, tcp::endpoint(tcp::v4(), settings_.port)); startAccept(); acceptThread_ = thread(&ControlServer::acceptor, this); } diff --git a/server/encoder/flacEncoder.cpp b/server/encoder/flacEncoder.cpp index ec67d0d5..424e164e 100644 --- a/server/encoder/flacEncoder.cpp +++ b/server/encoder/flacEncoder.cpp @@ -93,7 +93,7 @@ void FlacEncoder::encode(const msg::PcmChunk* chunk) // logO << "encoded: " << chunk->payloadSize << "\tframes: " << encodedSamples_ << "\tres: " << resMs << "\n"; encodedSamples_ = 0; listener_->onChunkEncoded(this, flacChunk_, resMs); - flacChunk_ = new msg::PcmChunk(); + flacChunk_ = new msg::PcmChunk(chunk->format, 0); } } diff --git a/server/serverSession.cpp b/server/serverSession.cpp index 56ebe6f6..68c5e745 100644 --- a/server/serverSession.cpp +++ b/server/serverSession.cpp @@ -175,13 +175,13 @@ void ServerSession::writer() { if (bufferMs_ > 0) { - const msg::PcmChunk* pcmChunk = dynamic_cast(message.get()); - if (pcmChunk != NULL) + const msg::WireChunk* wireChunk = dynamic_cast(message.get()); + if (wireChunk != NULL) { chronos::time_point_hrc now = chronos::hrc::now(); size_t age = 0; - if (now > pcmChunk->start()) - age = std::chrono::duration_cast(now - pcmChunk->start()).count(); + if (now > wireChunk->start()) + age = std::chrono::duration_cast(now - wireChunk->start()).count(); //logD << "PCM chunk. Age: " << age << ", buffer: " << bufferMs_ << ", age > buffer: " << (age > bufferMs_) << "\n"; if (age > bufferMs_) continue; diff --git a/server/snapServer.cpp b/server/snapServer.cpp index fffcf144..9eb9b841 100644 --- a/server/snapServer.cpp +++ b/server/snapServer.cpp @@ -121,7 +121,7 @@ int main(int argc, char* argv[]) if (settings.bufferMs < 400) settings.bufferMs = 400; settings.sampleFormat = sampleFormat; - ControlServer* controlServer = new ControlServer(settings); + std::unique_ptr controlServer(new ControlServer(settings)); controlServer->start(); while (!g_terminated)