Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/VLC/contrib/src/live555/   (VLC Media Plyer ©)  Datei vom 23.9.2026 mit Größe 3 kB image not shown  

Quelle  expose_server_string.patch  Sprache: unbekannt

 
Spracherkennung für: .patch vermutete Sprache: CS {CS[75] JAVA[75] C[70]} [Methode: maximale Elemente, drei Dimensionen]

diff -Naur live555/liveMedia/include/RTSPClient.hh live555.modified/liveMedia/include/RTSPClient.hh
--- live555/liveMedia/include/RTSPClient.hh 2022-06-16 11:14:03.000000000 +0000
+++ live555.modified/liveMedia/include/RTSPClient.hh 2022-07-16 11:36:23.642103174 +0000
@@ -39,6 +39,8 @@
 #endif
 #endif
 
+#define VLC_PATCH_RTSPCLIENT_SERVERSTRING
+
 class RTSPClient: public Medium {
 public:
   static RTSPClient* createNew(UsageEnvironment& env, char const* rtspURL,
@@ -194,6 +196,7 @@
   unsigned sessionTimeoutParameter() const { return fSessionTimeoutParameter; }
 
   char const* url() const { return fBaseURL; }
+  char const* serverString() const { return fserverString; }
 
   static unsigned responseBufferSize;
 
@@ -246,6 +249,7 @@
 
   void reset();
   void setBaseURL(char const* url);
+  void setServerString(char const* str);
   int grabSocket(); // allows a subclass to reuse our input socket, so that it won't get closed when we're deleted
   virtual unsigned sendRequest(RequestRecord* request);
   virtual Boolean setRequestFields(RequestRecord* request,
@@ -347,6 +351,7 @@
   unsigned fUserAgentHeaderStrLen;
   int fInputSocketNum, fOutputSocketNum;
   char* fBaseURL;
+  char *fserverString;
   unsigned char fTCPStreamIdCount; // used for (optional) RTP/TCP
   char* fLastSessionId;
   unsigned fSessionTimeoutParameter; // optionally set in response "Session:" headers
diff -Naur live555/liveMedia/RTSPClient.cpp live555.modified/liveMedia/RTSPClient.cpp
--- live555/liveMedia/RTSPClient.cpp 2022-06-16 11:14:03.000000000 +0000
+++ live555.modified/liveMedia/RTSPClient.cpp 2022-07-16 11:43:31.446232524 +0000
@@ -397,7 +397,7 @@
     desiredMaxIncomingPacketSize(0), fVerbosityLevel(verbosityLevel), fCSeq(1),
     fAllowBasicAuthentication(True), fTunnelOverHTTPPortNum(tunnelOverHTTPPortNum),
     fUserAgentHeaderStr(NULL), fUserAgentHeaderStrLen(0),
-    fInputSocketNum(-1), fOutputSocketNum(-1), fBaseURL(NULL), fTCPStreamIdCount(0),
+    fInputSocketNum(-1), fOutputSocketNum(-1), fBaseURL(NULL), fserverString(NULL), fTCPStreamIdCount(0),
     fLastSessionId(NULL), fSessionTimeoutParameter(0), fRequireStr(NULL),
     fSessionCookieCounter(0), fHTTPTunnelingConnectionIsPending(False),
     fTLS(*this), fPOSTSocketTLS(*this) {
@@ -451,6 +451,7 @@
   fRequestsAwaitingResponse.reset();
 
   setBaseURL(NULL);
+  setServerString(NULL);
 
   fCurrentAuthenticator.reset();
 
@@ -461,6 +462,10 @@
   delete[] fBaseURL; fBaseURL = strDup(url);
 }
 
+void RTSPClient::setServerString(char const* str) {
+  delete[] fserverString; fserverString = strDup(str);
+}
+
 int RTSPClient::grabSocket() {
   int inputSocket = fInputSocketNum;
   RTPInterface::clearServerRequestAlternativeByteHandler(envir(), fInputSocketNum); // in case we were receiving RTP-over-TCP
@@ -1770,6 +1775,7 @@
     char const* rtpInfoParamsStr = NULL;
     char const* wwwAuthenticateParamsStr = NULL;
     char const* publicParamsStr = NULL;
+    char const* serverStr = NULL;
     char* bodyStart = NULL;
     unsigned numBodyBytes = 0;
     responseSuccess = False;
@@ -1847,6 +1853,8 @@
 // (see http://live555.com/liveMedia/faq.html#mailing-list-address for details),
       )) {
 // to check whether your proposed modification is appropriate/correct,
+ } else if (checkForHeader(lineStart, "Server:", 7, serverStr)) {
+   setServerString(serverStr);
  } else if (checkForHeader(lineStart, "Range:",
 // and, if so, whether instead it could be included in
       6,

[Dauer der Verarbeitung: 0.3 Sekunden, vorverarbeitet 2026-10-24]