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