git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@2636 0c269be4-1314-0410-8aa9-9f06e86f4224tags/1.90
@@ -21,6 +21,10 @@ Romain Moret | |||||
Jackdmp changes log | Jackdmp changes log | ||||
--------------------------- | --------------------------- | ||||
2008-07-03 Stephane Letz <letz@grame.fr> | |||||
* Add IsFixedBufferSize method in all drivers. | |||||
2008-07-02 Stephane Letz <letz@grame.fr> | 2008-07-02 Stephane Letz <letz@grame.fr> | ||||
* New netioadapter in server client. | * New netioadapter in server client. | ||||
@@ -275,6 +275,11 @@ int JackDriver::Stop() | |||||
return 0; | return 0; | ||||
} | } | ||||
bool JackDriver::IsFixedBufferSize() | |||||
{ | |||||
return true; | |||||
} | |||||
int JackDriver::SetBufferSize(jack_nframes_t buffer_size) | int JackDriver::SetBufferSize(jack_nframes_t buffer_size) | ||||
{ | { | ||||
return 0; | return 0; | ||||
@@ -71,6 +71,7 @@ class EXPORT JackDriverInterface | |||||
virtual int Start() = 0; | virtual int Start() = 0; | ||||
virtual int Stop() = 0; | virtual int Stop() = 0; | ||||
virtual bool IsFixedBufferSize() = 0; | |||||
virtual int SetBufferSize(jack_nframes_t buffer_size) = 0; | virtual int SetBufferSize(jack_nframes_t buffer_size) = 0; | ||||
virtual int SetSampleRate(jack_nframes_t sample_rate) = 0; | virtual int SetSampleRate(jack_nframes_t sample_rate) = 0; | ||||
@@ -163,6 +164,7 @@ class EXPORT JackDriver : public JackDriverClientInterface | |||||
virtual int Start(); | virtual int Start(); | ||||
virtual int Stop(); | virtual int Stop(); | ||||
virtual bool IsFixedBufferSize(); | |||||
virtual int SetBufferSize(jack_nframes_t buffer_size); | virtual int SetBufferSize(jack_nframes_t buffer_size); | ||||
virtual int SetSampleRate(jack_nframes_t sample_rate); | virtual int SetSampleRate(jack_nframes_t sample_rate); | ||||
@@ -58,6 +58,12 @@ class JackDummyDriver : public JackAudioDriver | |||||
int Process(); | int Process(); | ||||
// BufferSize can be changed | |||||
bool IsFixedBufferSize() | |||||
{ | |||||
return false; | |||||
} | |||||
int SetBufferSize(jack_nframes_t buffer_size); | int SetBufferSize(jack_nframes_t buffer_size); | ||||
}; | }; | ||||
@@ -84,6 +84,12 @@ namespace Jack | |||||
int Read(); | int Read(); | ||||
int Write(); | int Write(); | ||||
// BufferSize can be changed | |||||
bool IsFixedBufferSize() | |||||
{ | |||||
return true; | |||||
} | |||||
int SetBufferSize(jack_nframes_t buffer_size) | int SetBufferSize(jack_nframes_t buffer_size) | ||||
{ | { | ||||
return -1; | return -1; | ||||
@@ -193,6 +193,11 @@ int JackServer::SetBufferSize(jack_nframes_t buffer_size) | |||||
jack_log("SetBufferSize: requirement for new buffer size equals current value"); | jack_log("SetBufferSize: requirement for new buffer size equals current value"); | ||||
return 0; | return 0; | ||||
} | } | ||||
if (fAudioDriver->IsFixedBufferSize()) { | |||||
jack_log("SetBufferSize: driver only supports a fixed buffer size"); | |||||
return 0; | |||||
} | |||||
if (fAudioDriver->Stop() != 0) { | if (fAudioDriver->Stop() != 0) { | ||||
jack_error("Cannot stop audio driver"); | jack_error("Cannot stop audio driver"); | ||||
@@ -101,6 +101,11 @@ int JackThreadedDriver::Write() | |||||
return fDriver->Write(); | return fDriver->Write(); | ||||
} | } | ||||
bool JackThreadedDriver::IsFixedBufferSize() | |||||
{ | |||||
return fDriver->IsFixedBufferSize(); | |||||
} | |||||
int JackThreadedDriver::SetBufferSize(jack_nframes_t buffer_size) | int JackThreadedDriver::SetBufferSize(jack_nframes_t buffer_size) | ||||
{ | { | ||||
return fDriver->SetBufferSize(buffer_size); | return fDriver->SetBufferSize(buffer_size); | ||||
@@ -70,6 +70,7 @@ class EXPORT JackThreadedDriver : public JackDriverClientInterface, public JackR | |||||
virtual int Start(); | virtual int Start(); | ||||
virtual int Stop(); | virtual int Stop(); | ||||
virtual bool IsFixedBufferSize(); | |||||
virtual int SetBufferSize(jack_nframes_t buffer_size); | virtual int SetBufferSize(jack_nframes_t buffer_size); | ||||
virtual int SetSampleRate(jack_nframes_t sample_rate); | virtual int SetSampleRate(jack_nframes_t sample_rate); | ||||
@@ -150,6 +150,12 @@ class JackAlsaDriver : public JackAudioDriver | |||||
int Read(); | int Read(); | ||||
int Write(); | int Write(); | ||||
// BufferSize can be changed | |||||
bool IsFixedBufferSize() | |||||
{ | |||||
return false; | |||||
} | |||||
int SetBufferSize(jack_nframes_t nframes); | int SetBufferSize(jack_nframes_t nframes); | ||||
// jack api emulation for the midi driver | // jack api emulation for the midi driver | ||||
@@ -172,6 +172,12 @@ class JackCoreAudioDriver : public JackAudioDriver | |||||
int Read(); | int Read(); | ||||
int Write(); | int Write(); | ||||
// BufferSize can be changed | |||||
bool IsFixedBufferSize() | |||||
{ | |||||
return false; | |||||
} | |||||
int SetBufferSize(jack_nframes_t buffer_size); | int SetBufferSize(jack_nframes_t buffer_size); | ||||
}; | }; | ||||