Browse Source

Fix for compilation on Solaris.

git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@4670 0c269be4-1314-0410-8aa9-9f06e86f4224
tags/1.9.9.5
sletz 13 years ago
parent
commit
85df85f520
12 changed files with 48 additions and 16 deletions
  1. +4
    -0
      ChangeLog
  2. +5
    -1
      common/JackAPI.cpp
  3. +16
    -8
      common/JackAudioAdapter.cpp
  4. +4
    -0
      common/JackAudioAdapter.h
  5. +2
    -2
      common/JackDriver.cpp
  6. +1
    -1
      common/JackNetTool.cpp
  7. +1
    -1
      common/jack/control.h
  8. +9
    -0
      common/jack/weakmacros.h
  9. +3
    -0
      posix/JackCompilerDeps_os.h
  10. +1
    -1
      solaris/oss/JackBoomerDriver.cpp
  11. +1
    -1
      solaris/oss/JackOSSDriver.cpp
  12. +1
    -1
      tests/test.cpp

+ 4
- 0
ChangeLog View File

@@ -36,6 +36,10 @@ John Emmas
Jackdmp changes log Jackdmp changes log
--------------------------- ---------------------------


2012-01-06 Stephane Letz <letz@grame.fr>

* Fix for compilation on Solaris.

2012-01-04 Stephane Letz <letz@grame.fr> 2012-01-04 Stephane Letz <letz@grame.fr>


* Fix library symbols export issue. * Fix library symbols export issue.


+ 5
- 1
common/JackAPI.cpp View File

@@ -1804,7 +1804,11 @@ LIB_EXPORT int jack_client_kill_thread(jack_client_t* client, jack_native_thread
#ifndef WIN32 #ifndef WIN32
LIB_EXPORT void jack_set_thread_creator (jack_thread_creator_t jtc) LIB_EXPORT void jack_set_thread_creator (jack_thread_creator_t jtc)
{ {
JackGlobals::fJackThreadCreator = (jtc == NULL) ? pthread_create : jtc;
if (jtc == NULL) {
JackGlobals::fJackThreadCreator = pthread_create;
} else {
JackGlobals::fJackThreadCreator = jtc;
}
} }
#endif #endif




+ 16
- 8
common/JackAudioAdapter.cpp View File

@@ -35,20 +35,22 @@ namespace Jack
int JackAudioAdapter::Process(jack_nframes_t frames, void* arg) int JackAudioAdapter::Process(jack_nframes_t frames, void* arg)
{ {
JackAudioAdapter* adapter = static_cast<JackAudioAdapter*>(arg); JackAudioAdapter* adapter = static_cast<JackAudioAdapter*>(arg);
jack_default_audio_sample_t* inputBuffer[adapter->fAudioAdapter->GetInputs()];
jack_default_audio_sample_t* outputBuffer[adapter->fAudioAdapter->GetOutputs()];
return adapter->ProcessAux(frames);
}


int JackAudioAdapter::ProcessAux(jack_nframes_t frames)
{
// Always clear output // Always clear output
for (int i = 0; i < adapter->fAudioAdapter->GetInputs(); i++) {
inputBuffer[i] = (jack_default_audio_sample_t*)jack_port_get_buffer(adapter->fCapturePortList[i], frames);
memset(inputBuffer[i], 0, frames * sizeof(jack_default_audio_sample_t));
for (int i = 0; i < fAudioAdapter->GetInputs(); i++) {
fInputBufferList[i] = (jack_default_audio_sample_t*)jack_port_get_buffer(fCapturePortList[i], frames);
memset(fInputBufferList[i], 0, frames * sizeof(jack_default_audio_sample_t));
} }


for (int i = 0; i < adapter->fAudioAdapter->GetOutputs(); i++) {
outputBuffer[i] = (jack_default_audio_sample_t*)jack_port_get_buffer(adapter->fPlaybackPortList[i], frames);
for (int i = 0; i < fAudioAdapter->GetOutputs(); i++) {
fOutputBufferList[i] = (jack_default_audio_sample_t*)jack_port_get_buffer(fPlaybackPortList[i], frames);
} }


adapter->fAudioAdapter->PullAndPush(inputBuffer, outputBuffer, frames);
fAudioAdapter->PullAndPush(fInputBufferList, fOutputBufferList, frames);
return 0; return 0;
} }


@@ -126,6 +128,9 @@ void JackAudioAdapter::FreePorts()


delete[] fCapturePortList; delete[] fCapturePortList;
delete[] fPlaybackPortList; delete[] fPlaybackPortList;

delete[] fInputBufferList;
delete[] fOutputBufferList;
} }


void JackAudioAdapter::ConnectPorts() void JackAudioAdapter::ConnectPorts()
@@ -164,6 +169,9 @@ int JackAudioAdapter::Open()
fCapturePortList = new jack_port_t*[fAudioAdapter->GetInputs()]; fCapturePortList = new jack_port_t*[fAudioAdapter->GetInputs()];
fPlaybackPortList = new jack_port_t*[fAudioAdapter->GetOutputs()]; fPlaybackPortList = new jack_port_t*[fAudioAdapter->GetOutputs()];


fInputBufferList = new jack_default_audio_sample_t*[fAudioAdapter->GetInputs()];
fOutputBufferList = new jack_default_audio_sample_t*[fAudioAdapter->GetOutputs()];

for (int i = 0; i < fAudioAdapter->GetInputs(); i++) { for (int i = 0; i < fAudioAdapter->GetInputs(); i++) {
snprintf(name, sizeof(name), "capture_%d", i + 1); snprintf(name, sizeof(name), "capture_%d", i + 1);
if ((fCapturePortList[i] = jack_port_register(fClient, name, JACK_DEFAULT_AUDIO_TYPE, CaptureDriverFlags, 0)) == NULL) { if ((fCapturePortList[i] = jack_port_register(fClient, name, JACK_DEFAULT_AUDIO_TYPE, CaptureDriverFlags, 0)) == NULL) {


+ 4
- 0
common/JackAudioAdapter.h View File

@@ -42,6 +42,9 @@ namespace Jack
jack_port_t** fCapturePortList; jack_port_t** fCapturePortList;
jack_port_t** fPlaybackPortList; jack_port_t** fPlaybackPortList;


jack_default_audio_sample_t** fInputBufferList;
jack_default_audio_sample_t** fOutputBufferList;

jack_client_t* fClient; jack_client_t* fClient;
JackAudioAdapterInterface* fAudioAdapter; JackAudioAdapterInterface* fAudioAdapter;
bool fAutoConnect; bool fAutoConnect;
@@ -49,6 +52,7 @@ namespace Jack
void FreePorts(); void FreePorts();
void ConnectPorts(); void ConnectPorts();
void Reset(); void Reset();
int ProcessAux(jack_nframes_t frames);


public: public:




+ 2
- 2
common/JackDriver.cpp View File

@@ -495,7 +495,7 @@ void JackDriver::SaveConnections()
fConnections.push_back(make_pair(aliases[0], connections[j])); fConnections.push_back(make_pair(aliases[0], connections[j]));
jack_info("Save connection: %s %s", aliases[0], connections[j]); jack_info("Save connection: %s %s", aliases[0], connections[j]);
*/ */
fConnections.push_back(make_pair(fGraphManager->GetPort(fCapturePortList[i])->GetName(), connections[j]));
fConnections.push_back(make_pair(string(fGraphManager->GetPort(fCapturePortList[i])->GetName()), string(connections[j])));
jack_info("Save connection: %s %s", fGraphManager->GetPort(fCapturePortList[i])->GetName(), connections[j]); jack_info("Save connection: %s %s", fGraphManager->GetPort(fCapturePortList[i])->GetName(), connections[j]);
} }
free(connections); free(connections);
@@ -510,7 +510,7 @@ void JackDriver::SaveConnections()
fConnections.push_back(make_pair(connections[j], aliases[0])); fConnections.push_back(make_pair(connections[j], aliases[0]));
jack_info("Save connection: %s %s", connections[j], aliases[0]); jack_info("Save connection: %s %s", connections[j], aliases[0]);
*/ */
fConnections.push_back(make_pair(connections[j], fGraphManager->GetPort(fPlaybackPortList[i])->GetName()));
fConnections.push_back(make_pair(string(connections[j]), string(fGraphManager->GetPort(fPlaybackPortList[i])->GetName())));
jack_info("Save connection: %s %s", connections[j], fGraphManager->GetPort(fPlaybackPortList[i])->GetName()); jack_info("Save connection: %s %s", connections[j], fGraphManager->GetPort(fPlaybackPortList[i])->GetName());
} }
free(connections); free(connections);


+ 1
- 1
common/JackNetTool.cpp View File

@@ -628,7 +628,7 @@ namespace Jack


int NetCeltAudioBuffer::RenderFromJackPorts() int NetCeltAudioBuffer::RenderFromJackPorts()
{ {
float buffer[fPeriodSize];
float buffer[BUFFER_SIZE_MAX];


for (int port_index = 0; port_index < fNPorts; port_index++) { for (int port_index = 0; port_index < fNPorts; port_index++) {
if (fPortBuffer[port_index]) { if (fPortBuffer[port_index]) {


+ 1
- 1
common/jack/control.h View File

@@ -31,7 +31,7 @@


#include <jack/jslist.h> #include <jack/jslist.h>
#include <jack/systemdeps.h> #include <jack/systemdeps.h>
#if !defined (__sun__)
#if !defined(sun) && !defined(__sun__)
#include <stdbool.h> #include <stdbool.h>
#endif #endif




+ 9
- 0
common/jack/weakmacros.h View File

@@ -67,6 +67,10 @@
#endif #endif
#endif #endif


#ifndef JACK_WEAK_EXPORT
#define JACK_WEAK_EXPORT
#endif

#ifndef JACK_OPTIONAL_WEAK_EXPORT #ifndef JACK_OPTIONAL_WEAK_EXPORT
#define JACK_OPTIONAL_WEAK_EXPORT #define JACK_OPTIONAL_WEAK_EXPORT
#endif #endif
@@ -82,6 +86,11 @@
#endif #endif


#endif /* __GNUC__ */ #endif /* __GNUC__ */

#ifndef JACK_OPTIONAL_WEAK_DEPRECATED_EXPORT
#define JACK_OPTIONAL_WEAK_DEPRECATED_EXPORT
#endif

#endif #endif


#endif /* __weakmacros_h__ */ #endif /* __weakmacros_h__ */


+ 3
- 0
posix/JackCompilerDeps_os.h View File

@@ -56,7 +56,10 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#define MEM_ALIGN(x,y) x #define MEM_ALIGN(x,y) x
#define LIB_EXPORT #define LIB_EXPORT
#define SERVER_EXPORT #define SERVER_EXPORT

/* Add other things here for non-gcc platforms for PRE and POST_PACKED_STRUCTURE */ /* Add other things here for non-gcc platforms for PRE and POST_PACKED_STRUCTURE */
#define PRE_PACKED_STRUCTURE
#define POST_PACKED_STRUCTURE
#endif #endif


#endif #endif


+ 1
- 1
solaris/oss/JackBoomerDriver.cpp View File

@@ -859,7 +859,7 @@ SERVER_EXPORT jack_driver_desc_t* driver_get_descriptor()
return desc; return desc;
} }


EXPORT Jack::JackDriverClientInterface* driver_initialize(Jack::JackLockedEngine* engine, Jack::JackSynchro* table, const JSList* params)
SERVER_EXPORT Jack::JackDriverClientInterface* driver_initialize(Jack::JackLockedEngine* engine, Jack::JackSynchro* table, const JSList* params)
{ {
int bits = OSS_DRIVER_DEF_BITS; int bits = OSS_DRIVER_DEF_BITS;
jack_nframes_t srate = OSS_DRIVER_DEF_FS; jack_nframes_t srate = OSS_DRIVER_DEF_FS;


+ 1
- 1
solaris/oss/JackOSSDriver.cpp View File

@@ -776,7 +776,7 @@ SERVER_EXPORT jack_driver_desc_t* driver_get_descriptor()
return desc; return desc;
} }


EXPORT Jack::JackDriverClientInterface* driver_initialize(Jack::JackLockedEngine* engine, Jack::JackSynchro* table, const JSList* params)
SERVER_EXPORT Jack::JackDriverClientInterface* driver_initialize(Jack::JackLockedEngine* engine, Jack::JackSynchro* table, const JSList* params)
{ {
int bits = OSS_DRIVER_DEF_BITS; int bits = OSS_DRIVER_DEF_BITS;
jack_nframes_t srate = OSS_DRIVER_DEF_FS; jack_nframes_t srate = OSS_DRIVER_DEF_FS;


+ 1
- 1
tests/test.cpp View File

@@ -477,7 +477,7 @@ int process4(jack_nframes_t nframes, void *arg)
jack_nframes_t delta_time = cur_time - last_time; jack_nframes_t delta_time = cur_time - last_time;


Log("calling process4 callback : jack_frame_time = %ld delta_time = %ld\n", cur_time, delta_time); Log("calling process4 callback : jack_frame_time = %ld delta_time = %ld\n", cur_time, delta_time);
if (delta_time > 0 && (unsigned int)abs(delta_time - cur_buffer_size) > tolerance) {
if (delta_time > 0 && (jack_nframes_t)abs((double)(delta_time - cur_buffer_size)) > tolerance) {
printf("!!! ERROR !!! jack_frame_time seems to return incorrect values cur_buffer_size = %d, delta_time = %d\n", cur_buffer_size, delta_time); printf("!!! ERROR !!! jack_frame_time seems to return incorrect values cur_buffer_size = %d, delta_time = %d\n", cur_buffer_size, delta_time);
} }




Loading…
Cancel
Save