Browse Source

Fix NetMaster close()

git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@2777 0c269be4-1314-0410-8aa9-9f06e86f4224
tags/1.90
moret 17 years ago
parent
commit
ae9ec12561
4 changed files with 22 additions and 14 deletions
  1. +4
    -7
      common/JackNetInterface.cpp
  2. +6
    -3
      common/JackNetInterface.h
  3. +11
    -3
      common/JackNetManager.cpp
  4. +1
    -1
      common/JackNetManager.h

+ 4
- 7
common/JackNetInterface.cpp View File

@@ -34,24 +34,21 @@ namespace Jack
{
jack_log ( "JackNetInterface::JackNetInterface ip = %s port = %d", ip, port );

fMulticastIP = new char[strlen ( ip ) + 1];
strcpy ( fMulticastIP, ip );
fMulticastIP = strdup ( ip );
}

JackNetInterface::JackNetInterface ( session_params_t& params, JackNetSocket& socket ) : fSocket ( socket )
JackNetInterface::JackNetInterface ( session_params_t& params, JackNetSocket& socket, const char* multicast_ip ) : fSocket ( socket )
{
jack_log ( "JackNetInterface::JackNetInterface ID = %d", params.fID );

fParams = params;
fMulticastIP = new char[strlen ( fSocket.GetSendIP() ) + 1];
strcpy ( fMulticastIP, fSocket.GetSendIP() );
fMulticastIP = strdup ( multicast_ip );
}

JackNetInterface::~JackNetInterface()
{
jack_log ( "JackNetInterface::~JackNetInterface" );
fSocket.Close();
SocketAPIEnd();
delete[] fTxBuffer;
delete[] fRxBuffer;
delete[] fMulticastIP;
@@ -479,7 +476,7 @@ namespace Jack

void JackNetMasterInterface::Exit()
{
jack_log ( "JackNetMaster::Exit, ID %u", fParams.fID );
jack_log ( "JackNetMasterInterface::Exit, ID %u", fParams.fID );

//stop process
fRunning = false;


+ 6
- 3
common/JackNetInterface.h View File

@@ -74,7 +74,7 @@ namespace Jack
JackNetInterface()
{}
JackNetInterface ( const char* ip, int port );
JackNetInterface ( session_params_t& params, JackNetSocket& socket );
JackNetInterface ( session_params_t& params, JackNetSocket& socket, const char* multicast_ip );

public:
virtual ~JackNetInterface();
@@ -105,7 +105,9 @@ namespace Jack
JackNetSlaveInterface ( const char* ip, int port ) : JackNetInterface ( ip, port )
{}
~JackNetSlaveInterface()
{}
{
SocketAPIEnd();
}
};

/**
@@ -131,7 +133,8 @@ namespace Jack
public:
JackNetMasterInterface() : fRunning ( false )
{}
JackNetMasterInterface ( session_params_t& params, JackNetSocket& socket ) : JackNetInterface ( params, socket )
JackNetMasterInterface ( session_params_t& params, JackNetSocket& socket, const char* multicast_ip )
: JackNetInterface ( params, socket, multicast_ip )
{}
~JackNetMasterInterface()
{}


+ 11
- 3
common/JackNetManager.cpp View File

@@ -32,10 +32,11 @@ namespace Jack
{
//JackNetMaster******************************************************************************************************

JackNetMaster::JackNetMaster ( JackNetSocket& socket, session_params_t& params )
: JackNetMasterInterface ( params, socket )
JackNetMaster::JackNetMaster ( JackNetSocket& socket, session_params_t& params, const char* multicast_ip )
: JackNetMasterInterface ( params, socket, multicast_ip )
{
jack_log ( "JackNetMaster::JackNetMaster" );

//settings
fClientName = const_cast<char*> ( fParams.fName );
fJackClient = NULL;
@@ -87,6 +88,7 @@ namespace Jack
JackNetMaster::~JackNetMaster()
{
jack_log ( "JackNetMaster::~JackNetMaster, ID %u.", fParams.fID );

if ( fJackClient )
{
jack_deactivate ( fJackClient );
@@ -194,6 +196,7 @@ namespace Jack
void JackNetMaster::FreePorts()
{
jack_log ( "JackNetMaster::FreePorts, ID %u", fParams.fID );

uint port_index;
for ( port_index = 0; port_index < fParams.fSendAudioChannels; port_index++ )
if ( fAudioCapturePorts[port_index] )
@@ -299,6 +302,7 @@ namespace Jack
JackNetMasterManager::JackNetMasterManager ( jack_client_t* client, const JSList* params ) : fSocket()
{
jack_log ( "JackNetMasterManager::JackNetMasterManager" );

fManagerClient = client;
fManagerName = jack_get_client_name ( fManagerClient );
fMulticastIP = DEFAULT_MULTICAST_IP;
@@ -460,6 +464,7 @@ namespace Jack
JackNetMaster* JackNetMasterManager::MasterInit ( session_params_t& params )
{
jack_log ( "JackNetMasterManager::MasterInit, Slave : %s", params.fName );

//settings
fSocket.GetName ( params.fMasterNetName );
params.fID = ++fGlobalID;
@@ -470,7 +475,7 @@ namespace Jack
SetSlaveName ( params );

//create a new master and add it to the list
JackNetMaster* master = new JackNetMaster ( fSocket, params );
JackNetMaster* master = new JackNetMaster ( fSocket, params, fMulticastIP );
if ( master->Init() )
{
fMasterList.push_back ( master );
@@ -483,6 +488,7 @@ namespace Jack
void JackNetMasterManager::SetSlaveName ( session_params_t& params )
{
jack_log ( "JackNetMasterManager::SetSlaveName" );

master_list_it_t it;
for ( it = fMasterList.begin(); it != fMasterList.end(); it++ )
if ( strcmp ( ( *it )->fParams.fName, params.fName ) == 0 )
@@ -492,6 +498,7 @@ namespace Jack
master_list_it_t JackNetMasterManager::FindMaster ( uint32_t id )
{
jack_log ( "JackNetMasterManager::FindMaster, ID %u.", id );

master_list_it_t it;
for ( it = fMasterList.begin(); it != fMasterList.end(); it++ )
if ( ( *it )->fParams.fID == id )
@@ -502,6 +509,7 @@ namespace Jack
int JackNetMasterManager::KillMaster ( session_params_t* params )
{
jack_log ( "JackNetMasterManager::KillMaster, ID %u.", params->fID );

master_list_it_t master = FindMaster ( params->fID );
if ( master != fMasterList.end() )
{


+ 1
- 1
common/JackNetManager.h View File

@@ -69,7 +69,7 @@ namespace Jack

int Process();
public:
JackNetMaster ( JackNetSocket& socket, session_params_t& params );
JackNetMaster ( JackNetSocket& socket, session_params_t& params, const char* multicast_ip );
~JackNetMaster ();
};



Loading…
Cancel
Save