mirror of
https://github.com/ZLMediaKit/ZLMediaKit.git
synced 2024-11-25 12:11:36 +08:00
替换inet_ntoa线程安全版本
This commit is contained in:
parent
727322b8e9
commit
b09919d374
@ -1 +1 @@
|
|||||||
Subproject commit 987683f1045613098e2bcd534bc90a13d16df8a4
|
Subproject commit f0608fb75660682150f45f857d5d8051880b13aa
|
@ -15,6 +15,7 @@
|
|||||||
#include "Extension/H265.h"
|
#include "Extension/H265.h"
|
||||||
#include "Extension/AAC.h"
|
#include "Extension/AAC.h"
|
||||||
#include "Extension/G711.h"
|
#include "Extension/G711.h"
|
||||||
|
#define RTP_APP_NAME "rtp"
|
||||||
|
|
||||||
namespace mediakit{
|
namespace mediakit{
|
||||||
|
|
||||||
@ -57,7 +58,7 @@ string printSSRC(uint32_t ui32Ssrc) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static string printAddress(const struct sockaddr *addr){
|
static string printAddress(const struct sockaddr *addr){
|
||||||
return StrPrinter << inet_ntoa(((struct sockaddr_in *) addr)->sin_addr) << ":" << ntohs(((struct sockaddr_in *) addr)->sin_port);
|
return StrPrinter << SockUtil::inet_ntoa(((struct sockaddr_in *) addr)->sin_addr) << ":" << ntohs(((struct sockaddr_in *) addr)->sin_port);
|
||||||
}
|
}
|
||||||
|
|
||||||
RtpProcess::RtpProcess(uint32_t ssrc) {
|
RtpProcess::RtpProcess(uint32_t ssrc) {
|
||||||
@ -73,7 +74,7 @@ RtpProcess::RtpProcess(uint32_t ssrc) {
|
|||||||
GET_CONFIG(bool,toHls,General::kPublishToHls);
|
GET_CONFIG(bool,toHls,General::kPublishToHls);
|
||||||
GET_CONFIG(bool,toMP4,General::kPublishToMP4);
|
GET_CONFIG(bool,toMP4,General::kPublishToMP4);
|
||||||
|
|
||||||
_muxer = std::make_shared<MultiMediaSourceMuxer>(DEFAULT_VHOST,"rtp",printSSRC(_ssrc),0,toRtxp,toRtxp,toHls,toMP4);
|
_muxer = std::make_shared<MultiMediaSourceMuxer>(DEFAULT_VHOST,RTP_APP_NAME,printSSRC(_ssrc),0,toRtxp,toRtxp,toHls,toMP4);
|
||||||
|
|
||||||
GET_CONFIG(string,dump_dir,RtpProxy::kDumpDir);
|
GET_CONFIG(string,dump_dir,RtpProxy::kDumpDir);
|
||||||
{
|
{
|
||||||
@ -310,7 +311,7 @@ bool RtpProcess::alive() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
string RtpProcess::get_peer_ip() {
|
string RtpProcess::get_peer_ip() {
|
||||||
return inet_ntoa(((struct sockaddr_in *) _addr)->sin_addr);
|
return SockUtil::inet_ntoa(((struct sockaddr_in *) _addr)->sin_addr);
|
||||||
}
|
}
|
||||||
|
|
||||||
uint16_t RtpProcess::get_peer_port() {
|
uint16_t RtpProcess::get_peer_port() {
|
||||||
|
@ -141,7 +141,7 @@ uint16_t RtpMultiCaster::getPort(TrackType trackType){
|
|||||||
return _apUdpSock[trackType]->get_local_port();
|
return _apUdpSock[trackType]->get_local_port();
|
||||||
}
|
}
|
||||||
string RtpMultiCaster::getIP(){
|
string RtpMultiCaster::getIP(){
|
||||||
return inet_ntoa(_aPeerUdpAddr[0].sin_addr);
|
return SockUtil::inet_ntoa(_aPeerUdpAddr[0].sin_addr);
|
||||||
}
|
}
|
||||||
RtpMultiCaster::Ptr RtpMultiCaster::make(const EventPoller::Ptr &poller,const string &strLocalIp,const string &strVhost,const string &strApp,const string &strStream){
|
RtpMultiCaster::Ptr RtpMultiCaster::make(const EventPoller::Ptr &poller,const string &strLocalIp,const string &strVhost,const string &strApp,const string &strStream){
|
||||||
try{
|
try{
|
||||||
|
@ -38,7 +38,7 @@ public:
|
|||||||
}
|
}
|
||||||
static string toString(uint32_t iAddr){
|
static string toString(uint32_t iAddr){
|
||||||
iAddr = htonl(iAddr);
|
iAddr = htonl(iAddr);
|
||||||
return ::inet_ntoa((struct in_addr &)(iAddr));
|
return SockUtil::inet_ntoa((struct in_addr &)(iAddr));
|
||||||
}
|
}
|
||||||
virtual ~MultiCastAddressMaker(){}
|
virtual ~MultiCastAddressMaker(){}
|
||||||
std::shared_ptr<uint32_t> obtain(uint32_t iTry = 10);
|
std::shared_ptr<uint32_t> obtain(uint32_t iTry = 10);
|
||||||
|
@ -337,7 +337,7 @@ void RtspPlayer::handleResSETUP(const Parser &parser, unsigned int uiTrackIndex)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (((struct sockaddr_in *) addr)->sin_addr.s_addr != srcIP) {
|
if (((struct sockaddr_in *) addr)->sin_addr.s_addr != srcIP) {
|
||||||
WarnL << "收到其他地址的rtp数据:" << inet_ntoa(((struct sockaddr_in *) addr)->sin_addr);
|
WarnL << "收到其他地址的rtp数据:" << SockUtil::inet_ntoa(((struct sockaddr_in *) addr)->sin_addr);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
strongSelf->handleOneRtp(uiTrackIndex, strongSelf->_aTrackInfo[uiTrackIndex], (unsigned char *) buf->data(), buf->size());
|
strongSelf->handleOneRtp(uiTrackIndex, strongSelf->_aTrackInfo[uiTrackIndex], (unsigned char *) buf->data(), buf->size());
|
||||||
@ -351,7 +351,7 @@ void RtspPlayer::handleResSETUP(const Parser &parser, unsigned int uiTrackIndex)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (((struct sockaddr_in *) addr)->sin_addr.s_addr != srcIP) {
|
if (((struct sockaddr_in *) addr)->sin_addr.s_addr != srcIP) {
|
||||||
WarnL << "收到其他地址的rtcp数据:" << inet_ntoa(((struct sockaddr_in *) addr)->sin_addr);
|
WarnL << "收到其他地址的rtcp数据:" << SockUtil::inet_ntoa(((struct sockaddr_in *) addr)->sin_addr);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
strongSelf->onRtcpPacket(uiTrackIndex, strongSelf->_aTrackInfo[uiTrackIndex], (unsigned char *) buf->data(), buf->size());
|
strongSelf->onRtcpPacket(uiTrackIndex, strongSelf->_aTrackInfo[uiTrackIndex], (unsigned char *) buf->data(), buf->size());
|
||||||
|
@ -955,7 +955,7 @@ inline void RtspSession::startListenPeerUdpData(int trackIdx) {
|
|||||||
|
|
||||||
if (((struct sockaddr_in *) pPeerAddr)->sin_addr.s_addr != srcIP) {
|
if (((struct sockaddr_in *) pPeerAddr)->sin_addr.s_addr != srcIP) {
|
||||||
WarnP(strongSelf.get()) << ((intervaled % 2 == 0) ? "收到其他地址的rtp数据:" : "收到其他地址的rtcp数据:")
|
WarnP(strongSelf.get()) << ((intervaled % 2 == 0) ? "收到其他地址的rtp数据:" : "收到其他地址的rtcp数据:")
|
||||||
<< inet_ntoa(((struct sockaddr_in *) pPeerAddr)->sin_addr);
|
<< SockUtil::inet_ntoa(((struct sockaddr_in *) pPeerAddr)->sin_addr);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -76,7 +76,7 @@ void UDPServer::onErr(const string& strKey, const SockException& err) {
|
|||||||
void UDPServer::onRcvData(int intervaled, const Buffer::Ptr &pBuf, struct sockaddr* pPeerAddr) {
|
void UDPServer::onRcvData(int intervaled, const Buffer::Ptr &pBuf, struct sockaddr* pPeerAddr) {
|
||||||
//TraceL << trackIndex;
|
//TraceL << trackIndex;
|
||||||
struct sockaddr_in *in = (struct sockaddr_in *) pPeerAddr;
|
struct sockaddr_in *in = (struct sockaddr_in *) pPeerAddr;
|
||||||
string peerIp = inet_ntoa(in->sin_addr);
|
string peerIp = SockUtil::inet_ntoa(in->sin_addr);
|
||||||
lock_guard<mutex> lck(_mtxDataHandler);
|
lock_guard<mutex> lck(_mtxDataHandler);
|
||||||
auto it0 = _mapDataHandler.find(peerIp);
|
auto it0 = _mapDataHandler.find(peerIp);
|
||||||
if (it0 == _mapDataHandler.end()) {
|
if (it0 == _mapDataHandler.end()) {
|
||||||
|
Loading…
Reference in New Issue
Block a user