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); | ||||
| }; | }; | ||||