Browse Source

Cleanup loopback stuff in server.

git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@3531 0c269be4-1314-0410-8aa9-9f06e86f4224
tags/v1.9.3
sletz 16 years ago
parent
commit
3482655f46
6 changed files with 14 additions and 40 deletions
  1. +4
    -0
      ChangeLog
  2. +6
    -25
      common/JackControlAPI.cpp
  3. +1
    -3
      common/JackServer.cpp
  4. +1
    -2
      common/JackServer.h
  5. +2
    -9
      common/JackServerGlobals.cpp
  6. +0
    -1
      common/JackServerGlobals.h

+ 4
- 0
ChangeLog View File

@@ -25,6 +25,10 @@ Paul Davis
Jackdmp changes log
---------------------------

2009-05-07 Stephane Letz <letz@grame.fr>
* Cleanup "loopback" stuff in server.

2009-05-06 Stephane Letz <letz@grame.fr>
* Fix transport callback (timebase master, sync) issue when used after jack_activate (RT thread was not running).


+ 6
- 25
common/JackControlAPI.cpp View File

@@ -77,10 +77,6 @@ struct jackctl_server
/* int32_t, msecs; if zero, use period size. */
union jackctl_parameter_value client_timeout;
union jackctl_parameter_value default_client_timeout;

/* uint32_t, ports of the loopback driver */
union jackctl_parameter_value loopback_ports;
union jackctl_parameter_value default_loopback_ports;
/* uint32_t, clock source type */
union jackctl_parameter_value clock_source;
@@ -643,7 +639,7 @@ EXPORT jackctl_server_t * jackctl_server_create()
if (jackctl_add_parameter(
&server_ptr->parameters,
"name",
"server name to use",
"Server name to use.",
"",
JackParamString,
&server_ptr->name,
@@ -657,7 +653,7 @@ EXPORT jackctl_server_t * jackctl_server_create()
if (jackctl_add_parameter(
&server_ptr->parameters,
"realtime",
"Whether to use realtime mode",
"Whether to use realtime mode.",
"Use realtime scheduling. This is needed for reliable low-latency performance. On most systems, it requires JACK to run with special scheduler and memory allocation privileges, which may be obtained in several ways. On Linux you should use PAM.",
JackParamBool,
&server_ptr->realtime,
@@ -714,7 +710,7 @@ EXPORT jackctl_server_t * jackctl_server_create()
if (jackctl_add_parameter(
&server_ptr->parameters,
"client-timeout",
"Client timeout limit in milliseconds",
"Client timeout limit in milliseconds.",
"",
JackParamInt,
&server_ptr->client_timeout,
@@ -724,25 +720,11 @@ EXPORT jackctl_server_t * jackctl_server_create()
goto fail_free_parameters;
}

value.ui = 0;
if (jackctl_add_parameter(
&server_ptr->parameters,
"loopback-ports",
"Number of loopback ports",
"",
JackParamUInt,
&server_ptr->loopback_ports,
&server_ptr->default_loopback_ports,
value) == NULL)
{
goto fail_free_parameters;
}
value.ui = 0;
if (jackctl_add_parameter(
&server_ptr->parameters,
"clock-source",
"Clocksource type : c(ycle) | h(pet) | s(ystem)",
"Clocksource type : c(ycle) | h(pet) | s(ystem).",
"",
JackParamUInt,
&server_ptr->clock_source,
@@ -756,7 +738,7 @@ EXPORT jackctl_server_t * jackctl_server_create()
if (jackctl_add_parameter(
&server_ptr->parameters,
"replace-registry",
"Replace registry",
"Replace shared memory registry.",
"",
JackParamBool,
&server_ptr->replace_registry,
@@ -770,7 +752,7 @@ EXPORT jackctl_server_t * jackctl_server_create()
if (jackctl_add_parameter(
&server_ptr->parameters,
"sync",
"Use synchronous mode",
"Use server synchronous mode.",
"",
JackParamBool,
&server_ptr->sync,
@@ -880,7 +862,6 @@ jackctl_server_start(
server_ptr->client_timeout.i,
server_ptr->realtime.b,
server_ptr->realtime_priority.i,
server_ptr->loopback_ports.ui,
server_ptr->verbose.b,
(jack_timer_type_t)server_ptr->clock_source.ui,
server_ptr->name.str);


+ 1
- 3
common/JackServer.cpp View File

@@ -22,7 +22,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#include "JackServerGlobals.h"
#include "JackTime.h"
#include "JackFreewheelDriver.h"
#include "JackLoopbackDriver.h"
#include "JackDummyDriver.h"
#include "JackThreadedDriver.h"
#include "JackGlobals.h"
@@ -39,7 +38,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
namespace Jack
{

JackServer::JackServer(bool sync, bool temporary, long timeout, bool rt, long priority, long loopback, bool verbose, jack_timer_type_t clock, const char* server_name)
JackServer::JackServer(bool sync, bool temporary, long timeout, bool rt, long priority, bool verbose, jack_timer_type_t clock, const char* server_name)
{
if (rt) {
jack_info("JACK server starting in realtime mode with priority %ld", priority);
@@ -54,7 +53,6 @@ JackServer::JackServer(bool sync, bool temporary, long timeout, bool rt, long pr
fDriverInfo = new JackDriverInfo();
fAudioDriver = NULL;
fFreewheel = false;
fLoopback = loopback;
JackServerGlobals::fInstance = this; // Unique instance
JackServerGlobals::fUserCount = 1; // One user
jack_verbose = verbose;


+ 1
- 2
common/JackServer.h View File

@@ -57,13 +57,12 @@ class SERVER_EXPORT JackServer
JackConnectionManager fConnectionState;
JackSynchro fSynchroTable[CLIENT_NUM];
bool fFreewheel;
long fLoopback;
int InternalClientLoadAux(JackLoadableInternalClient* client, const char* so_name, const char* client_name, int options, int* int_ref, int* status);

public:

JackServer(bool sync, bool temporary, long timeout, bool rt, long priority, long loopback, bool verbose, jack_timer_type_t clock, const char* server_name);
JackServer(bool sync, bool temporary, long timeout, bool rt, long priority, bool verbose, jack_timer_type_t clock, const char* server_name);
~JackServer();

int Open(jack_driver_desc_t* driver_desc, JSList* driver_params);


+ 2
- 9
common/JackServerGlobals.cpp View File

@@ -39,12 +39,11 @@ int JackServerGlobals::Start(const char* server_name,
int time_out_ms,
int rt,
int priority,
int loopback,
int verbose,
jack_timer_type_t clock)
{
jack_log("Jackdmp: sync = %ld timeout = %ld rt = %ld priority = %ld verbose = %ld ", sync, time_out_ms, rt, priority, verbose);
new JackServer(sync, temporary, time_out_ms, rt, priority, loopback, verbose, clock, server_name); // Will setup fInstance and fUserCount globals
new JackServer(sync, temporary, time_out_ms, rt, priority, verbose, clock, server_name); // Will setup fInstance and fUserCount globals
int res = fInstance->Open(driver_desc, driver_params);
return (res < 0) ? res : fInstance->Start();
}
@@ -71,7 +70,6 @@ bool JackServerGlobals::Init()
int verbose_aux = 0;
int do_mlock = 1;
unsigned int port_max = 128;
int loopback = 0;
int do_unlock = 0;
int temporary = 0;

@@ -112,7 +110,6 @@ bool JackServerGlobals::Init()
{ "name", 0, 0, 'n' },
{ "unlock", 0, 0, 'u' },
{ "realtime", 0, 0, 'R' },
{ "loopback", 0, 0, 'L' },
{ "realtime-priority", 1, 0, 'P' },
{ "timeout", 1, 0, 't' },
{ "temporary", 0, 0, 'T' },
@@ -204,10 +201,6 @@ bool JackServerGlobals::Init()
realtime = 1;
break;

case 'L':
loopback = atoi(optarg);
break;

case 'T':
temporary = 1;
break;
@@ -296,7 +289,7 @@ bool JackServerGlobals::Init()
free(argv[i]);
}

int res = Start(server_name, driver_desc, driver_params, sync, temporary, client_timeout, realtime, realtime_priority, loopback, verbose_aux, clock_source);
int res = Start(server_name, driver_desc, driver_params, sync, temporary, client_timeout, realtime, realtime_priority, verbose_aux, clock_source);
if (res < 0) {
jack_error("Cannot start server... exit");
Delete();


+ 0
- 1
common/JackServerGlobals.h View File

@@ -52,7 +52,6 @@ struct SERVER_EXPORT JackServerGlobals
int time_out_ms,
int rt,
int priority,
int loopback,
int verbose,
jack_timer_type_t clock);
static void Stop();


Loading…
Cancel
Save