21 #include "JackDummyDriver.h"    22 #include "JackDriverLoader.h"    23 #include "JackThreadedDriver.h"    24 #include "JackCompilerDeps.h"    40         desc = jack_driver_descriptor_construct(
"dummy", JackDriverMaster, 
"Timer based backend", &filler);
    43         jack_driver_descriptor_add_parameter(desc, &filler, 
"capture", 
'C', JackDriverParamUInt, &value, NULL, 
"Number of capture ports", NULL);
    44         jack_driver_descriptor_add_parameter(desc, &filler, 
"playback", 
'P', JackDriverParamUInt, &value, NULL, 
"Number of playback ports", NULL);
    47         jack_driver_descriptor_add_parameter(desc, &filler, 
"rate", 
'r', JackDriverParamUInt, &value, NULL, 
"Sample rate", NULL);
    50         jack_driver_descriptor_add_parameter(desc, &filler, 
"monitor", 
'm', JackDriverParamBool, &value, NULL, 
"Provide monitor ports for the output", NULL);
    53         jack_driver_descriptor_add_parameter(desc, &filler, 
"period", 
'p', JackDriverParamUInt, &value, NULL, 
"Frames per period", NULL);
    56         jack_driver_descriptor_add_parameter(desc, &filler, 
"wait", 
'w', JackDriverParamUInt, &value, NULL, 
"Number of usecs to wait between engine processes", NULL);
    62         jack_nframes_t sample_rate = 48000;
    63         jack_nframes_t buffer_size = 1024;
    64         unsigned int capture_ports = 2;
    65         unsigned int playback_ports = 2;
    71         for (node = params; node; node = jack_slist_next (node)) {
    74             switch (param->character) {
    77                     capture_ports = param->value.ui;
    81                     playback_ports = param->value.ui;
    85                     sample_rate = param->value.ui;
    89                     buffer_size = param->value.ui;
    93                     wait_time = param->value.ui;
    97                     monitor = param->value.i;
   103             buffer_size = lroundf((
float(wait_time) * 
float(sample_rate)) / 1000000.0f);
   106         if (buffer_size > BUFFER_SIZE_MAX) {
   107             buffer_size = BUFFER_SIZE_MAX;
   108             jack_error(
"Buffer size set to %d", BUFFER_SIZE_MAX);
   112         if (driver->Open(buffer_size, sample_rate, 1, 1, capture_ports, playback_ports, monitor, 
"dummy", 
"dummy", 0, 0) == 0) {
 The base class for threaded drivers using a "decorator" pattern. Threaded drivers are used with block...
Locked Engine, access to methods is serialized using a mutex.
Inter process synchronization using POSIX semaphore.
SERVER_EXPORT void jack_error(const char *fmt,...)
The base interface for drivers clients.