From b81f98093224dc957f2c2c9b31e79d48697f0980 Mon Sep 17 00:00:00 2001 From: Thulinma Date: Wed, 11 Oct 2017 11:02:46 +0200 Subject: [PATCH] Added --ignore-sending-port option to RTSP output --- src/output/output_rtsp.cpp | 9 ++++++++- src/output/output_rtsp.h | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/output/output_rtsp.cpp b/src/output/output_rtsp.cpp index b1109e52..d3d8e1a2 100644 --- a/src/output/output_rtsp.cpp +++ b/src/output/output_rtsp.cpp @@ -26,6 +26,7 @@ namespace Mist{ setBlocking(false); maxSkipAhead = 0; expectTCP = false; + checkPort = !config->getBool("ignsendport"); lastTimeSync = 0; mainConn = &myConn; classPointer = this; @@ -86,6 +87,12 @@ namespace Mist{ capa["optional"]["maxsend"]["option"] = "--max-packet-size"; capa["optional"]["maxsend"]["short"] = "m"; + capa["optional"]["ignsendport"]["name"] = "Ignore sending port #"; + capa["optional"]["ignsendport"]["help"] = "Ignore the sending port number of incoming data"; + capa["optional"]["ignsendport"]["default"] = false; + capa["optional"]["ignsendport"]["option"] = "--ignore-sending-port"; + capa["optional"]["ignsendport"]["short"] = "I"; + cfg->addConnectorOptions(5554, capa); config = cfg; } @@ -372,7 +379,7 @@ namespace Mist{ it != sdpState.tracks.end(); ++it){ Socket::UDPConnection &s = it->second.data; while (s.Receive()){ - if (s.getDestPort() != it->second.cPort){ + if (s.getDestPort() != it->second.cPort && checkPort){ // wrong sending port, ignore packet continue; } diff --git a/src/output/output_rtsp.h b/src/output/output_rtsp.h index 4a76bfe0..1f60f826 100644 --- a/src/output/output_rtsp.h +++ b/src/output/output_rtsp.h @@ -27,6 +27,7 @@ namespace Mist{ std::string source; uint64_t lastTimeSync; bool expectTCP; + bool checkPort; bool handleTCP(); void handleUDP(); };