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/
_______________________________________________
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel

Reply via email to