<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Fri, Jan 20, 2017 at 7:36 PM, fredvs <span dir="ltr"><<a href="mailto:fiens@hotmail.com" target="_blank">fiens@hotmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Re-hello.<br>
<br>
Ok, thanks Silvio, I will take this one from your advice, it works like<br>
charm:<br>
<br>
type<br>
  TOggOpusFile = THandle;<br></blockquote><div><br></div><div>Hm... you should keep the same C data types. :-) I took a look at `OggOpusFile` type, it is a struct:</div><div><br></div><div><a href="https://github.com/gcp/opusfile/blob/9a9825df0319138fe845cbb19c250b642965c4b1/include/opusfile.h#L133">https://github.com/gcp/opusfile/blob/9a9825df0319138fe845cbb19c250b642965c4b1/include/opusfile.h#L133</a><br></div><div><br></div><div>so on Pascal it makes more sense declared as:</div><div><br></div><div>type</div><div>  POggOpusFile = ^OggOpusFile;<br>  OggOpusFile = record<br></div><div>  end;</div><div><br></div><div>and finally:</div><div><br></div><div>op_read: function(OpusFile: POggOpusFile; ...<br></div><div><br></div><div>`PDArFloat` seems OK to `op_read_float`, but notice last comment regarding `_pcm`.</div><div><br></div><div>"li: pointer" should be "li: pcint" in both funcs.</div><div><br></div><div>go slowly: these changes can raise new errors on your code. :-)<br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  TDArFloat = array of cfloat;<br>
  PDArFloat = ^TDArFloat;<br>
<br>
op_read: function(OpusFile: TOggOpusFile; pcm : PDArFloat; SampleCount:<br>
Integer; li: pointer): Integer;<br></blockquote><div><br></div><div>`_pcm` on original code is an `int16` buffer... consider to using `cint16`:</div><div><br></div><div><a href="https://github.com/gcp/opusfile/blob/9a9825df0319138fe845cbb19c250b642965c4b1/include/opusfile.h#L1873">https://github.com/gcp/opusfile/blob/9a9825df0319138fe845cbb19c250b642965c4b1/include/opusfile.h#L1873</a></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
op_read_float: function(OpusFile: TOggOpusFile; pcm : PDArFloat;<br>
<span class="gmail-">SampleCount: Integer; li: pointer): Integer;<br>
<br>
</span>Many thanks.<br>
<span class="gmail-"><br>
Fre;D</span></blockquote></div><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div>Silvio Clécio</div></div></div>
</div></div>