@@ -372,7 +372,7 @@ struct JackNetExtMaster : public JackNetMasterInterface { | |||||
if (frames < 0) frames = fParams.fPeriodSize; | if (frames < 0) frames = fParams.fPeriodSize; | ||||
int cycle_size; | |||||
int read_frames; | |||||
assert(audio_input == fParams.fReturnAudioChannels); | assert(audio_input == fParams.fReturnAudioChannels); | ||||
for (int audio_port_index = 0; audio_port_index < audio_input; audio_port_index++) { | for (int audio_port_index = 0; audio_port_index < audio_input; audio_port_index++) { | ||||
@@ -403,13 +403,12 @@ struct JackNetExtMaster : public JackNetMasterInterface { | |||||
default: | default: | ||||
// decode sync | // decode sync | ||||
int cycle_size; | |||||
DecodeSyncPacket(cycle_size); | |||||
DecodeSyncPacket(read_frames); | |||||
break; | break; | ||||
} | } | ||||
int res2 = DataRecv(); | int res2 = DataRecv(); | ||||
UseRingBuffer(audio_input, audio_input_buffer, cycle_size, frames); | |||||
UseRingBuffer(audio_input, audio_input_buffer, read_frames, frames); | |||||
return res2; | return res2; | ||||
} catch (JackNetException& e) { | } catch (JackNetException& e) { | ||||
@@ -492,7 +491,7 @@ struct JackNetExtSlave : public JackNetSlaveInterface, public JackRunnableInterf | |||||
void* fSampleRateArg; | void* fSampleRateArg; | ||||
int fConnectTimeOut; | int fConnectTimeOut; | ||||
int fCycleSize; | |||||
int fFrames; | |||||
JackNetExtSlave(const char* ip, | JackNetExtSlave(const char* ip, | ||||
int port, | int port, | ||||
@@ -664,8 +663,8 @@ struct JackNetExtSlave : public JackNetSlaveInterface, public JackRunnableInterf | |||||
strcpy(result->master_name, fParams.fMasterNetName); | strcpy(result->master_name, fParams.fMasterNetName); | ||||
} | } | ||||
// By default fCycleSize is fPeriodSize | |||||
fCycleSize = fParams.fPeriodSize; | |||||
// By default fFrames is fPeriodSize | |||||
fFrames = fParams.fPeriodSize; | |||||
AllocPorts(); | AllocPorts(); | ||||
return 0; | return 0; | ||||
@@ -804,7 +803,7 @@ struct JackNetExtSlave : public JackNetSlaveInterface, public JackRunnableInterf | |||||
default: | default: | ||||
// decode sync | // decode sync | ||||
DecodeSyncPacket(fCycleSize); | |||||
DecodeSyncPacket(fFrames); | |||||
break; | break; | ||||
} | } | ||||
@@ -817,7 +816,7 @@ struct JackNetExtSlave : public JackNetSlaveInterface, public JackRunnableInterf | |||||
int Write() | int Write() | ||||
{ | { | ||||
EncodeSyncPacket(fCycleSize); | |||||
EncodeSyncPacket(fFrames); | |||||
if (SyncSend() == SOCKET_ERROR) { | if (SyncSend() == SOCKET_ERROR) { | ||||
return SOCKET_ERROR; | return SOCKET_ERROR; | ||||
@@ -845,7 +844,7 @@ struct JackNetExtSlave : public JackNetSlaveInterface, public JackRunnableInterf | |||||
return SOCKET_ERROR; | return SOCKET_ERROR; | ||||
} | } | ||||
fProcessCallback(fCycleSize, | |||||
fProcessCallback(fFrames, | |||||
fParams.fSendAudioChannels, | fParams.fSendAudioChannels, | ||||
fAudioCaptureBuffer, | fAudioCaptureBuffer, | ||||
fParams.fSendMidiChannels, | fParams.fSendMidiChannels, | ||||
@@ -361,8 +361,8 @@ namespace Jack | |||||
default: | default: | ||||
//decode sync | //decode sync | ||||
int unused_cycle_size; | |||||
DecodeSyncPacket(unused_cycle_size); | |||||
int unused_frames; | |||||
DecodeSyncPacket(unused_frames); | |||||
break; | break; | ||||
} | } | ||||
@@ -575,8 +575,8 @@ namespace Jack | |||||
default: | default: | ||||
// decode sync | // decode sync | ||||
int unused_cycle_size; | |||||
DecodeSyncPacket(unused_cycle_size); | |||||
int unused_frames; | |||||
DecodeSyncPacket(unused_frames); | |||||
break; | break; | ||||
} | } | ||||
@@ -544,7 +544,7 @@ namespace Jack | |||||
return rx_bytes; | return rx_bytes; | ||||
} | } | ||||
void JackNetMasterInterface::EncodeSyncPacket(int cycle_size) | |||||
void JackNetMasterInterface::EncodeSyncPacket(int frames) | |||||
{ | { | ||||
// This method contains every step of sync packet informations coding | // This method contains every step of sync packet informations coding | ||||
// first of all, clear sync packet | // first of all, clear sync packet | ||||
@@ -565,10 +565,10 @@ namespace Jack | |||||
// Write active ports list | // Write active ports list | ||||
fTxHeader.fActivePorts = (fNetAudioPlaybackBuffer) ? fNetAudioPlaybackBuffer->ActivePortsToNetwork(fTxData) : 0; | fTxHeader.fActivePorts = (fNetAudioPlaybackBuffer) ? fNetAudioPlaybackBuffer->ActivePortsToNetwork(fTxData) : 0; | ||||
fTxHeader.fCycleSize = cycle_size; | |||||
fTxHeader.fFrames = frames; | |||||
} | } | ||||
void JackNetMasterInterface::DecodeSyncPacket(int& cycle_size) | |||||
void JackNetMasterInterface::DecodeSyncPacket(int& frames) | |||||
{ | { | ||||
// This method contains every step of sync packet informations decoding process | // This method contains every step of sync packet informations decoding process | ||||
@@ -592,7 +592,7 @@ namespace Jack | |||||
fNetAudioCaptureBuffer->ActivePortsFromNetwork(fRxData, rx_head->fActivePorts); | fNetAudioCaptureBuffer->ActivePortsFromNetwork(fRxData, rx_head->fActivePorts); | ||||
} | } | ||||
cycle_size = rx_head->fCycleSize; | |||||
frames = rx_head->fFrames; | |||||
} | } | ||||
// JackNetSlaveInterface ************************************************************************************************ | // JackNetSlaveInterface ************************************************************************************************ | ||||
@@ -949,7 +949,7 @@ namespace Jack | |||||
} | } | ||||
// network sync------------------------------------------------------------------------ | // network sync------------------------------------------------------------------------ | ||||
void JackNetSlaveInterface::EncodeSyncPacket(int cycle_size) | |||||
void JackNetSlaveInterface::EncodeSyncPacket(int frames) | |||||
{ | { | ||||
// This method contains every step of sync packet informations coding | // This method contains every step of sync packet informations coding | ||||
// first of all, clear sync packet | // first of all, clear sync packet | ||||
@@ -970,10 +970,10 @@ namespace Jack | |||||
// Write active ports list | // Write active ports list | ||||
fTxHeader.fActivePorts = (fNetAudioCaptureBuffer) ? fNetAudioCaptureBuffer->ActivePortsToNetwork(fTxData) : 0; | fTxHeader.fActivePorts = (fNetAudioCaptureBuffer) ? fNetAudioCaptureBuffer->ActivePortsToNetwork(fTxData) : 0; | ||||
fTxHeader.fCycleSize = cycle_size; | |||||
fTxHeader.fFrames = frames; | |||||
} | } | ||||
void JackNetSlaveInterface::DecodeSyncPacket(int& cycle_size) | |||||
void JackNetSlaveInterface::DecodeSyncPacket(int& frames) | |||||
{ | { | ||||
// This method contains every step of sync packet informations decoding process | // This method contains every step of sync packet informations decoding process | ||||
@@ -997,7 +997,7 @@ namespace Jack | |||||
fNetAudioPlaybackBuffer->ActivePortsFromNetwork(fRxData, rx_head->fActivePorts); | fNetAudioPlaybackBuffer->ActivePortsFromNetwork(fRxData, rx_head->fActivePorts); | ||||
} | } | ||||
cycle_size = rx_head->fCycleSize; | |||||
frames = rx_head->fFrames; | |||||
} | } | ||||
} | } |
@@ -92,8 +92,8 @@ namespace Jack | |||||
virtual void DecodeTransportData() = 0; | virtual void DecodeTransportData() = 0; | ||||
// sync packet | // sync packet | ||||
virtual void EncodeSyncPacket(int cycle_size = -1) = 0; | |||||
virtual void DecodeSyncPacket(int& cycle_size) = 0; | |||||
virtual void EncodeSyncPacket(int frames = -1) = 0; | |||||
virtual void DecodeSyncPacket(int& frames) = 0; | |||||
virtual int SyncRecv() = 0; | virtual int SyncRecv() = 0; | ||||
virtual int SyncSend() = 0; | virtual int SyncSend() = 0; | ||||
@@ -160,8 +160,8 @@ namespace Jack | |||||
int DataSend(); | int DataSend(); | ||||
// sync packet | // sync packet | ||||
void EncodeSyncPacket(int cycle_size = -1); | |||||
void DecodeSyncPacket(int& cycle_size); | |||||
void EncodeSyncPacket(int frames = -1); | |||||
void DecodeSyncPacket(int& frames); | |||||
int Send(size_t size, int flags); | int Send(size_t size, int flags); | ||||
int Recv(size_t size, int flags); | int Recv(size_t size, int flags); | ||||
@@ -217,8 +217,8 @@ namespace Jack | |||||
int DataSend(); | int DataSend(); | ||||
// sync packet | // sync packet | ||||
void EncodeSyncPacket(int cycle_size = -1); | |||||
void DecodeSyncPacket(int& cycle_size); | |||||
void EncodeSyncPacket(int frames = -1); | |||||
void DecodeSyncPacket(int& frames); | |||||
int Recv(size_t size, int flags); | int Recv(size_t size, int flags); | ||||
int Send(size_t size, int flags); | int Send(size_t size, int flags); | ||||
@@ -543,8 +543,8 @@ namespace Jack | |||||
default: | default: | ||||
// Decode sync | // Decode sync | ||||
int unused_cycle_size; | |||||
DecodeSyncPacket(unused_cycle_size); | |||||
int unused_frames; | |||||
DecodeSyncPacket(unused_frames); | |||||
break; | break; | ||||
} | } | ||||
@@ -1216,7 +1216,7 @@ namespace Jack | |||||
dst_header->fActivePorts = htonl(src_header->fActivePorts); | dst_header->fActivePorts = htonl(src_header->fActivePorts); | ||||
dst_header->fCycle = htonl(src_header->fCycle); | dst_header->fCycle = htonl(src_header->fCycle); | ||||
dst_header->fSubCycle = htonl(src_header->fSubCycle); | dst_header->fSubCycle = htonl(src_header->fSubCycle); | ||||
dst_header->fCycleSize = htonl(src_header->fCycleSize); | |||||
dst_header->fFrames = htonl(src_header->fFrames); | |||||
dst_header->fIsLastPckt = htonl(src_header->fIsLastPckt); | dst_header->fIsLastPckt = htonl(src_header->fIsLastPckt); | ||||
} | } | ||||
@@ -1231,7 +1231,7 @@ namespace Jack | |||||
dst_header->fActivePorts = ntohl(src_header->fActivePorts); | dst_header->fActivePorts = ntohl(src_header->fActivePorts); | ||||
dst_header->fCycle = ntohl(src_header->fCycle); | dst_header->fCycle = ntohl(src_header->fCycle); | ||||
dst_header->fSubCycle = ntohl(src_header->fSubCycle); | dst_header->fSubCycle = ntohl(src_header->fSubCycle); | ||||
dst_header->fCycleSize = ntohl(src_header->fCycleSize); | |||||
dst_header->fFrames = ntohl(src_header->fFrames); | |||||
dst_header->fIsLastPckt = ntohl(src_header->fIsLastPckt); | dst_header->fIsLastPckt = ntohl(src_header->fIsLastPckt); | ||||
} | } | ||||
@@ -172,15 +172,15 @@ namespace Jack | |||||
struct _packet_header | struct _packet_header | ||||
{ | { | ||||
char fPacketType[8]; //packet type ('headr') | char fPacketType[8]; //packet type ('headr') | ||||
uint32_t fDataType; //a for audio, m for midi and s for sync | |||||
uint32_t fDataStream; //s for send, r for return | |||||
uint32_t fDataType; //'a' for audio, 'm' for midi and 's' for sync | |||||
uint32_t fDataStream; //'s' for send, 'r' for return | |||||
uint32_t fID; //unique ID of the slave | uint32_t fID; //unique ID of the slave | ||||
uint32_t fNumPacket; //number of data packets of the cycle | uint32_t fNumPacket; //number of data packets of the cycle | ||||
uint32_t fPacketSize; //packet size in bytes | uint32_t fPacketSize; //packet size in bytes | ||||
uint32_t fActivePorts; //number of active ports | uint32_t fActivePorts; //number of active ports | ||||
uint32_t fCycle; //process cycle counter | uint32_t fCycle; //process cycle counter | ||||
uint32_t fSubCycle; //midi/audio subcycle counter | uint32_t fSubCycle; //midi/audio subcycle counter | ||||
int32_t fCycleSize; //process cycle size in frames | |||||
uint32_t fFrames; //process cycle size in frames | |||||
uint32_t fIsLastPckt; //is it the last packet of a given cycle ('y' or 'n') | uint32_t fIsLastPckt; //is it the last packet of a given cycle ('y' or 'n') | ||||
} POST_PACKED_STRUCTURE; | } POST_PACKED_STRUCTURE; | ||||