git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@2498 0c269be4-1314-0410-8aa9-9f06e86f4224tags/1.90
| @@ -215,7 +215,6 @@ env['INCLUDEDIR'] = env.subst(env['INCLUDEDIR']) | |||
| env['SERVER'] = 'jackd' | |||
| env['CLIENTLIB'] = 'jack' | |||
| env['SERVERLIB'] = 'jackserver' | |||
| env['NETMANAGERLIB'] = 'netmanager' | |||
| env['ADDON_DIR'] = env.subst(env['LIBDIR']) + "/jack" | |||
| env['INSTALL_ADDON_DIR'] = env['DESTDIR'] + env.subst(env['LIBDIR']) + "/jack" | |||
| @@ -192,7 +192,7 @@ namespace Jack | |||
| do | |||
| { | |||
| //send 'available' | |||
| if ( sendto ( fSockfd, &fParams, sizeof ( session_params_t ), MSG_DONTWAIT, | |||
| if ( sendto ( fSockfd, &fParams, sizeof ( session_params_t ), 0, | |||
| reinterpret_cast<socket_address_t*> ( &mcast_addr ), addr_len ) < 0 ) | |||
| jack_error ( "Error in data send : %s", strerror ( errno ) ); | |||
| //filter incoming packets : don't exit while receiving wrong packets | |||
| @@ -228,7 +228,7 @@ namespace Jack | |||
| jack_log ( "JackNetDriver::GetNetMasterStartSync()" ); | |||
| //tell the master to start | |||
| SetPacketType ( &fParams, START_MASTER ); | |||
| if ( send ( fSockfd, &fParams, sizeof ( session_params_t ), MSG_DONTWAIT ) < 0 ) | |||
| if ( send ( fSockfd, &fParams, sizeof ( session_params_t ), 0 ) < 0 ) | |||
| { | |||
| jack_error ( "Error in send : %s", strerror ( errno ) ); | |||
| return ( ( errno == ECONNABORTED ) || ( errno == ECONNREFUSED ) || ( errno == ECONNRESET ) ) ? NET_ERROR : SEND_ERROR; | |||
| @@ -551,7 +551,7 @@ namespace Jack | |||
| fTxHeader.fIsLastPckt = 'y'; | |||
| memcpy ( fTxBuffer, &fTxHeader, sizeof ( packet_header_t ) ); | |||
| copy_size = fNetMidiPlaybackBuffer->RenderToNetwork ( subproc, fTxHeader.fMidiDataSize ); | |||
| tx_bytes = Send ( sizeof ( packet_header_t ) + copy_size, MSG_DONTWAIT ); | |||
| tx_bytes = Send ( sizeof ( packet_header_t ) + copy_size, 0 ); | |||
| } | |||
| } | |||
| @@ -566,7 +566,7 @@ namespace Jack | |||
| fTxHeader.fIsLastPckt = 'y'; | |||
| fNetAudioPlaybackBuffer->RenderFromJackPorts ( subproc ); | |||
| memcpy ( fTxBuffer, &fTxHeader, sizeof ( packet_header_t ) ); | |||
| tx_bytes = Send ( fAudioTxLen, MSG_DONTWAIT ); | |||
| tx_bytes = Send ( fAudioTxLen, 0 ); | |||
| } | |||
| } | |||
| return 0; | |||
| @@ -20,6 +20,7 @@ | |||
| #include "JackNetManager.h" | |||
| #include "JackError.h" | |||
| #include "JackExports.h" | |||
| #define DEFAULT_MULTICAST_IP "225.3.19.154" | |||
| #define DEFAULT_PORT 19000 | |||
| @@ -266,7 +267,7 @@ namespace Jack | |||
| int mcast_sockfd = socket ( AF_INET, SOCK_DGRAM, 0 ); | |||
| if ( mcast_sockfd < 0 ) | |||
| jack_error ( "Can't create socket : %s", strerror ( errno ) ); | |||
| if ( sendto ( mcast_sockfd, &fParams, sizeof ( session_params_t ), MSG_DONTWAIT, | |||
| if ( sendto ( mcast_sockfd, &fParams, sizeof ( session_params_t ), 0, | |||
| reinterpret_cast<socket_address_t*> ( &fMcastAddr ), sizeof ( socket_address_t ) ) < 0 ) | |||
| jack_error ( "Can't send suicide request : %s", strerror ( errno ) ); | |||
| close ( mcast_sockfd ); | |||
| @@ -357,7 +358,7 @@ namespace Jack | |||
| fTxHeader.fDataType = 's'; | |||
| if ( !fParams.fSendMidiChannels && !fParams.fSendAudioChannels ) | |||
| fTxHeader.fIsLastPckt = 'y'; | |||
| tx_bytes = Send ( reinterpret_cast<char*> ( &fTxHeader ), sizeof ( packet_header_t ), MSG_DONTWAIT ); | |||
| tx_bytes = Send ( reinterpret_cast<char*> ( &fTxHeader ), sizeof ( packet_header_t ), 0 ); | |||
| if ( tx_bytes < 1 ) | |||
| return tx_bytes; | |||
| @@ -374,7 +375,7 @@ namespace Jack | |||
| fTxHeader.fIsLastPckt = 'y'; | |||
| memcpy ( fTxBuffer, &fTxHeader, sizeof ( packet_header_t ) ); | |||
| copy_size = fNetMidiCaptureBuffer->RenderToNetwork ( subproc, fTxHeader.fMidiDataSize ); | |||
| tx_bytes = Send ( fTxBuffer, sizeof ( packet_header_t ) + copy_size, MSG_DONTWAIT ); | |||
| tx_bytes = Send ( fTxBuffer, sizeof ( packet_header_t ) + copy_size, 0 ); | |||
| if ( tx_bytes < 1 ) | |||
| return tx_bytes; | |||
| } | |||
| @@ -391,7 +392,7 @@ namespace Jack | |||
| fTxHeader.fIsLastPckt = 'y'; | |||
| memcpy ( fTxBuffer, &fTxHeader, sizeof ( packet_header_t ) ); | |||
| fNetAudioCaptureBuffer->RenderFromJackPorts ( subproc ); | |||
| tx_bytes = Send ( fTxBuffer, fAudioTxLen, MSG_DONTWAIT ); | |||
| tx_bytes = Send ( fTxBuffer, fAudioTxLen, 0 ); | |||
| if ( tx_bytes < 1 ) | |||
| return tx_bytes; | |||
| } | |||
| @@ -644,7 +645,7 @@ static Jack::JackNetMasterManager* master_manager = NULL; | |||
| extern "C" | |||
| { | |||
| #endif | |||
| 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 ) | |||
| { | |||
| if ( master_manager ) | |||
| { | |||
| @@ -659,7 +660,7 @@ extern "C" | |||
| } | |||
| } | |||
| void jack_finish ( void* arg ) | |||
| EXPORT void jack_finish ( void* arg ) | |||
| { | |||
| if ( master_manager ) | |||
| { | |||
| @@ -95,6 +95,7 @@ srcfiles_common_serverlib = [ | |||
| 'JackServer.cpp', | |||
| 'JackShmMem.cpp', | |||
| 'JackThreadedDriver.cpp', | |||
| 'JackWaitThreadedDriver.cpp', | |||
| 'shm.c', | |||
| 'JackSocket.cpp', | |||
| 'JackSocketServerChannel.cpp', | |||
| @@ -183,7 +184,6 @@ libenv.AppendUnique(CPPFLAGS = ['-fvisibility=hidden']) | |||
| clientlib = libenv.SharedLibrary(env['CLIENTLIB'], srcfiles_common_clientlib) | |||
| serverlib = libenv.SharedLibrary(env['SERVERLIB'], srcfiles_common_serverlib) | |||
| netmanagerlib = libenv.SharedLibrary(env['NETMANAGERLIB'], 'JackNetManager.cpp') | |||
| env.Install( env['INSTALL_LIBDIR'], [clientlib, serverlib]) | |||
| env.Alias('install', env['INSTALL_LIBDIR']) | |||
| @@ -197,6 +197,12 @@ if env['PLATFORM'] == 'posix': | |||
| env.Command(env['INSTALL_LIBDIR'] + '/lib' + lib_name + '.so', env['INSTALL_LIBDIR'] + '/lib' + lib_name + '.so.' + str(env['JACKAPI_MAJOR_VERSION']), symlinkcmd) | |||
| env.Alias('install', env['INSTALL_LIBDIR'] + '/lib' + lib_name + '.so.' + str(env['JACKAPI_MAJOR_VERSION'])) | |||
| # NetManager | |||
| netmanagerenv = env.Copy() | |||
| netmanagerenv.AppendUnique(CPPFLAGS = ['-fvisibility=hidden']) | |||
| env.InstallAs(env['INSTALL_ADDON_DIR'] + '/netmanager.so', netmanagerenv.SharedLibrary('netmanager', 'JackNetManager.cpp')) | |||
| env.Alias('install', env['INSTALL_ADDON_DIR'] + '/netmanager.so') | |||
| # Headers | |||
| for header in jack_headers: | |||
| env.Install(env['INSTALL_INCLUDEDIR'], 'jack/' + header) | |||
| @@ -120,15 +120,15 @@ def build(bld): | |||
| clientlib.vnum = bld.env()['JACK_API_VERSION'] | |||
| clientlib.env.append_value("CPPFLAGS", "-fvisibility=hidden") | |||
| netmanager_lib = bld.create_obj('cpp', 'shlib') | |||
| netmanager_lib.env['shlib_PATTERN'] = '%s.so' | |||
| netmanager_lib.includes = ['./jack', '.'] | |||
| netmanager_lib.name = 'netmanager' | |||
| netmanager_lib.target = 'netmanager' | |||
| netmanager_lib.source = 'JackNetManager.cpp' | |||
| netmanager_lib.env.append_value("CPPFLAGS", "-fvisibility=hidden") | |||
| netmanager_lib.inst_var = bld.env()['ADDON_DIR'] | |||
| netmanager_lib.inst_dir = '/' | |||
| netmanagerlib = bld.create_obj('cpp', 'shlib') | |||
| netmanagerlib.env['shlib_PATTERN'] = '%s.so' | |||
| netmanagerlib.includes = ['./jack', '.'] | |||
| netmanagerlib.name = 'netmanager' | |||
| netmanagerlib.target = 'netmanager' | |||
| netmanagerlib.source = 'JackNetManager.cpp' | |||
| netmanagerlib.env.append_value("CPPFLAGS", "-fvisibility=hidden") | |||
| netmanagerlib.inst_var = bld.env()['ADDON_DIR'] | |||
| netmanagerlib.inst_dir = '/' | |||
| install_files('PREFIX', 'include/jack', 'jack/*.h') | |||