add multicast api

pull/330/head
Michel Promonet 3 months ago
parent 7f91dbe3fb
commit 5cf22b4716

@ -164,7 +164,7 @@ class V4l2RTSPServer {
return this->addSession(url, subSession);
}
void decodeMulticastUrl(const std::string & maddr, in_addr & destinationAddress, unsigned short & rtpPortNum, unsigned short & rtcpPortNum)
std::string decodeMulticastUrl(const std::string & maddr, in_addr & destinationAddress, unsigned short & rtpPortNum, unsigned short & rtcpPortNum)
{
std::istringstream is(maddr);
std::string ip;
@ -189,14 +189,14 @@ class V4l2RTSPServer {
{
rtcpPortNum = atoi(port.c_str());
}
return inet_ntoa(destinationAddress) + std::string(":") + std::to_string(rtpPortNum) + std::string(":") + std::to_string(rtcpPortNum);
}
ServerMediaSession* AddMulticastSession(const std::string& url, std::string& multicasturi, StreamReplicator* videoReplicator, StreamReplicator* audioReplicator) {
ServerMediaSession* AddMulticastSession(const std::string& url, const std::string& inmulticasturi, std::string& outmulticasturi, StreamReplicator* videoReplicator, StreamReplicator* audioReplicator) {
struct in_addr destinationAddress;
unsigned short rtpPortNum;
unsigned short rtcpPortNum;
this->decodeMulticastUrl(multicasturi, destinationAddress, rtpPortNum, rtcpPortNum);
multicasturi = inet_ntoa(destinationAddress) + std::string(":") + std::to_string(rtpPortNum) + std::string(":") + std::to_string(rtcpPortNum);
outmulticasturi = this->decodeMulticastUrl(inmulticasturi, destinationAddress, rtpPortNum, rtcpPortNum);
return this->AddMulticastSession(url, destinationAddress, rtpPortNum, rtcpPortNum, videoReplicator, audioReplicator);
}

Loading…
Cancel
Save