[Live-devel] Patch against release dated 1/26/2009

Ross Finlayson finlayson at live555.com
Fri Feb 13 00:33:13 PST 2009


I've now released a new version (2009.02.13) that includes some, but 
not all, of your suggested changes.


>A synopsis of the changes are listed below.
>
>1. Modified BasicUsageEnvironment0::reportBackgroundError() to get 
>the errorResultMsgBuffer contents via a call to getResultMsg() 
>instead of accessing the private member directly so that it will 
>work with derived class that doesn't use fResultMsgBuffer
>
>2. Modified RTSPServer to use a virtual factory function, 
>createNewClientSession(), to create RTSPClientSession objects (or 
>derived children of that class) so that users that want to use a 
>class derived from RTSPClientSession don't have to re-impliment all 
>of the incomingConnectionHandler() code.
>
>3. Added support recognizing SET_PARAMETER commands and passing the 
>command body into the RTSPClientSession.

I have added these.


>4. Added support to specify a range of ports that can be used for 
>RTP/RTCP streams instead of just a starting port. Also added failure 
>condition for when you run out of ports. Range is specified by a 
>starting port and a count of following ports. The count can be set 
>to -1 to allow a open ended range.

This change is likely to be generally useful, but I haven't added it 
yet, because it's quite a substantial change to the code, which I 
need more time to review.  This might get added sometime in the 
future, though.


>5. Added an iterator class to iterate over ServerMediaSession objects.

I have added this.


>6. Added accessors to OnDemandServerMediaSubsession to get the RTP 
>port and RTCP port for a client session ID associated with a void* 
>streamToken. This primarily so that the server application can list 
>the ports in use with each session. We will probably be adding more 
>of these types of accessors please tell me if we aren't following 
>your vision got this type of access.

No, I don't want to add stuff like this to 
"OnDemandServerMediaSubsession" if we can avoid it; that class is 
complicated enough as it is.  Instead, I think you can probably set 
this information in your subclasses, in your 
"createNewStreamSource()" and/or "createNewRTPSink()" virtual 
function implementations, and access it via new functions that you 
could define in your subclasses.


>7. Changed MS Visual Studio Makefile.tail make files to name the pdb 
>files uniquely for each library so that all the libraries and there 
>pdb files can be copied to a common directory.

No, you can't add Windows-specific stuff like this to the 
"Makefile.tail" files, because those files are used to create 
Makefiles for both Windows and Unix platforms.  Instead, if 
necessary, change your "win32config" file, and then run 
"GenWindowsMakefiles" as usual.

-- 

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


More information about the live-devel mailing list