Browse Source

Cleanup JackThreadedDriver::Stop.

git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@4244 0c269be4-1314-0410-8aa9-9f06e86f4224
tags/1.9.8
sletz 14 years ago
parent
commit
4bfaf8822a
4 changed files with 28 additions and 24 deletions
  1. +5
    -0
      ChangeLog
  2. +21
    -20
      common/JackNetAdapter.cpp
  3. +0
    -2
      common/JackThreadedDriver.cpp
  4. +2
    -2
      linux/alsa/alsa_driver.c

+ 5
- 0
ChangeLog View File

@@ -34,6 +34,11 @@ Valerio Pilo
Jackdmp changes log Jackdmp changes log
--------------------------- ---------------------------


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

* Merge newer-midi branch (Devin Anderson redesign of the MIDI drivers: alsarawmidi, ffado, coremidi and winmme).
* Cleanup JackThreadedDriver::Stop.

2011-03-30 Stephane Letz <letz@grame.fr> 2011-03-30 Stephane Letz <letz@grame.fr>


* Version 1.9.8 started. * Version 1.9.8 started.


+ 21
- 20
common/JackNetAdapter.cpp View File

@@ -158,6 +158,7 @@ namespace Jack
#ifdef JACK_MONITOR #ifdef JACK_MONITOR
fTable.Save(fHostBufferSize, fHostSampleRate, fAdaptedSampleRate, fAdaptedBufferSize); fTable.Save(fHostBufferSize, fHostSampleRate, fAdaptedSampleRate, fAdaptedBufferSize);
#endif #endif
fSocket.Close();


switch ( fThread.GetStatus() ) switch ( fThread.GetStatus() )
{ {
@@ -171,7 +172,7 @@ namespace Jack
} }
break; break;
// Stop when the thread cycle is finished // Stop when the thread cycle is finished
case JackThread::kRunning: case JackThread::kRunning:
if ( fThread.Stop() < 0 ) if ( fThread.Stop() < 0 )
{ {
@@ -179,11 +180,11 @@ namespace Jack
return -1; return -1;
} }
break; break;
default: default:
break; break;
} }
fSocket.Close();
return 0; return 0;
} }


@@ -224,16 +225,16 @@ namespace Jack
//set audio adapter parameters //set audio adapter parameters
SetAdaptedBufferSize ( fParams.fPeriodSize ); SetAdaptedBufferSize ( fParams.fPeriodSize );
SetAdaptedSampleRate ( fParams.fSampleRate ); SetAdaptedSampleRate ( fParams.fSampleRate );
// Will do "something" on OSX only... // Will do "something" on OSX only...
fThread.SetParams(GetEngineControl()->fPeriod, GetEngineControl()->fComputation, GetEngineControl()->fConstraint); fThread.SetParams(GetEngineControl()->fPeriod, GetEngineControl()->fComputation, GetEngineControl()->fConstraint);
if (fThread.AcquireSelfRealTime(GetEngineControl()->fClientPriority) < 0) { if (fThread.AcquireSelfRealTime(GetEngineControl()->fClientPriority) < 0) {
jack_error("AcquireSelfRealTime error"); jack_error("AcquireSelfRealTime error");
} else { } else {
set_threaded_log_function(); set_threaded_log_function();
} }
//init done, display parameters //init done, display parameters
SessionParamsDisplay ( &fParams ); SessionParamsDisplay ( &fParams );
return true; return true;
@@ -276,13 +277,13 @@ namespace Jack
jack_transport_stop ( fJackClient ); jack_transport_stop ( fJackClient );
jack_info ( "NetMaster : transport stops." ); jack_info ( "NetMaster : transport stops." );
break; break;
case JackTransportStarting : case JackTransportStarting :
jack_transport_reposition ( fJackClient, &fSendTransportData.fPosition ); jack_transport_reposition ( fJackClient, &fSendTransportData.fPosition );
jack_transport_start ( fJackClient ); jack_transport_start ( fJackClient );
jack_info ( "NetMaster : transport starts." ); jack_info ( "NetMaster : transport starts." );
break; break;
case JackTransportRolling : case JackTransportRolling :
//TODO , we need to : //TODO , we need to :
// - find a way to call TransportEngine->SetNetworkSync() // - find a way to call TransportEngine->SetNetworkSync()
@@ -344,7 +345,7 @@ namespace Jack
int JackNetAdapter::Write() int JackNetAdapter::Write()
{ {
EncodeSyncPacket(); EncodeSyncPacket();
if ( SyncSend() == SOCKET_ERROR ) if ( SyncSend() == SOCKET_ERROR )
return SOCKET_ERROR; return SOCKET_ERROR;


@@ -358,7 +359,7 @@ namespace Jack
//in case of fatal network error, stop the process //in case of fatal network error, stop the process
if (Read() == SOCKET_ERROR) if (Read() == SOCKET_ERROR)
return SOCKET_ERROR; return SOCKET_ERROR;
PushAndPull(fSoftCaptureBuffer, fSoftPlaybackBuffer, fAdaptedBufferSize); PushAndPull(fSoftCaptureBuffer, fSoftPlaybackBuffer, fAdaptedBufferSize);


//then write data to network //then write data to network
@@ -368,7 +369,7 @@ namespace Jack


return 0; return 0;
} }
} // namespace Jack } // namespace Jack


//loader------------------------------------------------------------------------------ //loader------------------------------------------------------------------------------
@@ -385,10 +386,10 @@ extern "C"
SERVER_EXPORT jack_driver_desc_t* jack_get_descriptor() SERVER_EXPORT jack_driver_desc_t* jack_get_descriptor()
{ {
jack_driver_desc_t* desc = ( jack_driver_desc_t* ) calloc ( 1, sizeof ( jack_driver_desc_t ) ); jack_driver_desc_t* desc = ( jack_driver_desc_t* ) calloc ( 1, sizeof ( jack_driver_desc_t ) );
strcpy(desc->name, "netadapter"); // size MUST be less then JACK_DRIVER_NAME_MAX + 1 strcpy(desc->name, "netadapter"); // size MUST be less then JACK_DRIVER_NAME_MAX + 1
strcpy(desc->desc, "netjack net <==> audio backend adapter"); // size MUST be less then JACK_DRIVER_PARAM_DESC + 1 strcpy(desc->desc, "netjack net <==> audio backend adapter"); // size MUST be less then JACK_DRIVER_PARAM_DESC + 1
desc->nparams = 11; desc->nparams = 11;
desc->params = ( jack_driver_param_desc_t* ) calloc ( desc->nparams, sizeof ( jack_driver_param_desc_t ) ); desc->params = ( jack_driver_param_desc_t* ) calloc ( desc->nparams, sizeof ( jack_driver_param_desc_t ) );


@@ -455,7 +456,7 @@ extern "C"
strcpy ( desc->params[i].value.str, "slow" ); strcpy ( desc->params[i].value.str, "slow" );
strcpy ( desc->params[i].short_desc, "Slow, Normal or Fast mode." ); strcpy ( desc->params[i].short_desc, "Slow, Normal or Fast mode." );
strcpy ( desc->params[i].long_desc, desc->params[i].short_desc ); strcpy ( desc->params[i].long_desc, desc->params[i].short_desc );
i++; i++;
strcpy(desc->params[i].name, "quality"); strcpy(desc->params[i].name, "quality");
desc->params[i].character = 'q'; desc->params[i].character = 'q';
@@ -463,7 +464,7 @@ extern "C"
desc->params[i].value.ui = 0; desc->params[i].value.ui = 0;
strcpy(desc->params[i].short_desc, "Resample algorithm quality (0 - 4)"); strcpy(desc->params[i].short_desc, "Resample algorithm quality (0 - 4)");
strcpy(desc->params[i].long_desc, desc->params[i].short_desc); strcpy(desc->params[i].long_desc, desc->params[i].short_desc);
i++; i++;
strcpy(desc->params[i].name, "ring-buffer"); strcpy(desc->params[i].name, "ring-buffer");
desc->params[i].character = 'g'; desc->params[i].character = 'g';
@@ -471,7 +472,7 @@ extern "C"
desc->params[i].value.ui = 32768; desc->params[i].value.ui = 32768;
strcpy(desc->params[i].short_desc, "Fixed ringbuffer size"); strcpy(desc->params[i].short_desc, "Fixed ringbuffer size");
strcpy(desc->params[i].long_desc, "Fixed ringbuffer size (if not set => automatic adaptative)"); strcpy(desc->params[i].long_desc, "Fixed ringbuffer size (if not set => automatic adaptative)");
i++; i++;
strcpy ( desc->params[i].name, "auto-connect" ); strcpy ( desc->params[i].name, "auto-connect" );
desc->params[i].character = 'c'; desc->params[i].character = 'c';
@@ -479,7 +480,7 @@ extern "C"
desc->params[i].value.i = false; desc->params[i].value.i = false;
strcpy ( desc->params[i].short_desc, "Auto connect netmaster to system ports" ); strcpy ( desc->params[i].short_desc, "Auto connect netmaster to system ports" );
strcpy ( desc->params[i].long_desc, desc->params[i].short_desc ); strcpy ( desc->params[i].long_desc, desc->params[i].short_desc );
return desc; return desc;
} }


@@ -490,9 +491,9 @@ extern "C"
Jack::JackAudioAdapter* adapter; Jack::JackAudioAdapter* adapter;
jack_nframes_t buffer_size = jack_get_buffer_size ( jack_client ); 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 sample_rate = jack_get_sample_rate ( jack_client );
try { try {
adapter = new Jack::JackAudioAdapter(jack_client, new Jack::JackNetAdapter(jack_client, buffer_size, sample_rate, params), params, false); adapter = new Jack::JackAudioAdapter(jack_client, new Jack::JackNetAdapter(jack_client, buffer_size, sample_rate, params), params, false);
assert ( adapter ); assert ( adapter );


@@ -503,7 +504,7 @@ extern "C"
delete adapter; delete adapter;
return 1; return 1;
} }
} catch (...) { } catch (...) {
return 1; return 1;
} }


+ 0
- 2
common/JackThreadedDriver.cpp View File

@@ -199,7 +199,6 @@ int JackThreadedDriver::Stop()
case JackThread::kIniting: case JackThread::kIniting:
if (fThread.Kill() < 0) { if (fThread.Kill() < 0) {
jack_error("Cannot kill thread"); jack_error("Cannot kill thread");
return -1;
} }
break; break;


@@ -207,7 +206,6 @@ int JackThreadedDriver::Stop()
case JackThread::kRunning: case JackThread::kRunning:
if (fThread.Stop() < 0) { if (fThread.Stop() < 0) {
jack_error("Cannot stop thread"); jack_error("Cannot stop thread");
return -1;
} }
break; break;




+ 2
- 2
linux/alsa/alsa_driver.c View File

@@ -204,8 +204,8 @@ alsa_driver_ice1712_hardware (alsa_driver_t *driver)
static int static int
alsa_driver_usx2y_hardware (alsa_driver_t *driver) alsa_driver_usx2y_hardware (alsa_driver_t *driver)
{ {
driver->hw = jack_alsa_usx2y_hw_new (driver);
return 0;
driver->hw = jack_alsa_usx2y_hw_new (driver);
return 0;
} }
*/ */




Loading…
Cancel
Save