<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div><blockquote type="cite"><div dir="ltr"><div>I have some doubts on how to use the OnDemandServerMediaSubsession class. I am actually using it (we defined a very simple extension of it</div></div></blockquote><div><br></div>By "extension of it", I hope you mean "subclass of it".  (Generally speaking, if you modify the supplied code, you can't expect support on this mailing list.)</div><div><br></div><div><br><blockquote type="cite"><div dir="ltr"><div>Now I am trying to achieve is to be able to stream the same source via RTSP (to any client that connects to the rtsp url) and via an static RTP/RTCP session (by static I mean that I want the server to stream to an specific IP and port, passed as a command argument for instance)<i>. </i><br></div></div></blockquote><div><br></div>OK, it sounds like - for this purpose - you want to use a "PassiveServerMediaSubsession", not an "OnDemandServerMediaSubsession".  An "OnDemandServerMediaSubsession" is explicitly intended for streaming, on demand, to a different unicast IP address and port (i.e., different for each requesting client).  Therefore that's *not* what you should be using here.</div><div><br></div><div>A "PassiveServerMediaSubsession", however, is used for streaming to an IP address (usually multicast, though it can be unicast) and port number that is specified externally (i.e., not by each requesting client).  Thus, it sounds like this is what you want.</div><div><br></div><div>Note that - when using a "PassiveServerMediaSubsession" - the "RTPSink" and "RTCPInstance" objects are also set up ahead of time (rather than on demand, for each requesting client).  There are several examples of this in the code; note the various "test*Streamer.cpp" demo applications in "testProgs".</div><div><br></div><div><br><blockquote type="cite"><div dir="ltr"><div>At the moment I am using:<br><br>subsession->getStreamParameters(...);<br><br>subsession->startStream(...);<br></div></div></blockquote><div><br></div>No, your own code should not be calling these functions at all!</div><br><div apple-content-edited="true">
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;  "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;  ">Ross Finlayson<br>Live Networks, Inc.<br><a href="http://www.live555.com/">http://www.live555.com/</a></span></span>
</div>
<br></body></html>