Re: [Live-devel] RTP over RTSP strange problem

2012-12-21 Thread Ross Finlayson
> However on other PCs connected to the same server, on the same network, after 
> about 1-3 minutes, for each ~3-5 frames (groups of about 4-6 packets), the 
> RTP packets are confused to be RTSP - as if the '$' is not identified.
> 

Recent versions of the "LIVE555 Streaming Media" software fixed some bugs with 
RTP-over-RTSP streaming (for both clients and servers) that could cause 
problems like this.  Therefore, you should make sure that both your clients 
*and* servers (even if they are not under your control :-) are using the latest 
version of the software.

A reminder, also, that RTP-over-RTSP streaming should be used *only* when you 
have a firewall (between the server and client) that prevents regular RTP/UDP 
streaming from working.  It should not be used solely to try to prevent 'data 
loss'.


Ross Finlayson
Live Networks, Inc.
http://www.live555.com/

___
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel


Re: [Live-devel] shared library

2012-12-21 Thread Benjamin Drung
Am Freitag, den 21.12.2012, 15:55 +1000 schrieb Ross Finlayson:
> > 1) We need symbolic links on Linux for shared libraries. For
> > example,
> > libfoo.so.1.2.3 would required these symlinks:
> > 
> > libfoo.so.1 -> libfoo.so.1.2.3
> > libfoo.so -> libfoo.so.1.2.3
> > 
> > libfoo.so.1.2.3 and libfoo.so.1 will be shipped in the library
> > package
> > and libfoo.so will be shipped in the development package.
> > 
> > I have created an install target (patch attached). PREFIX and LIBDIR
> > needs to be defined in the other config.* files. The ln commands
> > create
> > the symbolic link described above, but they should be not run for
> > other
> > system (for example, config.linux).
> 
> 
> Thanks.  FYI, I figured out a mechanism that causes the symbolic links
> to be created only when shared libraries are being built.  I've now
> installed a new version of the code (2012.12.21) that includes your
> suggestion for adding an "install:" target.
> 
> 
> Please check that this version works OK for you now (after running
> "genMakefiles linux-with-shared-libraries")

Thanks. The install target for the base Makefile is missing
(install-target.patch attached). Your mechanism that causes the symbolic
links to be created only when shared libraries are being built works.

It would be a good idea to add a pkg-config file for the shared
libraries. Is one pkg-config file that links against all four libraries
enough or should there be one pkg-config file for each library. The
latter is useful if the four libraries are used separately.

> > 2) The *_VERSION_CURRENT, *_VERSION_REVISION, *_VERSION_AGE
> > variables
> > should be put into a separate file, because they are not Linux
> > specific.
> > They should be used on other systems (e.g. BSD) too.
> 
> 
> Yes - I'll arrange for those variables to be set the same way in each
> "config." file (for shared libraries) that ends up getting
> distributed with the code.

Thanks.

> > 3) Some symbols used by the shared libraries are not found in none
> > of
> > the libraries (build.log attached).
> 
> 
> Are you sure about these?  When static libraries are built (and
> applications linked against them), I don't see complaints about any
> undefined symbols.  It seems unlikely, then that there would be a
> problem with undefined symbols just when shared libraries are used.
>  (Or perhaps there's a problem with the order in which the shared
> libraries are linked against the applications??)

These warning are generated by dpkg-shlibdeps. I was able to build VLC
against the shared library version. Therefore I am not sure if these
dpkg-shlibdeps warning are a problem. It's better to diagnose the cause
instead of ignoring a warning.

-- 
Benjamin Drung
Debian & Ubuntu Developer
Description: Add an install target to the build system.
Author: Benjamin Drung 

--- a/Makefile.tail
+++ b/Makefile.tail
@@ -28,3 +28,12 @@
 	cd $(TESTPROGS_DIR) ; $(MAKE) clean
 	cd $(MEDIA_SERVER_DIR) ; $(MAKE) clean
 	cd $(PROXY_SERVER_DIR) ; $(MAKE) clean
+
+install:
+	cd $(LIVEMEDIA_DIR) ; $(MAKE) install
+	cd $(GROUPSOCK_DIR) ; $(MAKE) install
+	cd $(USAGE_ENVIRONMENT_DIR) ; $(MAKE) install
+	cd $(BASIC_USAGE_ENVIRONMENT_DIR) ; $(MAKE) install
+	cd $(TESTPROGS_DIR) ; $(MAKE) install
+	cd $(MEDIA_SERVER_DIR) ; $(MAKE) install
+	cd $(PROXY_SERVER_DIR) ; $(MAKE) install
___
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel


[Live-devel] Patches in the Debian package

2012-12-21 Thread Benjamin Drung
Hi,

we carry three patches (attached) in the Debian package that predate my
involvement in the Debian packaging. Are these patches acceptable?

-- 
Benjamin Drung
Debian & Ubuntu Developer
---
 liveMedia/H263plusVideoRTPSink.cpp |2 +-
 liveMedia/MPEG1or2Demux.cpp|4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

--- liblivemedia.orig/liveMedia/MPEG1or2Demux.cpp
+++ liblivemedia/liveMedia/MPEG1or2Demux.cpp
@@ -161,7 +161,7 @@ void MPEG1or2Demux::registerReadInterest
   // Make sure this stream is not already being read:
   if (out.isCurrentlyAwaitingData) {
 envir() << "MPEG1or2Demux::registerReadInterest(): attempt to read stream id "
-	<< (void*)streamIdTag << " more than once!\n";
+	<< streamIdTag << " more than once!\n";
 envir().internalError();
   }
 
@@ -460,7 +460,7 @@ void MPEGProgramStreamParser::parsePackH
 skipBytes(pack_stuffing_length);
   } else { // unknown
 fUsingDemux->envir() << "StreamParser::parsePack() saw strange byte "
-			  << (void*)nextByte
+			  << nextByte
 			  << " following pack_start_code\n";
   }
 
--- liblivemedia.orig/liveMedia/H263plusVideoRTPSink.cpp
+++ liblivemedia/liveMedia/H263plusVideoRTPSink.cpp
@@ -64,7 +64,7 @@ void H263plusVideoRTPSink
 }
 if (frameStart[0] != 0 || frameStart[1] != 0) {
   envir() << "H263plusVideoRTPSink::doSpecialFrameHandling(): unexpected non-zero first two bytes: "
-	  << (void*)(frameStart[0]) << "," << (void*)(frameStart[1]) << "\n";
+	  << (frameStart[0]) << "," << (frameStart[1]) << "\n";
 }
 frameStart[0] = specialHeader>>8;
 frameStart[1] = (unsigned char)specialHeader;
---
 groupsock/GroupsockHelper.cpp |2 ++
 1 file changed, 2 insertions(+)

--- liblivemedia.orig/groupsock/GroupsockHelper.cpp
+++ liblivemedia/groupsock/GroupsockHelper.cpp
@@ -444,12 +444,14 @@ Boolean socketLeaveGroup(UsageEnvironmen
 // commands, and a special structure (ip_mreq_source).  If the include files
 // didn't define these, we do so here:
 #if !defined(IP_ADD_SOURCE_MEMBERSHIP)
+#ifndef __GLIBC__
 struct ip_mreq_source {
   struct  in_addr imr_multiaddr;  /* IP multicast address of group */
   struct  in_addr imr_sourceaddr; /* IP address of source */
   struct  in_addr imr_interface;  /* local IP address of interface */
 };
 #endif
+#endif
 
 #ifndef IP_ADD_SOURCE_MEMBERSHIP
 
Description: Re-enable synchronous interface in RTSPClient to avoid API breakage.
Author: Alessio Treglia 
Forwarded: not-needed
---
 liveMedia/RTSPClient.cpp|3 ---
 liveMedia/include/RTSPClient.hh |2 --
 2 files changed, 5 deletions(-)

--- liblivemedia.orig/liveMedia/RTSPClient.cpp
+++ liblivemedia/liveMedia/RTSPClient.cpp
@@ -1756,7 +1756,6 @@ RTSPClient::RequestRecord* RTSPClient::R
 }
 
 
-#ifdef RTSPCLIENT_SYNCHRONOUS_INTERFACE
 // Implementation of the old (synchronous) "RTSPClient" interface, using the new (asynchronous) interface:
 RTSPClient* RTSPClient::createNew(UsageEnvironment& env,
   int verbosityLevel,
@@ -2076,5 +2075,3 @@ void RTSPClient::timeoutHandlerForSyncIn
   // Signal a break from the event loop (thereby returning from the blocking command):
   fWatchVariableForSyncInterface = ~0;
 }
-
-#endif
--- liblivemedia.orig/liveMedia/include/RTSPClient.hh
+++ liblivemedia/liveMedia/include/RTSPClient.hh
@@ -306,7 +306,6 @@ private:
   unsigned fSessionCookieCounter;
   Boolean fHTTPTunnelingConnectionIsPending;
 
-#ifdef RTSPCLIENT_SYNCHRONOUS_INTERFACE
   // Old "RTSPClient" interface, which performs synchronous (blocking) operations.
   // This will eventually go away, so new applications should not use it.
 public:
@@ -365,7 +364,6 @@ private: // used to implement the old in
   char fWatchVariableForSyncInterface;
   char* fResultString;
   int fResultCode;
-#endif
 };
 
 #endif
___
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel


[Live-devel] distclean target

2012-12-21 Thread Benjamin Drung
Hi,

please add a distclean target which removes all files that are not part
of the source tarball. distclean would depend on clean and additional
remove all Makefiles. A patch that does this is attached.

-- 
Benjamin Drung
Debian & Ubuntu Developer
diff --git a/Makefile.tail b/Makefile.tail
index 2d567e9..15f788d 100644
--- a/Makefile.tail
+++ b/Makefile.tail
@@ -28,3 +28,9 @@ clean:
 	cd $(TESTPROGS_DIR) ; $(MAKE) clean
 	cd $(MEDIA_SERVER_DIR) ; $(MAKE) clean
 	cd $(PROXY_SERVER_DIR) ; $(MAKE) clean
+
+distclean: clean
+	-rm -f $(LIVEMEDIA_DIR)/Makefile $(GROUPSOCK_DIR)/Makefile \
+	  $(USAGE_ENVIRONMENT_DIR)/Makefile $(BASIC_USAGE_ENVIRONMENT_DIR)/Makefile \
+	  $(TESTPROGS_DIR)/Makefile $(MEDIA_SERVER_DIR)/Makefile \
+	  $(PROXY_SERVER_DIR)/Makefile Makefile
___
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel


Re: [Live-devel] shared library

2012-12-21 Thread Ross Finlayson
> Thanks. The install target for the base Makefile is missing

Oops - my mistake.  I've just installed a new version of the code that fixes 
this (and also adds your proposed "distclean:" target).


> It would be a good idea to add a pkg-config file for the shared libraries.

I don't know what a "pkg-config" file is...


>>> 3) Some symbols used by the shared libraries are not found in none
>>> of
>>> the libraries (build.log attached).
>> 
>> 
>> Are you sure about these?  When static libraries are built (and
>> applications linked against them), I don't see complaints about any
>> undefined symbols.  It seems unlikely, then that there would be a
>> problem with undefined symbols just when shared libraries are used.
>> (Or perhaps there's a problem with the order in which the shared
>> libraries are linked against the applications??)
> 
> These warning are generated by dpkg-shlibdeps. I was able to build VLC
> against the shared library version. Therefore I am not sure if these
> dpkg-shlibdeps warning are a problem. It's better to diagnose the cause
> instead of ignoring a warning.

I'll leave it to someone who understands those warnings to do that :-)


Ross Finlayson
Live Networks, Inc.
http://www.live555.com/

___
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel


Re: [Live-devel] distclean target

2012-12-21 Thread Ross Finlayson
> please add a distclean target which removes all files that are not part
> of the source tarball. distclean would depend on clean and additional
> remove all Makefiles. A patch that does this is attached.

Thanks.  This is included in the latest release (2012.12.22).


Ross Finlayson
Live Networks, Inc.
http://www.live555.com/

___
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel


Re: [Live-devel] Patches in the Debian package

2012-12-21 Thread Ross Finlayson
> we carry three patches (attached) in the Debian package that predate my
> involvement in the Debian packaging.

Thanks for the update.  I wish the people who decided (apparently unilaterally) 
that those patches were necessary had had the courtesy to check with this 
mailing list first.  By doing this, they would have (1) avoided applying 
possibly incorrect, incomplete and/or harmful patches that they might not fully 
understand, and (2) allowed any patches that *were* truly useful to be made 
available to other users of this software.  (I have the same problem with a few 
of the VLC developers; they seem to think that the world revolves around them.)

But anyway:
1/ The first 'patch' was apparently intended to remove some compiler warnings.  
It's harmless, but I recommend not applying it, because the code that generates 
these compiler warnings might end up changing sometime (which will break the 
patch).
2/ The second 'patch' seems wrong to me.  I don't understand why any system 
would define "struct ip_mreq_source", but not also define 
"IP_ADD_SOURCE_MEMBERSHIP" (a constant that makes that structure useful).  I 
recommend removing the patch.  If anyone feels that it is, in fact, necessary, 
then they can post a message to this mailing list (as they should have done in 
the first place!) explaining why they think it's needed.
3/ The third 'patch' is definitely wrong, and should be removed.  The whole 
point of deprecating the old, synchronous "RTSPClient" interface is that any 
code that happens to depend upon the old interface needs to explicitly be 
updated - by "#define"ing RTSPCLIENT_SYNCHRONOUS_INTERFACE - so that it can 
continue using it.  But anyway, no code that depends upon the old interface is 
present anywhere in the LIVE555 distribution, or (I presume) anywhere else in 
the Debian distribution either.


Ross Finlayson
Live Networks, Inc.
http://www.live555.com/

___
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel


[Live-devel] about MultiFramedRTPSink::fOurMaxPacketSize

2012-12-21 Thread kingaceck
Hi

I use live555 to stream  files(1080p/60 frames).I found that the default value 
of MultiFramedRTPSink::fOurMaxPacketSize is 1448.When streaming the 
file(1080p/60 frames) using this value,there are many mosaic at the client.I 
modified this value to 2896(setPacketSizes(1000, 2896)) and the picture at the 
client is well(no mosaic).
The network is the same one(LAN /100M) and the MTU is 1500.But why the it is ok 
with the value of 2896?
Thank you.


2012-12-22 



kingaceck 
___
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel


Re: [Live-devel] about MultiFramedRTPSink::fOurMaxPacketSize

2012-12-21 Thread Ross Finlayson
> I use live555 to stream  files(1080p/60 frames).I found that the default 
> value of MultiFramedRTPSink::fOurMaxPacketSize is 1448.When streaming the 
> file(1080p/60 frames) using this value,there are many mosaic at the client.I 
> modified this value to 2896(setPacketSizes(1000, 2896)) and the picture at 
> the client is well(no mosaic).
> The network is the same one(LAN /100M) and the MTU is 1500.But why the it is 
> ok with the value of 2896?

I don't know, because you haven't said anything about what video codec you use 
(and I don't particularly care, because you use an unprofessional email 
address).  But if your LAN's MTU really is 1500, then I don't see how your 
system could perform better with 2896-byte RTP packets (because packets that 
large will be subject to IP-level fragmentation, which is generally a bad idea).

Ross Finlayson
Live Networks, Inc.
http://www.live555.com/

___
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel