Fix push outputs to use the correct remote addresses
This commit is contained in:
parent
7098f8430b
commit
0674443066
7 changed files with 9 additions and 5 deletions
|
@ -1207,7 +1207,7 @@ std::string Socket::Connection::getBinHost(){
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Sets hostname for connection manually.
|
/// Sets hostname for connection manually.
|
||||||
/// Overwrites the detected host, thus possibily making it incorrect.
|
/// Overwrites the detected host, thus possibly making it incorrect.
|
||||||
void Socket::Connection::setHost(std::string host){
|
void Socket::Connection::setHost(std::string host){
|
||||||
remotehost = host;
|
remotehost = host;
|
||||||
struct addrinfo *result, hints;
|
struct addrinfo *result, hints;
|
||||||
|
|
|
@ -208,6 +208,7 @@ namespace Socket{
|
||||||
if (outgoing_port){setupAdapter("", outgoing_port);}
|
if (outgoing_port){setupAdapter("", outgoing_port);}
|
||||||
|
|
||||||
sockaddr_in sa = createInetAddr(_host, _port);
|
sockaddr_in sa = createInetAddr(_host, _port);
|
||||||
|
memcpy(&remoteaddr, &sa, sizeof(sockaddr_in));
|
||||||
sockaddr *psa = (sockaddr *)&sa;
|
sockaddr *psa = (sockaddr *)&sa;
|
||||||
|
|
||||||
HIGH_MSG("Going to connect sock %d", sock);
|
HIGH_MSG("Going to connect sock %d", sock);
|
||||||
|
|
|
@ -218,10 +218,9 @@ namespace Mist{
|
||||||
|
|
||||||
std::string Output::getConnectedBinHost(){
|
std::string Output::getConnectedBinHost(){
|
||||||
if (!prevHost.size()){
|
if (!prevHost.size()){
|
||||||
if (myConn && myConn.getPureSocket() != -1){
|
MEDIUM_MSG("Setting prevHost to %s", getConnectedHost().c_str());
|
||||||
prevHost = myConn.getBinHost();
|
prevHost = myConn.getBinHost();
|
||||||
}
|
if (!prevHost.size()){prevHost.assign("\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000", 16);}
|
||||||
if (!prevHost.size()){prevHost.assign("\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001", 16);}
|
|
||||||
}
|
}
|
||||||
return prevHost;
|
return prevHost;
|
||||||
}
|
}
|
||||||
|
|
|
@ -93,6 +93,7 @@ namespace Mist{
|
||||||
|
|
||||||
INFO_MSG("About to push stream %s out. Host: %s, port: %" PRIu32 ", location: %s",
|
INFO_MSG("About to push stream %s out. Host: %s, port: %" PRIu32 ", location: %s",
|
||||||
streamName.c_str(), pushUrl.host.c_str(), pushUrl.getPort(), pushUrl.path.c_str());
|
streamName.c_str(), pushUrl.host.c_str(), pushUrl.getPort(), pushUrl.path.c_str());
|
||||||
|
myConn.setHost(pushUrl.host);
|
||||||
initialize();
|
initialize();
|
||||||
initialSeek();
|
initialSeek();
|
||||||
startPushOut();
|
startPushOut();
|
||||||
|
|
|
@ -54,6 +54,7 @@ namespace Mist{
|
||||||
}
|
}
|
||||||
INFO_MSG("About to push stream %s out. Host: %s, port: %d, app: %s, stream: %s", streamName.c_str(),
|
INFO_MSG("About to push stream %s out. Host: %s, port: %d, app: %s, stream: %s", streamName.c_str(),
|
||||||
pushUrl.host.c_str(), pushUrl.getPort(), app.c_str(), streamOut.c_str());
|
pushUrl.host.c_str(), pushUrl.getPort(), app.c_str(), streamOut.c_str());
|
||||||
|
myConn.setHost(pushUrl.host);
|
||||||
initialize();
|
initialize();
|
||||||
initialSeek();
|
initialSeek();
|
||||||
startPushOut("");
|
startPushOut("");
|
||||||
|
|
|
@ -85,6 +85,7 @@ namespace Mist{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
pushSock.SetDestination(target.host, target.getPort());
|
pushSock.SetDestination(target.host, target.getPort());
|
||||||
|
myConn.setHost(target.host);
|
||||||
pushing = false;
|
pushing = false;
|
||||||
}else{
|
}else{
|
||||||
//No push target? Check if this is a push input or pull output by waiting for data for 5s
|
//No push target? Check if this is a push input or pull output by waiting for data for 5s
|
||||||
|
|
|
@ -130,6 +130,7 @@ namespace Mist{
|
||||||
onFail("Failed to start RIST connection");
|
onFail("Failed to start RIST connection");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
myConn.setHost(target.host);
|
||||||
wantRequest = false;
|
wantRequest = false;
|
||||||
parseData = true;
|
parseData = true;
|
||||||
initialize();
|
initialize();
|
||||||
|
|
Loading…
Add table
Reference in a new issue