Add load button for SPL.
[dcpomatic.git] / src / lib / encode_server.cc
index 332c7ab46d34c858a5ee60e78415b6fe7abd293d..2603732c890041ff45fb6a0b356d640427e74aca 100644 (file)
@@ -41,6 +41,9 @@
 #include <boost/algorithm/string.hpp>
 #include <boost/scoped_array.hpp>
 #include <boost/foreach.hpp>
+#ifdef HAVE_VALGRIND_H
+#include <valgrind/memcheck.h>
+#endif
 #include <string>
 #include <vector>
 #include <iostream>
@@ -68,7 +71,11 @@ using dcp::Data;
 using dcp::raw_convert;
 
 EncodeServer::EncodeServer (shared_ptr<Log> log, bool verbose, int num_threads)
+#if !defined(RUNNING_ON_VALGRIND) || RUNNING_ON_VALGRIND == 0
        : Server (ENCODE_FRAME_PORT)
+#else
+       : Server (ENCODE_FRAME_PORT, 2400)
+#endif
        , _log (log)
        , _verbose (verbose)
        , _num_threads (num_threads)
@@ -229,10 +236,17 @@ EncodeServer::run ()
        }
 
        for (int i = 0; i < _num_threads; ++i) {
-               _worker_threads.push_back (new thread (bind (&EncodeServer::worker_thread, this)));
+               thread* t = new thread (bind (&EncodeServer::worker_thread, this));
+#ifdef DCPOMATIC_LINUX
+               pthread_setname_np (t->native_handle(), "encode-server-worker");
+#endif
+               _worker_threads.push_back (t);
        }
 
        _broadcast.thread = new thread (bind (&EncodeServer::broadcast_thread, this));
+#ifdef DCPOMATIC_LINUX
+       pthread_setname_np (_broadcast.thread->native_handle(), "encode-server-broadcast");
+#endif
 
        Server::run ();
 }