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> 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> 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, int bits,
bool ignorehwbuf) bool ignorehwbuf)
{ {

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

// Generic JackAudioDriver Open // Generic JackAudioDriver Open
if (JackAudioDriver::Open(nframes, samplerate, capturing, playing, inchannels, outchannels, monitor, if (JackAudioDriver::Open(nframes, samplerate, capturing, playing, inchannels, outchannels, monitor,
capture_driver_uid, playback_driver_uid, capture_latency, playback_latency) != 0) { capture_driver_uid, playback_driver_uid, capture_latency, playback_latency) != 0) {
@@ -572,26 +566,6 @@ int JackBoomerDriver::Stop()
return 0; 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() bool JackBoomerDriver::JackBoomerDriverInput::Init()
{ {
if (fDriver->IsRealTime()) { if (fDriver->IsRealTime()) {
@@ -608,12 +582,7 @@ bool JackBoomerDriver::JackBoomerDriverInput::Init()


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


@@ -748,7 +723,14 @@ bool JackBoomerDriver::JackBoomerDriverOutput::Execute()
jack_error("JackBoomerDriverOutput::Execute error bytes written = %ld", count); 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; return true;
} }




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

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


int Read();
int Write();

// BufferSize can be changed // BufferSize can be changed
bool IsFixedBufferSize() bool IsFixedBufferSize()
{ {


Loading…
Cancel
Save