mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
Upgrade libsrt to v1.5.3. v5.0.183 v6.0.81 (#3808)
fix https://github.com/ossrs/srs/issues/3155 Build srt-1-fit fails with `standard attributes in middle of decl-specifiers` on GCC 12,Arch Linux. See https://github.com/Haivision/srt/releases/tag/v1.5.3
This commit is contained in:
parent
f9bba0a9b0
commit
c5e067fb0b
94 changed files with 5974 additions and 6273 deletions
21
trunk/3rdparty/srt-1-fit/srtcore/common.cpp
vendored
21
trunk/3rdparty/srt-1-fit/srtcore/common.cpp
vendored
|
@ -168,11 +168,7 @@ void srt::CIPAddress::ntop(const sockaddr_any& addr, uint32_t ip[4])
|
|||
}
|
||||
else
|
||||
{
|
||||
const sockaddr_in6* a = &addr.sin6;
|
||||
ip[3] = (a->sin6_addr.s6_addr[15] << 24) + (a->sin6_addr.s6_addr[14] << 16) + (a->sin6_addr.s6_addr[13] << 8) + a->sin6_addr.s6_addr[12];
|
||||
ip[2] = (a->sin6_addr.s6_addr[11] << 24) + (a->sin6_addr.s6_addr[10] << 16) + (a->sin6_addr.s6_addr[9] << 8) + a->sin6_addr.s6_addr[8];
|
||||
ip[1] = (a->sin6_addr.s6_addr[7] << 24) + (a->sin6_addr.s6_addr[6] << 16) + (a->sin6_addr.s6_addr[5] << 8) + a->sin6_addr.s6_addr[4];
|
||||
ip[0] = (a->sin6_addr.s6_addr[3] << 24) + (a->sin6_addr.s6_addr[2] << 16) + (a->sin6_addr.s6_addr[1] << 8) + a->sin6_addr.s6_addr[0];
|
||||
std::memcpy(ip, addr.sin6.sin6_addr.s6_addr, 16);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -223,18 +219,7 @@ void srt::CIPAddress::pton(sockaddr_any& w_addr, const uint32_t ip[4], const soc
|
|||
// Here both agent and peer use IPv6, in which case
|
||||
// `ip` contains the full IPv6 address, so just copy
|
||||
// it as is.
|
||||
|
||||
// XXX Possibly, a simple
|
||||
// memcpy( (a->sin6_addr.s6_addr), ip, 16);
|
||||
// would do the same thing, and faster. The address in `ip`,
|
||||
// even though coded here as uint32_t, is still big endian.
|
||||
for (int i = 0; i < 4; ++ i)
|
||||
{
|
||||
a->sin6_addr.s6_addr[i * 4 + 0] = ip[i] & 0xFF;
|
||||
a->sin6_addr.s6_addr[i * 4 + 1] = (unsigned char)((ip[i] & 0xFF00) >> 8);
|
||||
a->sin6_addr.s6_addr[i * 4 + 2] = (unsigned char)((ip[i] & 0xFF0000) >> 16);
|
||||
a->sin6_addr.s6_addr[i * 4 + 3] = (unsigned char)((ip[i] & 0xFF000000) >> 24);
|
||||
}
|
||||
std::memcpy(a->sin6_addr.s6_addr, ip, 16);
|
||||
return; // The address is written, nothing left to do.
|
||||
}
|
||||
|
||||
|
@ -457,7 +442,7 @@ std::string TransmissionEventStr(ETransmissionEvent ev)
|
|||
return vals[ev];
|
||||
}
|
||||
|
||||
bool SrtParseConfig(string s, SrtConfig& w_config)
|
||||
bool SrtParseConfig(const string& s, SrtConfig& w_config)
|
||||
{
|
||||
using namespace std;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue