Dear all:<br><br>After several days work, the built-in RTSPServer now
supports RTSP over HTTP and the OnDemandServerMediaSubsession can
decides to unicast or multicast according to a given subnet mask.
Tested on FC4 and players including QT7 as well as openRTSP. This modification is based on the release 2005.07.23.<br><br>
<span style="font-weight: bold;">NOTE:</span> the source is not mature enough for practical use though it works in my environment.<br>
<br>
Some issues need more considerations.<br>
<br>
1. When the incoming connection is RTSP over HTTP, the connection close
event ( open several QT7 client sessions and close them one by one) may
not decrease the stream reference count correctly. This leads to
non-stop streaming. I think this is a little bit urgent since it
controdicts to the on-demand requirement.<br>
<br>
2. If your workstation has more than one network interface whose IPs
are located on different subnets, you can mix on-demand unicast,
multicast and RTSP over HTTP. Then you close some interfaces
arbitrarily. The RTSP server may not accept the following
requests. Also, I note that streaming over HTTP seems sensitive to
physical links: the video freezes when connecting to certain
ports of the hub but not to others.<br>
<br>
3. The subnet mask is passed to the construct of
OnDemandServerMediaSubsession or set by calling subnet(newMask)
thereafter. However, I think it's better to get the mask from the
system. Does anyone has an idea to get that portably ?<br>
<br>
BTW, in OnDemandServerMediaSubsession.cpp and RTSPServer.cpp, DEBUG is defined. For your application, you can comment them out.<br>
<br><span style="font-weight: bold;">Acknowledgements:</span><br>Thank Achraf GAZDAR and Ross for their reference and hints.<br>Hope this release may bring some contributions.<br><br>BR.<br>Worm