Commit b09919d3 by xiongziliang

替换inet_ntoa线程安全版本

parent 727322b8
ZLToolKit @ f0608fb7
Subproject commit 987683f1045613098e2bcd534bc90a13d16df8a4 Subproject commit f0608fb75660682150f45f857d5d8051880b13aa
...@@ -15,6 +15,7 @@ ...@@ -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) { ...@@ -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) { ...@@ -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() { ...@@ -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){ ...@@ -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: ...@@ -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) ...@@ -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) ...@@ -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) { ...@@ -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) { ...@@ -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()) {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论