<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"><base href="x-msg://1684/"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><blockquote type="cite"><div lang="EN-US" 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: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; ">I compiled and ran live555 on Raspberry Pi but I changed the type of SOCKLEN_T</div></div></div></blockquote><div><br></div>For the bazillionth time: Please DO NOT change the supplied code!  (I want to make it as easy as possible for you to comply with the LGPL :-)</div><div><br></div><div><br></div><div><blockquote type="cite"><div lang="EN-US" link="blue" vlink="purple"><div class="WordSection1" style="page: WordSection1; "><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; "><span style="font-size: 11pt; ">Int works fine on windows but it’s unsigned int on the PI.</span></div></div></div></blockquote><br></div><div>Does your development environment for the 'Raspberry Pi' (Linux, right?) not already define "socklen_t"??  If it does, then you should be able to use the existing "config.linux" configuration file.  But even if it doesn't, there's a very easy way to make this change, without having to modify the supplied code:</div><div><br></div><div>Create a "config.linux-for-raspberry-pi" configuration file (perhaps just by copying "config.linux"), and, in the 'COMPILE_OPTS' line, set</div><div><span class="Apple-tab-span" style="white-space:pre">     </span>-DSOCKLEN_T="unsigned int"</div><div>(I'm not sure about the quoting there; you might need to use single quotes instead?)</div><div><br></div><div>(If you find that you need to create a separate "config.linux-for-raspberry-pi" configuration file, then please share it on the mailing list, so I can include it in future software releases.)</div><div><br></div><div><br></div><blockquote type="cite"><div lang="EN-US" link="blue" vlink="purple"><div class="WordSection1" style="page: WordSection1; "><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; "><span style="font-size: 11pt; ">I noticed a try/catch block in liveMedia\AC3AudioStreamFramer.cpp is this intentional?</span></div></div></div></blockquote><div><br></div>Of course it's intentional; I wouldn't write that code for no reason :-)<div><br><br><blockquote type="cite"><div lang="EN-US" link="blue" vlink="purple"><div class="WordSection1" style="page: WordSection1; "><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; "><o:p></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; "><span style="font-size: 11pt; ">Since my  compiler stumbled over try/catch (exceptions turned off)</span></div></div></div></blockquote><div><br></div>Sorry, but that won't work.  To compile our code, your C++ compiler needs to understand C++ language exceptions.  (I wish this weren't true, but we use C++ exceptions for stream parsing; getting rid of them would be difficult.)<div><br></div><div><br><blockquote type="cite"><div lang="EN-US" link="blue" vlink="purple"><div class="WordSection1" style="page: WordSection1; "><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; "><span style="font-size: 11pt; "> I came across (liveMedia/AC3AudioStreamFramer.cpp)</span></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; "><o:p></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; "><o:p> </o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; "><span style="font-size: 9.5pt; font-family: Consolas; color: green; ">// We expect an AC3 audio header (first 2 bytes == 0x0B77) at the start:</span><span style="font-size: 9.5pt; font-family: Consolas; "><o:p></o:p></span></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; "><span style="font-size: 9.5pt; font-family: Consolas; ">    <span style="color: blue; ">while</span> (1) {<o:p></o:p></span></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; "><span style="font-size: 9.5pt; font-family: Consolas; ">      <span style="color: blue; ">unsigned</span> next4Bytes = test4Bytes();<o:p></o:p></span></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; "><span style="font-size: 9.5pt; font-family: Consolas; ">      <span style="color: blue; ">if</span> (next4Bytes>>16 == 0x0B77) <span style="color: blue; ">break</span>;<o:p></o:p></span></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; "><span style="font-size: 9.5pt; font-family: Consolas; ">      skipBytes(1);<o:p></o:p></span></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; "><span style="font-size: 9.5pt; font-family: Consolas; ">      saveParserState();<o:p></o:p></span></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; "><span style="font-size: 9.5pt; font-family: Consolas; ">    }<o:p></o:p></span></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; "><o:p> </o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; ">AC3 streams are WORD oriented and both endianness’ are possible.</div></div></div></blockquote><div><br></div>Are you saying that both orders are possible *in the stream*??  I don't think that's true.  The AC-3 specification says, I think, that all values are sent in 'big endian' order (i.e., high-order byte first).  Our "test4Bytes()" code reads the next 4 bytes - one at a time - from the stream, always returning a 'big endian' result (regardless of the byte order of the host computer).  So the code of ours that you quoted is correct, I believe.</div></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>