Cleanup backend class structure.
This commit is contained in:
parent
f4a158afbc
commit
f60fde8a2d
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue