correct issue where the stream ID *may not* be reset at the end of call by explicitly calling the appropriate network reset routine; correct Win32 compilation issues for FNE;

pull/75/head
Bryan Biedenkapp 1 year ago
parent f3c6e79999
commit e14defe125

@ -1041,8 +1041,7 @@ void HostBridge::processUDPAudio()
m_txStreamId = 1U; // prevent further false starts -- this isn't the right way to handle this...
LogMessage(LOG_HOST, "%s, call start, srcId = %u, dstId = %u", UDP_CALL, m_udpSrcId, m_udpDstId);
if (m_grantDemand) {
switch (m_txMode)
{
switch (m_txMode) {
case TX_MODE_P25:
{
p25::lc::LC lc = p25::lc::LC();
@ -2101,6 +2100,7 @@ void HostBridge::callEnd(uint32_t srcId, uint32_t dstId)
data.setSrcId(srcId);
m_network->writeDMRTerminator(data, &m_dmrSeqNo, &m_dmrN, m_dmrEmbeddedData);
m_network->resetDMR(data.getSlotNo());
}
break;
case TX_MODE_P25:
@ -2114,6 +2114,7 @@ void HostBridge::callEnd(uint32_t srcId, uint32_t dstId)
uint8_t controlByte = 0x00U;
m_network->writeP25TDU(lc, lsd, controlByte);
m_network->resetP25();
}
break;
}

@ -191,12 +191,19 @@ namespace network
// set SO_REUSEADDR option
const int sockOptVal = 1;
#if defined(_WIN32)
if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (char*)&sockOptVal, sizeof(int)) < 0) {
LogError(LOG_NET, "Failed to connect to InfluxDB server, err: %d", errno);
closesocket(fd);
return 1;
}
#else
if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &sockOptVal, sizeof(int)) < 0) {
LogError(LOG_NET, "Failed to connect to InfluxDB server, err: %d", errno);
closesocket(fd);
return 1;
}
#endif
// connect to the server
ret = connect(fd, addr->ai_addr, addr->ai_addrlen);
if (ret < 0) {
@ -297,9 +304,11 @@ namespace network
struct linger sl;
sl.l_onoff = 1; /* non-zero value enables linger option in kernel */
sl.l_linger = 0; /* timeout interval in seconds */
#if defined(_WIN32)
setsockopt(fd, SOL_SOCKET, SO_LINGER, (char*)&sl, sizeof(sl));
#else
setsockopt(fd, SOL_SOCKET, SO_LINGER, &sl, sizeof(sl));
#endif
// close socket
closesocket(fd);
return ret / 100 == 2 ? 0 : ret;

Loading…
Cancel
Save

Powered by TurnKey Linux.