Read satip specific com.ses.streamid header and update the baseurl using it. The satip speficiation expects the streamid to be used as control url (sat>ip protocol specification 1.2.2 p24ff) all stream arguments used for the SETUP request are to be dropped once a streamid was retrieved. This patch assumes that the url used for SETUP is not containing any slashes after the host delimiter in baseurl, which is expected to be true for any satip stream.
Signed-off-by: Julian Scheel <jul...@jusst.de> --- liveMedia/RTSPClient.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/liveMedia/RTSPClient.cpp b/liveMedia/RTSPClient.cpp index 73ab012..fc68042 100644 --- a/liveMedia/RTSPClient.cpp +++ b/liveMedia/RTSPClient.cpp @@ -1729,6 +1729,15 @@ void RTSPClient::handleResponseBytes(int newBytesRead) { // Note: we accept "Allow:" instead of "Public:", so that "OPTIONS" requests made to HTTP servers will work. } else if (checkForHeader(lineStart, "Location:", 9, headerParamsStr)) { setBaseURL(headerParamsStr); + } else if (checkForHeader(lineStart, "com.ses.streamID:", 16, headerParamsStr)) { + char *base = strrchr(fBaseURL, '/'); + char *newbase; + if (base) { + asprintf(&newbase, "%.*s/stream=%s", (int)(base - fBaseURL), fBaseURL, + headerParamsStr + 1); + setBaseURL(newbase); + free(newbase); + } } } if (!reachedEndOfHeaders) break; // an error occurred -- 2.6.2 _______________________________________________ live-devel mailing list live-devel@lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel