Browse Source

Fix netdriver (again...)

git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@2736 0c269be4-1314-0410-8aa9-9f06e86f4224
tags/1.90
moret 17 years ago
parent
commit
fec479a87b
4 changed files with 66 additions and 58 deletions
  1. +36
    -31
      common/JackNetAdapter.cpp
  2. +27
    -27
      common/JackNetAdapter.h
  3. +2
    -0
      common/JackNetDriver.cpp
  4. +1
    -0
      common/JackNetManager.cpp

+ 36
- 31
common/JackNetAdapter.cpp View File

@@ -23,12 +23,12 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#include <stdlib.h>
#include <assert.h>

JackNetAdapter::JackNetAdapter(jack_nframes_t buffer_size, jack_nframes_t sample_rate, const JSList* params)
JackNetAdapter::JackNetAdapter ( jack_nframes_t buffer_size, jack_nframes_t sample_rate, const JSList* params )
{}

JackNetAdapter::~JackNetAdapter()
{}
int JackNetAdapter::Open()
{
return 0;
@@ -38,13 +38,13 @@ int JackNetAdapter::Close()
{
return 0;
}
int JackNetAdapter::SetBufferSize(jack_nframes_t buffer_size)
int JackNetAdapter::SetBufferSize ( jack_nframes_t buffer_size )
{
return 0;
}

bool JackNetAdapter::Init()
{
return true;
@@ -54,7 +54,7 @@ bool JackNetAdapter::Execute()
{
return true;
}

#ifdef __cplusplus
extern "C"
@@ -62,65 +62,70 @@ extern "C"
#endif

#include "driver_interface.h"
using namespace Jack;
using namespace Jack;

EXPORT jack_driver_desc_t* jack_get_descriptor()
{
jack_driver_desc_t *desc;
jack_driver_param_desc_t * params;
unsigned int i;
desc = (jack_driver_desc_t*)calloc(1, sizeof(jack_driver_desc_t));
strcpy (desc->name, "alsa-adapter");
desc = ( jack_driver_desc_t* ) calloc ( 1, sizeof ( jack_driver_desc_t ) );
strcpy ( desc->name, "net-adapter" );
desc->nparams = 2;
params = (jack_driver_param_desc_t*)calloc(desc->nparams, sizeof(jack_driver_param_desc_t));
params = ( jack_driver_param_desc_t* ) calloc ( desc->nparams, sizeof ( jack_driver_param_desc_t ) );
// TODO
desc->params = params;
return desc;
}

EXPORT int jack_internal_initialize(jack_client_t* jack_client, const JSList* params)
EXPORT int jack_internal_initialize ( jack_client_t* jack_client, const JSList* params )
{
jack_log("Loading netadapter");
jack_log ( "Loading netadapter" );

Jack::JackAudioAdapter* adapter;
jack_nframes_t buffer_size = jack_get_buffer_size(jack_client);
jack_nframes_t sample_rate = jack_get_sample_rate(jack_client);
jack_nframes_t buffer_size = jack_get_buffer_size ( jack_client );
jack_nframes_t sample_rate = jack_get_sample_rate ( jack_client );

adapter = new Jack::JackAudioAdapter(jack_client, new Jack::JackNetAdapter(buffer_size, sample_rate, params));
assert(adapter);
adapter = new Jack::JackAudioAdapter ( jack_client, new Jack::JackNetAdapter ( buffer_size, sample_rate, params ) );
assert ( adapter );

if (adapter->Open() == 0) {
if ( adapter->Open() == 0 )
{
return 0;
} else {
}
else
{
delete adapter;
return 1;
}
}

EXPORT int jack_initialize(jack_client_t* jack_client, const char* load_init)
EXPORT int jack_initialize ( jack_client_t* jack_client, const char* load_init )
{
JSList* params = NULL;
jack_driver_desc_t *desc = jack_get_descriptor();

JackArgParser parser(load_init);
JackArgParser parser ( load_init );

if (parser.GetArgc() > 0) {
if (parser.ParseParams(desc, &params) != 0)
jack_error("Internal client : JackArgParser::ParseParams error.");
if ( parser.GetArgc() > 0 )
{
if ( parser.ParseParams ( desc, &params ) != 0 )
jack_error ( "Internal client : JackArgParser::ParseParams error." );
}

return jack_internal_initialize(jack_client, params);
return jack_internal_initialize ( jack_client, params );
}

EXPORT void jack_finish(void* arg)
EXPORT void jack_finish ( void* arg )
{
Jack::JackAudioAdapter* adapter = static_cast<Jack::JackAudioAdapter*>(arg);
Jack::JackAudioAdapter* adapter = static_cast<Jack::JackAudioAdapter*> ( arg );

if (adapter) {
jack_log("Unloading netadapter");
if ( adapter )
{
jack_log ( "Unloading netadapter" );
adapter->Close();
delete adapter;
}


+ 27
- 27
common/JackNetAdapter.h View File

@@ -17,8 +17,8 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

*/

#ifndef __JackAlsaAdapter__
#define __JackAlsaAdapter__
#ifndef __JackNetAdapter__
#define __JackNetAdapter__

#include <math.h>
#include <limits.h>
@@ -32,32 +32,32 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
namespace Jack
{

/*!
\brief Net adapter.
*/
/*!
\brief Net adapter.
*/

class JackNetAdapter : public JackAudioAdapterInterface, public JackRunnableInterface
{
class JackNetAdapter : public JackAudioAdapterInterface, public JackRunnableInterface
{

private:

JackThread fThread;

public:

JackNetAdapter ( jack_nframes_t buffer_size, jack_nframes_t sample_rate, const JSList* params );
~JackNetAdapter()
{}

virtual int Open();
virtual int Close();

virtual int SetBufferSize ( jack_nframes_t buffer_size );

virtual bool Init();
virtual bool Execute();

private:
JackThread fThread;
public:
JackNetAdapter(jack_nframes_t buffer_size, jack_nframes_t sample_rate, const JSList* params);
~JackNetAdapter()
{}
virtual int Open();
virtual int Close();
virtual int SetBufferSize(jack_nframes_t buffer_size);
virtual bool Init();
virtual bool Execute();
};
};

}

@@ -69,7 +69,7 @@ extern "C"
#include "JackExports.h"
#include "driver_interface.h"

EXPORT jack_driver_desc_t* jack_get_descriptor();
EXPORT jack_driver_desc_t* jack_get_descriptor();

#ifdef __cplusplus
}


+ 2
- 0
common/JackNetDriver.cpp View File

@@ -66,8 +66,10 @@ namespace Jack
strcpy ( fParams.fName, net_name );
fSocket.GetName ( fParams.fSlaveNetName );
fParams.fTransportSync = transport_sync;
#ifdef JACK_MONITOR
fMonitor = NULL;
fMeasure = NULL;
#enfid
}

JackNetDriver::~JackNetDriver()


+ 1
- 0
common/JackNetManager.cpp View File

@@ -125,6 +125,7 @@ namespace Jack
fPeriodUsecs = ( int ) ( 1000000.f * ( (float)fParams.fPeriodSize / (float)fParams.fSampleRate ) );
string plot_name = string ( fParams.fName );
plot_name += string ( "_master" );
plot_name += string ( ( fParams.fSlaveSyncMode ) ? "_sync" : "_async" );
fMonitor = new JackGnuPlotMonitor<float> ( JackNetMaster::fMeasureCnt, JackNetMaster::fMeasurePoints, plot_name );
fMeasure = new float[JackNetMaster::fMeasurePoints];
fMonitor->SetPlotFile ( JackNetMaster::fMonitorPlotOptions, JackNetMaster::fMonitorPlotOptionsCnt,


Loading…
Cancel
Save