<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 have to integrate live555 RTSP client into an existing application<br>that decodes H.264 video and sends it to display. The application<br>is multithreaded,  with separate threads for decoding and display<br>tasks.<br><br>I was thinking of using testRTSPClient code as a base, putting<br>it into separate thread, and notifying decoding thread when next<br>frame is ready. My idea was to use condition variable embedded into<br>DummySink object and waiting on condvar in another thread. Does that<br>sound reasonable ?<br></div></blockquote><div><br></div></div>Yes, it does, provided that no LIVE555 library code is called from the decoding/display thread.<div><br></div><div>You should also try to ensure that the LIVE555 thread never blocks.  In particular, that means that if your 'sink' object finds that the the decoding/display thread is not currently ready to decode its frame, then it should enqueue the frame for later decoding, rather than blocking to wait until the decoding/display thread is ready.  (Note that because of network jitter, incoming frames can't be expected to always arrive evenly-paced.)</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>