Browse Source

Solaris boomer backend now working in capture or playback only mode.

git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@3618 0c269be4-1314-0410-8aa9-9f06e86f4224
tags/v1.9.4
sletz 16 years ago
parent
commit
37715e00b8
3 changed files with 18 additions and 38 deletions
  1. +2
    -1
      ChangeLog
  2. +16
    -34
      solaris/oss/JackBoomerDriver.cpp
  3. +0
    -3
      solaris/oss/JackBoomerDriver.h

+ 2
- 1
ChangeLog View File

@@ -27,7 +27,8 @@ Paul Davis

2009-07-22 Stephane Letz <letz@grame.fr>
* Version 1.9.4 started.
* Version 1.9.4 started.
* Solaris boomer backend now working in capture or playback only mode.

2009-07-17 Stephane Letz <letz@grame.fr>


+ 16
- 34
solaris/oss/JackBoomerDriver.cpp View File

@@ -404,12 +404,6 @@ int JackBoomerDriver::Open(jack_nframes_t nframes,
int bits,
bool ignorehwbuf)
{

if (playing && !capturing) {
jack_error("Playback only mode is not yet supported, use duplex instead");
return -1;
}

// Generic JackAudioDriver Open
if (JackAudioDriver::Open(nframes, samplerate, capturing, playing, inchannels, outchannels, monitor,
capture_driver_uid, playback_driver_uid, capture_latency, playback_latency) != 0) {
@@ -572,26 +566,6 @@ int JackBoomerDriver::Stop()
return 0;
}

int JackBoomerDriver::Read()
{
/*
// Keep begin cycle time
JackDriver::CycleTakeBeginTime();
*/

return 0;
}

int JackBoomerDriver::Write()
{
/*
// Keep begin cycle time
JackDriver::CycleTakeEndTime();
*/

return 0;
}

bool JackBoomerDriver::JackBoomerDriverInput::Init()
{
if (fDriver->IsRealTime()) {
@@ -608,12 +582,7 @@ bool JackBoomerDriver::JackBoomerDriverInput::Init()

bool JackBoomerDriver::JackBoomerDriverInput::Execute()
{
if (fDriver->fInFD < 0) {
// Keep begin cycle time
fDriver->CycleTakeBeginTime();
return true;
}
#ifdef JACK_MONITOR
gCycleTable.fTable[gCycleReadCount].fBeforeRead = GetMicroSeconds();
#endif
@@ -661,7 +630,13 @@ bool JackBoomerDriver::JackBoomerDriverInput::Execute()
#endif
}

fDriver->SynchronizeRead();
// Duplex : sync with write thread
if (fDriver->fInFD > 0 && fDriver->fOutFD > 0) {
fDriver->SynchronizeRead();
} else {
// Otherwise direct process
fDriver->Process();
}
return true;
}

@@ -748,7 +723,14 @@ bool JackBoomerDriver::JackBoomerDriverOutput::Execute()
jack_error("JackBoomerDriverOutput::Execute error bytes written = %ld", count);
}
fDriver->SynchronizeWrite();
// Duplex : sync with read thread
if (fDriver->fInFD > 0 && fDriver->fOutFD > 0) {
fDriver->SynchronizeWrite();
} else {
// Otherwise direct process
fDriver->CycleTakeBeginTime();
fDriver->Process();
}
return true;
}



+ 0
- 3
solaris/oss/JackBoomerDriver.h View File

@@ -145,9 +145,6 @@ class JackBoomerDriver : public JackAudioDriver
int Start();
int Stop();

int Read();
int Write();

// BufferSize can be changed
bool IsFixedBufferSize()
{


Loading…
Cancel
Save