37 #ifndef RTPIPV4DESTINATION_H 39 #define RTPIPV4DESTINATION_H 41 #include "rtpconfig.h" 44 #ifndef RTP_SOCKETTYPE_WINSOCK 45 #include <netinet/in.h> 46 #include <arpa/inet.h> 47 #include <sys/socket.h> 48 #endif // RTP_SOCKETTYPE_WINSOCK 55 class JRTPLIB_IMPORTEXPORT RTPIPv4Destination
61 memset(&rtpaddr,0,
sizeof(
struct sockaddr_in));
62 memset(&rtcpaddr,0,
sizeof(
struct sockaddr_in));
65 RTPIPv4Destination(uint32_t ip,uint16_t rtpport,uint16_t rtcpport)
67 memset(&rtpaddr,0,
sizeof(
struct sockaddr_in));
68 memset(&rtcpaddr,0,
sizeof(
struct sockaddr_in));
70 rtpaddr.sin_family = AF_INET;
71 rtpaddr.sin_port = htons(rtpport);
72 rtpaddr.sin_addr.s_addr = htonl(ip);
74 rtcpaddr.sin_family = AF_INET;
75 rtcpaddr.sin_port = htons(rtcpport);
76 rtcpaddr.sin_addr.s_addr = htonl(ip);
78 RTPIPv4Destination::ip = ip;
81 bool operator==(
const RTPIPv4Destination &src)
const 83 if (rtpaddr.sin_addr.s_addr == src.rtpaddr.sin_addr.s_addr && rtpaddr.sin_port == src.rtpaddr.sin_port)
87 uint32_t GetIP()
const {
return ip; }
89 uint32_t GetIP_NBO()
const {
return rtpaddr.sin_addr.s_addr; }
90 uint16_t GetRTPPort_NBO()
const {
return rtpaddr.sin_port; }
91 uint16_t GetRTCPPort_NBO()
const {
return rtcpaddr.sin_port; }
92 const struct sockaddr_in *GetRTPSockAddr()
const {
return &rtpaddr; }
93 const struct sockaddr_in *GetRTCPSockAddr()
const {
return &rtcpaddr; }
94 std::string GetDestinationString()
const;
96 static bool AddressToDestination(
const RTPAddress &addr, RTPIPv4Destination &dest)
101 const RTPIPv4Address &address = (
const RTPIPv4Address &)addr;
102 uint16_t rtpport = address.GetPort();
103 uint16_t rtcpport = address.GetRTCPSendPort();
105 dest = RTPIPv4Destination(address.GetIP(),rtpport,rtcpport);
111 struct sockaddr_in rtpaddr;
112 struct sockaddr_in rtcpaddr;
117 #endif // RTPIPV4DESTINATION_H Definition: rtpfaketransmitter.h:64
Used by the UDP over IPv4 transmitter.
Definition: rtpaddress.h:56