@@ -85,26 +85,6 @@ int JackAudioDriver::Open(jack_nframes_t buffer_size, | |||
monitor, capture_driver_name, playback_driver_name, capture_latency, playback_latency); | |||
} | |||
int JackAudioDriver::Open(bool capturing, | |||
bool playing, | |||
int inchannels, | |||
int outchannels, | |||
bool monitor, | |||
const char* capture_driver_name, | |||
const char* playback_driver_name, | |||
jack_nframes_t capture_latency, | |||
jack_nframes_t playback_latency) | |||
{ | |||
fCaptureChannels = inchannels; | |||
fPlaybackChannels = outchannels; | |||
fWithMonitorPorts = monitor; | |||
memset(fCapturePortList, 0, sizeof(jack_port_id_t) * DRIVER_PORT_NUM); | |||
memset(fPlaybackPortList, 0, sizeof(jack_port_id_t) * DRIVER_PORT_NUM); | |||
memset(fMonitorPortList, 0, sizeof(jack_port_id_t) * DRIVER_PORT_NUM); | |||
return JackDriver::Open(capturing, playing, inchannels, outchannels, | |||
monitor, capture_driver_name, playback_driver_name, capture_latency, playback_latency); | |||
} | |||
void JackAudioDriver::UpdateLatencies() | |||
{ | |||
jack_latency_range_t input_range; | |||
@@ -174,7 +154,7 @@ int JackAudioDriver::Attach() | |||
jack_error("Cannot register monitor port for %s", name); | |||
return -1; | |||
} else { | |||
fMonitorPortList[i] = port_index; | |||
fMonitorPortList[i] = port_index; | |||
} | |||
} | |||
} | |||
@@ -69,16 +69,6 @@ class SERVER_EXPORT JackAudioDriver : public JackDriver | |||
jack_nframes_t capture_latency, | |||
jack_nframes_t playback_latency); | |||
virtual int Open(bool capturing, | |||
bool playing, | |||
int inchannels, | |||
int outchannels, | |||
bool monitor, | |||
const char* capture_driver_name, | |||
const char* playback_driver_name, | |||
jack_nframes_t capture_latency, | |||
jack_nframes_t playback_latency); | |||
virtual int Process(); | |||
virtual int Attach(); | |||
@@ -41,8 +41,7 @@ JackDriver::JackDriver(const char* name, const char* alias, JackLockedEngine* en | |||
:fCaptureChannels(0), | |||
fPlaybackChannels(0), | |||
fClientControl(name), | |||
fWithMonitorPorts(false) | |||
{ | |||
fWithMonitorPorts(false){ | |||
assert(strlen(name) < JACK_CLIENT_NAME_SIZE); | |||
fSynchroTable = table; | |||
strcpy(fAliasName, alias); | |||
@@ -52,20 +51,6 @@ JackDriver::JackDriver(const char* name, const char* alias, JackLockedEngine* en | |||
fDelayedUsecs = 0.f; | |||
fIsMaster = true; | |||
fIsRunning = false; | |||
} | |||
JackDriver::JackDriver() | |||
{ | |||
fSynchroTable = NULL; | |||
fEngine = NULL; | |||
fGraphManager = NULL; | |||
fBeginDateUst = 0; | |||
fDelayedUsecs = 0.f; | |||
fIsMaster = true; | |||
fIsRunning = false; | |||
fCaptureChannels = 0; | |||
fPlaybackChannels = 0; | |||
fWithMonitorPorts = false; | |||
} | |||
JackDriver::~JackDriver() | |||
@@ -90,53 +75,6 @@ int JackDriver::Open() | |||
return 0; | |||
} | |||
int JackDriver::Open(bool capturing, | |||
bool playing, | |||
int inchannels, | |||
int outchannels, | |||
bool monitor, | |||
const char* capture_driver_name, | |||
const char* playback_driver_name, | |||
jack_nframes_t capture_latency, | |||
jack_nframes_t playback_latency) | |||
{ | |||
jack_log("JackDriver::Open capture_driver_name = %s", capture_driver_name); | |||
jack_log("JackDriver::Open playback_driver_name = %s", playback_driver_name); | |||
int refnum = -1; | |||
char name_res[JACK_CLIENT_NAME_SIZE + 1]; | |||
int status; | |||
// Check name and possibly rename | |||
if (fEngine->ClientCheck(fClientControl.fName, -1, name_res, JACK_PROTOCOL_VERSION, (int)JackNullOption, (int*)&status) < 0) { | |||
jack_error("Client name = %s conflits with another running client", fClientControl.fName); | |||
return -1; | |||
} | |||
strcpy(fClientControl.fName, name_res); | |||
if (fEngine->ClientInternalOpen(fClientControl.fName, &refnum, &fEngineControl, &fGraphManager, this, false) != 0) { | |||
jack_error("Cannot allocate internal client for driver"); | |||
return -1; | |||
} | |||
fClientControl.fRefNum = refnum; | |||
fClientControl.fActive = true; | |||
fEngineControl->fDriverNum++; | |||
fCaptureLatency = capture_latency; | |||
fPlaybackLatency = playback_latency; | |||
assert(strlen(capture_driver_name) < JACK_CLIENT_NAME_SIZE); | |||
assert(strlen(playback_driver_name) < JACK_CLIENT_NAME_SIZE); | |||
strcpy(fCaptureDriverName, capture_driver_name); | |||
strcpy(fPlaybackDriverName, playback_driver_name); | |||
fEngineControl->UpdateTimeOut(); | |||
fGraphManager->DirectConnect(fClientControl.fRefNum, fClientControl.fRefNum); // Connect driver to itself for "sync" mode | |||
SetupDriverSync(fClientControl.fRefNum, false); | |||
return 0; | |||
} | |||
int JackDriver::Open(jack_nframes_t buffer_size, | |||
jack_nframes_t samplerate, | |||
bool capturing, | |||
@@ -170,8 +108,12 @@ int JackDriver::Open(jack_nframes_t buffer_size, | |||
fClientControl.fRefNum = refnum; | |||
fClientControl.fActive = true; | |||
fEngineControl->fDriverNum++; | |||
fEngineControl->fBufferSize = buffer_size; | |||
fEngineControl->fSampleRate = samplerate; | |||
if (buffer_size > 0) { | |||
fEngineControl->fBufferSize = buffer_size; | |||
} | |||
if (samplerate > 0) { | |||
fEngineControl->fSampleRate = samplerate; | |||
} | |||
fCaptureLatency = capture_latency; | |||
fPlaybackLatency = playback_latency; | |||
@@ -52,16 +52,6 @@ class SERVER_EXPORT JackDriverInterface | |||
virtual int Open() = 0; | |||
virtual int Open (bool capturing, | |||
bool playing, | |||
int inchannels, | |||
int outchannels, | |||
bool monitor, | |||
const char* capture_driver_name, | |||
const char* playback_driver_name, | |||
jack_nframes_t capture_latency, | |||
jack_nframes_t playback_latency) = 0; | |||
virtual int Open(jack_nframes_t buffer_size, | |||
jack_nframes_t samplerate, | |||
bool capturing, | |||
@@ -197,7 +187,6 @@ class SERVER_EXPORT JackDriver : public JackDriverClientInterface | |||
public: | |||
JackDriver(const char* name, const char* alias, JackLockedEngine* engine, JackSynchro* table); | |||
JackDriver(); | |||
virtual ~JackDriver(); | |||
void SetMaster(bool onoff); | |||
@@ -213,16 +202,6 @@ class SERVER_EXPORT JackDriver : public JackDriverClientInterface | |||
virtual int Open(); | |||
virtual int Open(bool capturing, | |||
bool playing, | |||
int inchannels, | |||
int outchannels, | |||
bool monitor, | |||
const char* capture_driver_name, | |||
const char* playback_driver_name, | |||
jack_nframes_t capture_latency, | |||
jack_nframes_t playback_latency); | |||
virtual int Open(jack_nframes_t buffer_size, | |||
jack_nframes_t samplerate, | |||
bool capturing, | |||
@@ -122,7 +122,7 @@ extern "C" | |||
} | |||
Jack::JackDriverClientInterface* driver = new Jack::JackLoopbackDriver(engine, table); | |||
if (driver->Open(1, 1, channels, channels, false, "loopback", "loopback", 0, 0) == 0) { | |||
if (driver->Open(0, 0, 1, 1, channels, channels, false, "loopback", "loopback", 0, 0) == 0) { | |||
return driver; | |||
} else { | |||
delete driver; | |||
@@ -51,7 +51,7 @@ int JackMidiDriver::Open(bool capturing, | |||
{ | |||
fCaptureChannels = inchannels; | |||
fPlaybackChannels = outchannels; | |||
return JackDriver::Open(capturing, playing, inchannels, outchannels, monitor, capture_driver_name, playback_driver_name, capture_latency, playback_latency); | |||
return JackDriver::Open(0, 0, capturing, playing, inchannels, outchannels, monitor, capture_driver_name, playback_driver_name, capture_latency, playback_latency); | |||
} | |||
int JackMidiDriver::Attach() | |||
@@ -363,7 +363,7 @@ namespace Jack | |||
if (active_ports == 0) { | |||
fSubPeriodSize = fPeriodSize; | |||
} else { | |||
jack_nframes_t period = (int) powf(2.f, (int)(log(float(fPacketSize) / (active_ports * sizeof(sample_t))) / log(2.))); | |||
jack_nframes_t period = int(powf(2.f, int(log(float(fPacketSize) / (active_ports * sizeof(sample_t))) / log(2.)))); | |||
fSubPeriodSize = (period > fPeriodSize) ? fPeriodSize : period; | |||
} | |||
@@ -404,7 +404,6 @@ namespace Jack | |||
return CheckPacket(cycle, sub_cycle); | |||
} | |||
int NetFloatAudioBuffer::RenderToNetwork(int sub_cycle, uint32_t port_num) | |||
{ | |||
int active_ports = 0; | |||
@@ -487,9 +486,9 @@ namespace Jack | |||
NetCeltAudioBuffer::NetCeltAudioBuffer(session_params_t* params, uint32_t nports, char* net_buffer, int kbps) | |||
:NetAudioBuffer(params, nports, net_buffer) | |||
{ | |||
fCeltMode = new CELTMode *[fNPorts]; | |||
fCeltEncoder = new CELTEncoder *[fNPorts]; | |||
fCeltDecoder = new CELTDecoder *[fNPorts]; | |||
fCeltMode = new CELTMode*[fNPorts]; | |||
fCeltEncoder = new CELTEncoder*[fNPorts]; | |||
fCeltDecoder = new CELTDecoder*[fNPorts]; | |||
memset(fCeltMode, 0, fNPorts * sizeof(CELTMode*)); | |||
memset(fCeltEncoder, 0, fNPorts * sizeof(CELTEncoder*)); | |||
@@ -724,9 +723,9 @@ namespace Jack | |||
NetOpusAudioBuffer::NetOpusAudioBuffer(session_params_t* params, uint32_t nports, char* net_buffer, int kbps) | |||
:NetAudioBuffer(params, nports, net_buffer) | |||
{ | |||
fOpusMode = new OpusCustomMode *[fNPorts]; | |||
fOpusEncoder = new OpusCustomEncoder *[fNPorts]; | |||
fOpusDecoder = new OpusCustomDecoder *[fNPorts]; | |||
fOpusMode = new OpusCustomMode*[fNPorts]; | |||
fOpusEncoder = new OpusCustomEncoder*[fNPorts]; | |||
fOpusDecoder = new OpusCustomDecoder*[fNPorts]; | |||
fCompressedSizesByte = new unsigned short [fNPorts]; | |||
memset(fOpusMode, 0, fNPorts * sizeof(OpusCustomMode*)); | |||
@@ -816,15 +815,15 @@ namespace Jack | |||
for (int i = 0; i < fNPorts; i++) { | |||
if (fOpusEncoder[i]) { | |||
opus_custom_encoder_destroy(fOpusEncoder[i]); | |||
fOpusEncoder[i]=0; | |||
fOpusEncoder[i] = 0; | |||
} | |||
if (fOpusDecoder[i]) { | |||
opus_custom_decoder_destroy(fOpusDecoder[i]); | |||
fOpusDecoder[i]=0; | |||
fOpusDecoder[i] = 0; | |||
} | |||
if (fOpusMode[i]) { | |||
opus_custom_mode_destroy(fOpusMode[i]); | |||
fOpusMode[i]=0; | |||
fOpusMode[i] = 0; | |||
} | |||
} | |||
@@ -47,19 +47,6 @@ class SERVER_EXPORT JackThreadedDriver : public JackDriverClientInterface, publi | |||
virtual ~JackThreadedDriver(); | |||
virtual int Open(); | |||
virtual int Open (bool capturing, | |||
bool playing, | |||
int inchannels, | |||
int outchannels, | |||
bool monitor, | |||
const char* capture_driver_name, | |||
const char* playback_driver_name, | |||
jack_nframes_t capture_latency, | |||
jack_nframes_t playback_latency) | |||
{ | |||
return -1; | |||
} | |||
virtual int Open(jack_nframes_t buffer_size, | |||
jack_nframes_t samplerate, | |||
bool capturing, | |||
@@ -848,7 +848,7 @@ extern "C" { | |||
// singleton kind of driver | |||
if (!driver) { | |||
driver = new Jack::JackCoreMidiDriver("system_midi", "coremidi", engine, table); | |||
if (driver->Open(1, 1, virtual_in, virtual_out, false, "in", "out", 0, 0) == 0) { | |||
if (driver->Open(0, 0, 1, 1, virtual_in, virtual_out, false, "in", "out", 0, 0) == 0) { | |||
return driver; | |||
} else { | |||
delete driver; | |||