valgrind optimizations

This commit is contained in:
badaix 2015-08-12 22:04:55 +02:00
parent 063ed462f9
commit c8c3b0357e
4 changed files with 9 additions and 9 deletions

View file

@ -124,7 +124,7 @@ void ControlServer::onMessageReceived(ServerSession* connection, const msg::Base
void ControlServer::startAccept() void ControlServer::startAccept()
{ {
socket_ptr socket(new tcp::socket(io_service_)); socket_ptr socket = make_shared<tcp::socket>(io_service_);
acceptor_->async_accept(*socket, bind(&ControlServer::handleAccept, this, socket)); 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_RCVTIMEO, &tv, sizeof(tv));
setsockopt(socket->native(), SOL_SOCKET, SO_SNDTIMEO, &tv, sizeof(tv)); setsockopt(socket->native(), SOL_SOCKET, SO_SNDTIMEO, &tv, sizeof(tv));
logS(kLogNotice) << "ControlServer::NewConnection: " << socket->remote_endpoint().address().to_string() << endl; logS(kLogNotice) << "ControlServer::NewConnection: " << socket->remote_endpoint().address().to_string() << endl;
shared_ptr<ServerSession> session(new ServerSession(this, socket)); shared_ptr<ServerSession> session = make_shared<ServerSession>(this, socket);
{ {
std::unique_lock<std::mutex> mlock(mutex_); std::unique_lock<std::mutex> mlock(mutex_);
session->setBufferMs(settings_.bufferMs); session->setBufferMs(settings_.bufferMs);
@ -152,7 +152,7 @@ void ControlServer::start()
{ {
pipeReader_ = new PipeReader(this, settings_.sampleFormat, settings_.codec, settings_.fifoName); pipeReader_ = new PipeReader(this, settings_.sampleFormat, settings_.codec, settings_.fifoName);
pipeReader_->start(); pipeReader_->start();
acceptor_ = shared_ptr<tcp::acceptor>(new tcp::acceptor(io_service_, tcp::endpoint(tcp::v4(), settings_.port))); acceptor_ = make_shared<tcp::acceptor>(io_service_, tcp::endpoint(tcp::v4(), settings_.port));
startAccept(); startAccept();
acceptThread_ = thread(&ControlServer::acceptor, this); acceptThread_ = thread(&ControlServer::acceptor, this);
} }

View file

@ -93,7 +93,7 @@ void FlacEncoder::encode(const msg::PcmChunk* chunk)
// logO << "encoded: " << chunk->payloadSize << "\tframes: " << encodedSamples_ << "\tres: " << resMs << "\n"; // logO << "encoded: " << chunk->payloadSize << "\tframes: " << encodedSamples_ << "\tres: " << resMs << "\n";
encodedSamples_ = 0; encodedSamples_ = 0;
listener_->onChunkEncoded(this, flacChunk_, resMs); listener_->onChunkEncoded(this, flacChunk_, resMs);
flacChunk_ = new msg::PcmChunk(); flacChunk_ = new msg::PcmChunk(chunk->format, 0);
} }
} }

View file

@ -175,13 +175,13 @@ void ServerSession::writer()
{ {
if (bufferMs_ > 0) if (bufferMs_ > 0)
{ {
const msg::PcmChunk* pcmChunk = dynamic_cast<const msg::PcmChunk*>(message.get()); const msg::WireChunk* wireChunk = dynamic_cast<const msg::WireChunk*>(message.get());
if (pcmChunk != NULL) if (wireChunk != NULL)
{ {
chronos::time_point_hrc now = chronos::hrc::now(); chronos::time_point_hrc now = chronos::hrc::now();
size_t age = 0; size_t age = 0;
if (now > pcmChunk->start()) if (now > wireChunk->start())
age = std::chrono::duration_cast<chronos::msec>(now - pcmChunk->start()).count(); age = std::chrono::duration_cast<chronos::msec>(now - wireChunk->start()).count();
//logD << "PCM chunk. Age: " << age << ", buffer: " << bufferMs_ << ", age > buffer: " << (age > bufferMs_) << "\n"; //logD << "PCM chunk. Age: " << age << ", buffer: " << bufferMs_ << ", age > buffer: " << (age > bufferMs_) << "\n";
if (age > bufferMs_) if (age > bufferMs_)
continue; continue;

View file

@ -121,7 +121,7 @@ int main(int argc, char* argv[])
if (settings.bufferMs < 400) if (settings.bufferMs < 400)
settings.bufferMs = 400; settings.bufferMs = 400;
settings.sampleFormat = sampleFormat; settings.sampleFormat = sampleFormat;
ControlServer* controlServer = new ControlServer(settings); std::unique_ptr<ControlServer> controlServer(new ControlServer(settings));
controlServer->start(); controlServer->start();
while (!g_terminated) while (!g_terminated)