Ongoing work on latency compensation
[ardour.git] / libs / ardour / worker.cc
index 0a5971fa3e22b934bcafbeae0bc79a789ed9406a..024ec8b6add2ceed20baa07e43ebbb5fb501d125 100644 (file)
@@ -22,6 +22,7 @@
 
 #include "ardour/worker.h"
 #include "pbd/error.h"
+#include "pbd/compose.h"
 
 #include <glibmm/timer.h>
 
@@ -29,10 +30,10 @@ namespace ARDOUR {
 
 Worker::Worker(Workee* workee, uint32_t ring_size, bool threaded)
        : _workee(workee)
-       , _requests(threaded ? new RingBuffer<uint8_t>(ring_size) : NULL)
-       , _responses(new RingBuffer<uint8_t>(ring_size))
+       , _requests(threaded ? new PBD::RingBuffer<uint8_t>(ring_size) : NULL)
+       , _responses(new PBD::RingBuffer<uint8_t>(ring_size))
        , _response((uint8_t*)malloc(ring_size))
-       , _sem("worker_semaphore", 0)
+       , _sem(string_compose ("worker_semaphore%1", this).c_str(), 0)
        , _thread(NULL)
        , _exit(false)
        , _synchronous(!threaded)
@@ -91,11 +92,11 @@ Worker::respond(uint32_t size, const void* data)
 }
 
 bool
-Worker::verify_message_completeness(RingBuffer<uint8_t>* rb)
+Worker::verify_message_completeness(PBD::RingBuffer<uint8_t>* rb)
 {
        uint32_t read_space = rb->read_space();
        uint32_t size;
-       RingBuffer<uint8_t>::rw_vector vec;
+       PBD::RingBuffer<uint8_t>::rw_vector vec;
        rb->get_read_vector (&vec);
        if (vec.len[0] + vec.len[1] < sizeof(size)) {
                return false;