In looking at our old code we were looking at fDestinationsHashTable to
determine if a stream was RTP over TCP or RTP over UDP (for a server
sessions status widget).
This was done before you put the StreamState and Destinations classes
in the header and the guy that did it back then added a
GetClientCommProtocol() method to OnDemandServerMediaSubsession that
checked the isTCP member of the Destinations object for the sessionID .
I wanted to do the same but without modifying your code so I was going
to put it in a child class but I can't if fDestinationsHashTable is
private.
If there is another better way to determine if a session is TCP or UDP
I'd be willing to go with that.
Thanks,
Matt S.
On Wednesday, September 26, 2012 2:51:33 PM, Ross Finlayson wrote:
While your at it I noticed that the member fDestinationsHashTable of
OnDemandServerMediaSubsession is private while the class Destinations
is declared in the header with a comment about it being accessible by
subclasses. In addition many of the methods that interact with
fDestinationsHashTable like getStreamParameters(), startStream(),
endStream(), etc are all declared virtual implying that sub classes
should have access to fDestinationsHashTable and it should be
declared protected.
No, the fact that a class's member function is declared virtual
doesn't imply that all data structures that happen to be used by that
member function's implementation in the base class should be made
accessible by subclasses. There was never any intention to have
"fDestinationsHashTable" be accessible by subclasses of
"OnDemandServerMediaSubsession". (If you feel you need this, however,
just let me know.)
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
_______________________________________________
live-devel mailing list
[email protected]
http://lists.live555.com/mailman/listinfo/live-devel
_______________________________________________
live-devel mailing list
[email protected]
http://lists.live555.com/mailman/listinfo/live-devel