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 <stdlib.h>
#include <assert.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() JackNetAdapter::~JackNetAdapter()
{} {}
int JackNetAdapter::Open() int JackNetAdapter::Open()
{ {
return 0; return 0;
@@ -38,13 +38,13 @@ int JackNetAdapter::Close()
{ {
return 0; return 0;
} }
int JackNetAdapter::SetBufferSize(jack_nframes_t buffer_size)
int JackNetAdapter::SetBufferSize ( jack_nframes_t buffer_size )
{ {
return 0; return 0;
} }


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


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


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


EXPORT jack_driver_desc_t* jack_get_descriptor() EXPORT jack_driver_desc_t* jack_get_descriptor()
{ {
jack_driver_desc_t *desc; jack_driver_desc_t *desc;
jack_driver_param_desc_t * params; jack_driver_param_desc_t * params;
unsigned int i; 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; 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 // TODO
desc->params = params; desc->params = params;
return desc; 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::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; return 0;
} else {
}
else
{
delete adapter; delete adapter;
return 1; 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; JSList* params = NULL;
jack_driver_desc_t *desc = jack_get_descriptor(); 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(); adapter->Close();
delete adapter; 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 <math.h>
#include <limits.h> #include <limits.h>
@@ -32,32 +32,32 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
namespace Jack 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 "JackExports.h"
#include "driver_interface.h" #include "driver_interface.h"


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


#ifdef __cplusplus #ifdef __cplusplus
} }


+ 2
- 0
common/JackNetDriver.cpp View File

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


JackNetDriver::~JackNetDriver() 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 ) ); fPeriodUsecs = ( int ) ( 1000000.f * ( (float)fParams.fPeriodSize / (float)fParams.fSampleRate ) );
string plot_name = string ( fParams.fName ); string plot_name = string ( fParams.fName );
plot_name += string ( "_master" ); plot_name += string ( "_master" );
plot_name += string ( ( fParams.fSlaveSyncMode ) ? "_sync" : "_async" );
fMonitor = new JackGnuPlotMonitor<float> ( JackNetMaster::fMeasureCnt, JackNetMaster::fMeasurePoints, plot_name ); fMonitor = new JackGnuPlotMonitor<float> ( JackNetMaster::fMeasureCnt, JackNetMaster::fMeasurePoints, plot_name );
fMeasure = new float[JackNetMaster::fMeasurePoints]; fMeasure = new float[JackNetMaster::fMeasurePoints];
fMonitor->SetPlotFile ( JackNetMaster::fMonitorPlotOptions, JackNetMaster::fMonitorPlotOptionsCnt, fMonitor->SetPlotFile ( JackNetMaster::fMonitorPlotOptions, JackNetMaster::fMonitorPlotOptionsCnt,


Loading…
Cancel
Save