<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><blockquote type="cite"><div>We want to implement bookmarking:<br><br>   a) find out where the server is playing from right now;<br></div></blockquote><div><br></div>Would the following work for you?</div><div><br></div><div>A new member function to "ServerMediaSubsession":</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>float currentNPT(unsigned clientSessionId) const;</div><div><br></div><div>That returns (based on the most recently-sent data) the current 'normal play time' (NPT) for the specified client (on this 'subsession').  (Note that the function has to be on "ServerMediaSubsession" rather than "ServerMediaSession" because (in general, even though not for Transport Streams) there can be more than one RTP stream for each client session, and these could be paused/played independently.)</div><div><br></div><div><br></div><div><blockquote type="cite"><div>For step a), I haven't yet studied whether the other parameters are easy to obtain as a client of the library.</div></blockquote><div><br></div></div>Yes, at the client end, there's a function:<div><span class="Apple-tab-span" style="white-space:pre">  </span>double MediaSession::getNormalPlayTime(struct timeval const& presentationTime);</div><div>that you can call to get the 'NPT' (based on a recently-received presentation time).</div><br><br><div>
<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; font-size: medium; "><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; font-size: medium; ">Ross Finlayson<br>Live Networks, Inc.<br><a href="http://www.live555.com/">http://www.live555.com/</a></span></span>
</div>
<br></body></html>