<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><blockquote type="cite"><div> I am having difficulty understanding the concept for two reasons, first as I said, only the MediaSink class has access to the newest incoming frame. How do you envision one transferring this new frame to say ... a GUI for display?</div></blockquote><div><br></div>Because I don't know anything about the GUI software that you plan to use, I can't answer this. But there's no reason in principle why you couldn't make your entire application a single-threaded event loop (including handling of GUI events), and just decode and render frames directly from your "MediaSink" subclass, after it's received each frame.</div><div><br></div><div>Alternatively, you might find it more convenient to do the rendering (and perhaps the decoding as well) in a separate thread - especially if your stream contains both audio and video substreams (because then they need to be synchronized, based on their presentation times). In this case, your separate rendering (or decoding+rendering) thread would pass (in a thread-safe way) buffers to and from the LIVE555 thread, for use by its "MediaSink" subclass. This is basically how VLC works, for example.</div><div><br></div><div>But this is up to you to decide (so this will be my last posting on this topic).</div><br><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; 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>