From 5e03f4523819e98191bfbb3193063526bd6bf92e Mon Sep 17 00:00:00 2001 From: Nicolas Chauvet Date: Mon, 24 Jan 2011 22:16:07 +0000 Subject: [PATCH] Update to 2011.01.24 --- .gitignore | 2 +- live-inet_ntop.patch | 132 +++++++++++++++++++------------------------ live-uselocale.patch | 28 ++++----- live555.spec | 26 ++++++++- sources | 2 +- 5 files changed, 99 insertions(+), 91 deletions(-) diff --git a/.gitignore b/.gitignore index 878963d..1dd9de7 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -live.2010.04.09.tar.gz +live.2011.01.24.tar.gz diff --git a/live-inet_ntop.patch b/live-inet_ntop.patch index 8129874..b565f71 100644 --- a/live-inet_ntop.patch +++ b/live-inet_ntop.patch @@ -1,9 +1,9 @@ Copyright (C) 2010 Rémi Denis-Courmont. Licensed under GNU General Public License version 2 or higher. -diff -ru live.orig//groupsock/Groupsock.cpp live//groupsock/Groupsock.cpp ---- live.orig//groupsock/Groupsock.cpp 2010-04-09 22:27:39.000000000 +0300 -+++ live//groupsock/Groupsock.cpp 2010-04-17 19:51:07.000000000 +0300 -@@ -331,8 +331,10 @@ +diff -ru live.orig/groupsock/Groupsock.cpp live/groupsock/Groupsock.cpp +--- live.orig/groupsock/Groupsock.cpp 2010-10-20 10:31:13.000000000 +0200 ++++ live/groupsock/Groupsock.cpp 2010-10-20 12:34:04.762178010 +0200 +@@ -335,8 +335,10 @@ } } if (DebugLevel >= 3) { @@ -15,7 +15,7 @@ diff -ru live.orig//groupsock/Groupsock.cpp live//groupsock/Groupsock.cpp if (numMembers > 0) { env() << "; relayed to " << numMembers << " members"; } -@@ -441,13 +443,14 @@ +@@ -445,13 +447,14 @@ } UsageEnvironment& operator<<(UsageEnvironment& s, const Groupsock& g) { @@ -32,10 +32,10 @@ diff -ru live.orig//groupsock/Groupsock.cpp live//groupsock/Groupsock.cpp } else { return s1 << (unsigned)(g.ttl()) << ")"; } -diff -ru live.orig//groupsock/include/GroupsockHelper.hh live//groupsock/include/GroupsockHelper.hh ---- live.orig//groupsock/include/GroupsockHelper.hh 2010-04-09 22:27:39.000000000 +0300 -+++ live//groupsock/include/GroupsockHelper.hh 2010-04-17 19:43:44.000000000 +0300 -@@ -124,7 +124,7 @@ +diff -ru live.orig/groupsock/include/GroupsockHelper.hh live/groupsock/include/GroupsockHelper.hh +--- live.orig/groupsock/include/GroupsockHelper.hh 2010-10-20 10:31:13.000000000 +0200 ++++ live/groupsock/include/GroupsockHelper.hh 2010-10-20 12:34:04.762178010 +0200 +@@ -116,7 +116,7 @@ // The following are implemented in inet.c: extern "C" netAddressBits our_inet_addr(char const*); @@ -44,10 +44,10 @@ diff -ru live.orig//groupsock/include/GroupsockHelper.hh live//groupsock/include extern "C" struct hostent* our_gethostbyname(char* name); extern "C" void our_srandom(int x); extern "C" long our_random(); -diff -ru live.orig//groupsock/inet.c live//groupsock/inet.c ---- live.orig//groupsock/inet.c 2010-04-09 22:27:39.000000000 +0300 -+++ live//groupsock/inet.c 2010-04-17 19:42:52.000000000 +0300 -@@ -21,26 +21,18 @@ +diff -ru live.orig/groupsock/inet.c live/groupsock/inet.c +--- live.orig/groupsock/inet.c 2010-10-20 10:31:13.000000000 +0200 ++++ live/groupsock/inet.c 2010-10-20 12:34:04.762178010 +0200 +@@ -21,26 +21,19 @@ } char * @@ -65,7 +65,8 @@ diff -ru live.orig//groupsock/inet.c live//groupsock/inet.c + strncpy(result, ret, 16); + return ret; +#elif !defined (VXWORKS) -+ return inet_ntop(AF_INET, &in, result, 16); ++ inet_ntop(AF_INET, &in, result, 16); ++ return(result); #else - /* according the man pages of inet_ntoa : - @@ -84,10 +85,10 @@ diff -ru live.orig//groupsock/inet.c live//groupsock/inet.c inet_ntoa_b(in, result); return(result); #endif -diff -ru live.orig//liveMedia/DarwinInjector.cpp live//liveMedia/DarwinInjector.cpp ---- live.orig//liveMedia/DarwinInjector.cpp 2010-04-09 22:27:39.000000000 +0300 -+++ live//liveMedia/DarwinInjector.cpp 2010-04-17 19:45:19.000000000 +0300 -@@ -128,7 +128,8 @@ +diff -ru live.orig/liveMedia/DarwinInjector.cpp live/liveMedia/DarwinInjector.cpp +--- live.orig/liveMedia/DarwinInjector.cpp 2010-10-20 10:31:13.000000000 +0200 ++++ live/liveMedia/DarwinInjector.cpp 2010-10-20 12:34:04.762178010 +0200 +@@ -146,7 +146,8 @@ NetAddress const* address = addresses.firstAddress(); addr.s_addr = *(unsigned*)(address->data()); } @@ -97,9 +98,9 @@ diff -ru live.orig//liveMedia/DarwinInjector.cpp live//liveMedia/DarwinInjector. // Construct a SDP description for the session that we'll be streaming: char const* const sdpFmt = -diff -ru live.orig//liveMedia/OnDemandServerMediaSubsession.cpp live//liveMedia/OnDemandServerMediaSubsession.cpp ---- live.orig//liveMedia/OnDemandServerMediaSubsession.cpp 2010-04-09 22:27:39.000000000 +0300 -+++ live//liveMedia/OnDemandServerMediaSubsession.cpp 2010-04-17 19:50:05.000000000 +0300 +diff -ru live.orig/liveMedia/OnDemandServerMediaSubsession.cpp live/liveMedia/OnDemandServerMediaSubsession.cpp +--- live.orig/liveMedia/OnDemandServerMediaSubsession.cpp 2010-10-20 10:31:13.000000000 +0200 ++++ live/liveMedia/OnDemandServerMediaSubsession.cpp 2010-10-20 12:34:04.762178010 +0200 @@ -365,7 +365,8 @@ char const* mediaType = rtpSink->sdpMediaType(); unsigned char rtpPayloadType = rtpSink->rtpPayloadType(); @@ -119,9 +120,9 @@ diff -ru live.orig//liveMedia/OnDemandServerMediaSubsession.cpp live//liveMedia/ fSDPLines = strDup(sdpLines); delete[] sdpLines; -diff -ru live.orig//liveMedia/PassiveServerMediaSubsession.cpp live//liveMedia/PassiveServerMediaSubsession.cpp ---- live.orig//liveMedia/PassiveServerMediaSubsession.cpp 2010-04-09 22:27:39.000000000 +0300 -+++ live//liveMedia/PassiveServerMediaSubsession.cpp 2010-04-17 19:46:28.000000000 +0300 +diff -ru live.orig/liveMedia/PassiveServerMediaSubsession.cpp live/liveMedia/PassiveServerMediaSubsession.cpp +--- live.orig/liveMedia/PassiveServerMediaSubsession.cpp 2010-10-20 10:31:13.000000000 +0200 ++++ live/liveMedia/PassiveServerMediaSubsession.cpp 2010-10-20 12:34:04.762178010 +0200 @@ -54,7 +54,8 @@ char const* auxSDPLine = fRTPSink.auxSDPLine(); if (auxSDPLine == NULL) auxSDPLine = ""; @@ -141,39 +142,26 @@ diff -ru live.orig//liveMedia/PassiveServerMediaSubsession.cpp live//liveMedia/P fSDPLines = strDup(sdpLines); delete[] sdpLines; -diff -ru live.orig//liveMedia/RTCP.cpp live//liveMedia/RTCP.cpp ---- live.orig//liveMedia/RTCP.cpp 2010-04-09 22:27:39.000000000 +0300 -+++ live//liveMedia/RTCP.cpp 2010-04-17 19:46:44.000000000 +0300 -@@ -359,7 +359,8 @@ - } - - #ifdef DEBUG -- fprintf(stderr, "[%p]saw incoming RTCP packet (from address %s, port %d)\n", this, our_inet_ntoa(fromAddress.sin_addr), ntohs(fromAddress.sin_port)); +diff -ru live.orig/liveMedia/RTSPClient.cpp live/liveMedia/RTSPClient.cpp +--- live.orig/liveMedia/RTSPClient.cpp 2010-10-20 12:34:33.662177993 +0200 ++++ live/liveMedia/RTSPClient.cpp 2010-10-20 12:34:04.762178010 +0200 +@@ -411,7 +411,8 @@ + int RTSPClient::connectToServer(int socketNum, portNumBits remotePortNum) { + MAKE_SOCKADDR_IN(remoteName, fServerAddress, htons(remotePortNum)); + if (fVerbosityLevel >= 1) { +- envir() << "Opening connection to " << our_inet_ntoa(remoteName.sin_addr) << ", port " << remotePortNum << "...\n"; + char buf[16]; -+ fprintf(stderr, "[%p]saw incoming RTCP packet (from address %s, port %d)\n", this, our_inet_ntoa(fromAddress.sin_addr, buf), ntohs(fromAddress.sin_port)); - unsigned char* p = pkt; - for (unsigned i = 0; i < packetSize; ++i) { - if (i%4 == 0) fprintf(stderr, " "); -diff -ru live.orig//liveMedia/RTSPOverHTTPServer.cpp live//liveMedia/RTSPOverHTTPServer.cpp ---- live.orig//liveMedia/RTSPOverHTTPServer.cpp 2010-04-09 22:27:39.000000000 +0300 -+++ live//liveMedia/RTSPOverHTTPServer.cpp 2010-04-17 19:50:41.000000000 +0300 -@@ -128,7 +128,8 @@ - makeSocketNonBlocking(clientSocket); - increaseSendBufferTo(envir(), clientSocket, 50*1024); - #if defined(DEBUG) || defined(DEBUG_CONNECTIONS) -- fprintf(stderr, "accept()ed connection from %s\n", our_inet_ntoa(clientAddr.sin_addr)); -+ char buf[16]; -+ fprintf(stderr, "accept()ed connection from %s\n", our_inet_ntoa(clientAddr.sin_addr, buf)); - #endif - - // Create a new object for handling this HTTP connection: -diff -ru live.orig//liveMedia/RTSPServer.cpp live//liveMedia/RTSPServer.cpp ---- live.orig//liveMedia/RTSPServer.cpp 2010-04-09 22:27:39.000000000 +0300 -+++ live//liveMedia/RTSPServer.cpp 2010-04-17 19:49:32.000000000 +0300 -@@ -112,11 +112,12 @@ ++ envir() << "Opening connection to " << our_inet_ntoa(remoteName.sin_addr, buf) << ", port " << remotePortNum << "...\n"; + } + if (connect(socketNum, (struct sockaddr*) &remoteName, sizeof remoteName) != 0) { + if (envir().getErrno() == EINPROGRESS) { +diff -ru live.orig/liveMedia/RTSPServer.cpp live/liveMedia/RTSPServer.cpp +--- live.orig/liveMedia/RTSPServer.cpp 2010-10-20 10:31:13.000000000 +0200 ++++ live/liveMedia/RTSPServer.cpp 2010-10-20 12:34:04.772177998 +0200 +@@ -111,11 +111,12 @@ char urlBuffer[100]; // more than big enough for "rtsp://:/" - portNumBits portNumHostOrder = ntohs(fServerPort.num()); + portNumBits portNumHostOrder = ntohs(fRTSPServerPort.num()); + char buf[16]; if (portNumHostOrder == 554 /* the default port number */) { - sprintf(urlBuffer, "rtsp://%s/", our_inet_ntoa(ourAddress.sin_addr)); @@ -185,32 +173,30 @@ diff -ru live.orig//liveMedia/RTSPServer.cpp live//liveMedia/RTSPServer.cpp } return strDup(urlBuffer); -@@ -233,7 +234,8 @@ +@@ -264,7 +265,8 @@ increaseSendBufferTo(envir(), clientSocket, 50*1024); - #if defined(DEBUG) || defined(DEBUG_CONNECTIONS) + #ifdef DEBUG - envir() << "accept()ed connection from " << our_inet_ntoa(clientAddr.sin_addr) << '\n'; + char buf[16]; + envir() << "accept()ed connection from " << our_inet_ntoa(clientAddr.sin_addr, buf) << '\n'; #endif // Create a new object for this RTSP session. -@@ -747,10 +749,12 @@ - serverRTPPort, serverRTCPPort, - fStreamStates[streamNum].streamToken); +@@ -860,8 +862,10 @@ + ReceivingInterfaceAddr = origReceivingInterfaceAddr; + struct in_addr destinationAddr; destinationAddr.s_addr = destinationAddress; - char* destAddrStr = strDup(our_inet_ntoa(destinationAddr)); +- char* sourceAddrStr = strDup(our_inet_ntoa(sourceAddr.sin_addr)); + char destAddrStr[16]; + our_inet_ntoa(destinationAddr, destAddrStr); - struct sockaddr_in sourceAddr; SOCKLEN_T namelen = sizeof sourceAddr; - getsockname(fClientSocket, (struct sockaddr*)&sourceAddr, &namelen); -- char* sourceAddrStr = strDup(our_inet_ntoa(sourceAddr.sin_addr)); + char sourceAddrStr[16]; + our_inet_ntoa(sourceAddr.sin_addr, sourceAddrStr); if (fIsMulticast) { switch (streamingMode) { case RTP_UDP: -@@ -825,7 +829,7 @@ +@@ -936,7 +940,7 @@ } } } @@ -219,7 +205,7 @@ diff -ru live.orig//liveMedia/RTSPServer.cpp live//liveMedia/RTSPServer.cpp } void RTSPServer::RTSPClientSession -@@ -1226,7 +1230,8 @@ +@@ -1446,7 +1450,8 @@ // If this gets called, the client session is assumed to have timed out, // so delete it: #ifdef DEBUG @@ -229,9 +215,9 @@ diff -ru live.orig//liveMedia/RTSPServer.cpp live//liveMedia/RTSPServer.cpp #endif delete clientSession; } -diff -ru live.orig//liveMedia/ServerMediaSession.cpp live//liveMedia/ServerMediaSession.cpp ---- live.orig//liveMedia/ServerMediaSession.cpp 2010-04-09 22:27:39.000000000 +0300 -+++ live//liveMedia/ServerMediaSession.cpp 2010-04-17 19:50:31.000000000 +0300 +diff -ru live.orig/liveMedia/ServerMediaSession.cpp live/liveMedia/ServerMediaSession.cpp +--- live.orig/liveMedia/ServerMediaSession.cpp 2010-10-20 10:31:13.000000000 +0200 ++++ live/liveMedia/ServerMediaSession.cpp 2010-10-20 12:34:04.772177998 +0200 @@ -185,7 +185,8 @@ char* ServerMediaSession::generateSDPDescription() { struct in_addr ipAddress; @@ -251,9 +237,9 @@ diff -ru live.orig//liveMedia/ServerMediaSession.cpp live//liveMedia/ServerMedia return sdp; } -diff -ru live.orig//liveMedia/SIPClient.cpp live//liveMedia/SIPClient.cpp ---- live.orig//liveMedia/SIPClient.cpp 2010-04-09 22:27:39.000000000 +0300 -+++ live//liveMedia/SIPClient.cpp 2010-04-17 19:47:42.000000000 +0300 +diff -ru live.orig/liveMedia/SIPClient.cpp live/liveMedia/SIPClient.cpp +--- live.orig/liveMedia/SIPClient.cpp 2010-10-20 10:31:13.000000000 +0200 ++++ live/liveMedia/SIPClient.cpp 2010-10-20 12:34:04.772177998 +0200 @@ -60,13 +60,14 @@ struct in_addr ourAddress; @@ -280,9 +266,9 @@ diff -ru live.orig//liveMedia/SIPClient.cpp live//liveMedia/SIPClient.cpp << fOurPortNum << ": " << env.getResultMsg() << "\n"; } -diff -ru live.orig//testProgs/sapWatch.cpp live//testProgs/sapWatch.cpp ---- live.orig//testProgs/sapWatch.cpp 2010-04-09 22:27:39.000000000 +0300 -+++ live//testProgs/sapWatch.cpp 2010-04-17 19:51:29.000000000 +0300 +diff -ru live.orig/testProgs/sapWatch.cpp live/testProgs/sapWatch.cpp +--- live.orig/testProgs/sapWatch.cpp 2010-10-20 10:31:13.000000000 +0200 ++++ live/testProgs/sapWatch.cpp 2010-10-20 12:34:04.772177998 +0200 @@ -49,13 +49,14 @@ struct sockaddr_in fromAddress; while (inputGroupsock.handleRead(packet, maxPacketSize, diff --git a/live-uselocale.patch b/live-uselocale.patch index e1f5401..0b56063 100644 --- a/live-uselocale.patch +++ b/live-uselocale.patch @@ -66,9 +66,8 @@ diff -urN live.orig/liveMedia/Locale.cpp live/liveMedia/Locale.cpp } #endif } -diff -urN live.orig/liveMedia/RTSPClient.cpp live/liveMedia/RTSPClient.cpp ---- live.orig/liveMedia/RTSPClient.cpp 2009-03-23 01:26:16 +0300 -+++ live/liveMedia/RTSPClient.cpp 2009-03-26 19:29:38 +0300 +--- live.orig/liveMedia/RTSPClient.cpp 2010-03-16 03:09:46.000000000 +0100 ++++ live/liveMedia/RTSPClient.cpp 2010-08-24 15:04:31.000000000 +0200 @@ -1019,7 +1019,7 @@ // This is the default value; we don't need a "Scale:" header: buf[0] = '\0'; @@ -92,24 +91,25 @@ diff -urN live.orig/liveMedia/RTSPClient.cpp live/liveMedia/RTSPClient.cpp sprintf(buf, "Range: npt=%.3f-%.3f\r\n", start, end); } -@@ -2342,7 +2342,7 @@ - if (_strncasecmp(line, "Scale: ", 7) != 0) return False; - line += 7; +--- live/liveMedia/RTSPClient.cpp 2010-08-24 17:05:46.000000000 +0200 ++++ live.new/liveMedia/RTSPClient.cpp 2010-08-24 17:04:50.000000000 +0200 +@@ -935,7 +935,7 @@ + } + Boolean RTSPClient::parseScaleParam(char const* paramStr, float& scale) { - Locale l("C", LC_NUMERIC); + Locale l("C", LC_NUMERIC_MASK); - return sscanf(line, "%f", &scale) == 1; + return sscanf(paramStr, "%f", &scale) == 1; } -diff -urN live.orig/liveMedia/RTSPCommon.cpp live/liveMedia/RTSPCommon.cpp ---- live.orig/liveMedia/RTSPCommon.cpp 2009-03-23 01:26:16 +0300 -+++ live/liveMedia/RTSPCommon.cpp 2009-03-26 19:23:25 +0300 -@@ -146,7 +146,7 @@ - char const* fields = buf + 7; - while (*fields == ' ') ++fields; +--- live/liveMedia/RTSPCommon.cpp.orig 2011-01-06 01:26:50.000000000 +0100 ++++ live/liveMedia/RTSPCommon.cpp 2011-01-09 16:32:24.142645155 +0100 +@@ -137,7 +137,7 @@ + Boolean parseRangeParam(char const* paramStr, double& rangeStart, double& rangeEnd) { double start, end; + int numCharsMatched = 0; - Locale l("C", LC_NUMERIC); + Locale l("C", LC_NUMERIC_MASK); - if (sscanf(fields, "npt = %lf - %lf", &start, &end) == 2) { + if (sscanf(paramStr, "npt = %lf - %lf", &start, &end) == 2) { rangeStart = start; rangeEnd = end; diff --git a/live555.spec b/live555.spec index 1c7b104..6d86597 100644 --- a/live555.spec +++ b/live555.spec @@ -1,9 +1,9 @@ -%global date 2010.04.09 +%global date 2011.01.24 %global live_soversion 0 Name: live555 Version: 0 -Release: 0.27.%{date}%{?dist} +Release: 0.29.%{date}%{?dist} Summary: Live555.com streaming libraries Group: System Environment/Libraries @@ -17,6 +17,11 @@ Patch2: live-inet_ntop.patch Patch3: live-uselocale.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +Provides: live555%{_isa} = %{date} +# Packages using live555 must Requires this: +#{?live555date:Requires: live555%{_isa} = %{live555date}} + + %description This code forms a set of C++ libraries for multimedia streaming, using open standard protocols (RTP/RTCP, RTSP, SIP). These @@ -140,6 +145,15 @@ for i in \ done popd +#RPM Macros support +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/rpm +cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros.live555 << EOF +# live555 RPM Macros +%live555date %{date} +EOF +touch -r COPYING $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros.live555 + + %clean rm -rf $RPM_BUILD_ROOT @@ -161,6 +175,7 @@ rm -rf $RPM_BUILD_ROOT %files devel %defattr(-,root,root,-) %doc COPYING README +%config %{_sysconfdir}/rpm/macros.live555 %{_libdir}/libBasicUsageEnvironment.so %{_libdir}/libgroupsock.so %{_libdir}/libliveMedia.so @@ -178,6 +193,13 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/libUsageEnvironment*.a %changelog +* Mon Jan 24 2011 Nicolas Chauvet - 0-0.29.2011.01.24 +- Update to 2011.01.24 +- Update live555 patches from Rémi. + +* Tue Jun 22 2010 Nicolas Chauvet - 0-0.28.2010.06.22 +- Update to 2010.06.22 + * Sat May 1 2010 Nicolas Chauvet - 0-0.27.2010.04.09 - Update to 2010.04.09 - Add patches from Rémi Denis-Courmont - provided as GPLv2+ diff --git a/sources b/sources index e1f93df..a25aa76 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -7f56f54c1c4697764c6e88282e353e81 live.2010.04.09.tar.gz +0626e80c774fb27c651c3daf6cc3fb91 live.2011.01.24.tar.gz