Browse Source

Add JackDummyDriver::SetBufferSize

git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@2608 0c269be4-1314-0410-8aa9-9f06e86f4224
tags/1.90
sletz 17 years ago
parent
commit
7ad162b57c
4 changed files with 25 additions and 19 deletions
  1. +14
    -19
      common/JackCallbackNetIOAdapter.cpp
  2. +2
    -0
      common/JackCallbackNetIOAdapter.h
  3. +7
    -0
      common/JackDummyDriver.cpp
  4. +2
    -0
      common/JackDummyDriver.h

+ 14
- 19
common/JackCallbackNetIOAdapter.cpp View File

@@ -57,38 +57,33 @@ int JackCallbackNetIOAdapter::Process(jack_nframes_t frames, void* arg)
// Reset all ringbuffers in case of failure // Reset all ringbuffers in case of failure
if (failure) { if (failure) {
jack_error("JackCallbackNetIOAdapter::Process ringbuffer failure... reset"); jack_error("JackCallbackNetIOAdapter::Process ringbuffer failure... reset");
for (i = 0; i < adapter->fCaptureChannels; i++) {
adapter->fCaptureRingBuffer[i]->Reset();
}
for (i = 0; i < adapter->fPlaybackChannels; i++) {
adapter->fPlaybackRingBuffer[i]->Reset();
}
adapter->fIOAdapter->Reset();
adapter->Reset();
} }
return 0; return 0;
} }


int JackCallbackNetIOAdapter::BufferSize(jack_nframes_t nframes, void* arg) int JackCallbackNetIOAdapter::BufferSize(jack_nframes_t nframes, void* arg)
{ {
int i;
JackCallbackNetIOAdapter* adapter = static_cast<JackCallbackNetIOAdapter*>(arg); JackCallbackNetIOAdapter* adapter = static_cast<JackCallbackNetIOAdapter*>(arg);
adapter->Reset();
adapter->fIOAdapter->SetBufferSize(nframes);
return 0;
}

void JackCallbackNetIOAdapter::Reset()
{
int i;
for (i = 0; i < adapter->fCaptureChannels; i++) {
adapter->fCaptureRingBuffer[i]->Reset();
for (i = 0; i < fCaptureChannels; i++) {
fCaptureRingBuffer[i]->Reset();
} }
for (i = 0; i < adapter->fPlaybackChannels; i++) {
adapter->fPlaybackRingBuffer[i]->Reset();
for (i = 0; i < fPlaybackChannels; i++) {
fPlaybackRingBuffer[i]->Reset();
} }
adapter->fIOAdapter->Reset();
adapter->fIOAdapter->SetBufferSize(nframes);
return 0;
fIOAdapter->Reset();
} }


JackCallbackNetIOAdapter::JackCallbackNetIOAdapter(jack_client_t* jack_client, JackCallbackNetIOAdapter::JackCallbackNetIOAdapter(jack_client_t* jack_client,


+ 2
- 0
common/JackCallbackNetIOAdapter.h View File

@@ -37,6 +37,8 @@ namespace Jack
static int Process(jack_nframes_t, void* arg); static int Process(jack_nframes_t, void* arg);
static int BufferSize(jack_nframes_t nframes, void *arg); static int BufferSize(jack_nframes_t nframes, void *arg);
void Reset();
public: public:
JackCallbackNetIOAdapter(jack_client_t* jack_client, JackCallbackNetIOAdapter(jack_client_t* jack_client,


+ 7
- 0
common/JackDummyDriver.cpp View File

@@ -71,6 +71,13 @@ int JackDummyDriver::Process()
return 0; return 0;
} }


int JackDummyDriver::SetBufferSize(jack_nframes_t buffer_size)
{
JackAudioDriver::SetBufferSize(buffer_size);
fWaitTime = (unsigned long)((((float)buffer_size) / ((float)fEngineControl->fSampleRate)) * 1000000.0f);
return 0;
}

} // end of namespace } // end of namespace


#ifdef __cplusplus #ifdef __cplusplus


+ 2
- 0
common/JackDummyDriver.h View File

@@ -57,6 +57,8 @@ class JackDummyDriver : public JackAudioDriver
jack_nframes_t playback_latency); jack_nframes_t playback_latency);


int Process(); int Process();
int SetBufferSize(jack_nframes_t buffer_size);


}; };




Loading…
Cancel
Save