<html><head><meta http-equiv="Content-Type" content="text/html charset=GB2312"><base href="x-msg://2710/"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><blockquote type="cite"><div lang="ZH-CN" link="blue" vlink="purple" style="font-family: Helvetica; font-size: medium; 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-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div class="WordSection1" style="page: WordSection1; "><div style="margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 10.5pt; font-family: Calibri, sans-serif; "><span lang="EN-US">As we know, now the most cpus have mulit core, does live555 optimized for multi cores?</span></div></div></div></blockquote></div><br><div>Because you have read the FAQ (as everyone was asked to do before posting to the mailing list), I assume that you have already read:</div><div><span class="Apple-tab-span" style="white-space:pre">  </span><a href="http://www.live555.com/liveMedia/faq.html#threads">http://www.live555.com/liveMedia/faq.html#threads</a></div><div>which explains the circumstances under which LIVE555 code can use multiple threads (and thus multiple cores, if they are available).</div><div><br></div><div>Note, however, that applications that use the "LIVE555 Streaming Media" code are usually "I/O bound" rather than "CPU bound", meaning that they typically spend most of their time waiting for data (e.g., from an input socket, or from a data file), rather than computing.  However, one circumstance in which it might make sense to optimize for multiple cores is if you use your own encoder (or decoder) 'filter' class within a LIVE555 source->filter->sink data chain.  In this case - because encoders (and decoders) are usually CPU intensive - you might want to think about structuring the implementation of your encoder (or decoder) filter to use multiple threads.  You would do this in the usual way: one thread (only!) would run the LIVE555 code itself; the remaining thread(s) would do the encoding (or decoding), and communicate with the LIVE555 thread via event triggers.</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; 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>