[opus] How to use op_test_callbacks ?

Fred van Stappen
Sat, 28 Jan 2017 13:31:46 -0000

Hello.

I have succeffully open a memory buffer from a url-opus-file with (from Pascal
fpc):

HandleOP := op_test_memory(BufferURL[0],PipeBufferSize, Err);
op_test_open(StreamIn[x].Data.HandleOP);

I can retrieve the tags infos, all seems ok.

But for reading, using this gives 0 outframes:

outframes := op_read_float(Data.HandleOP, at Buffer[0], Wantframesm, nil);

I suspect that some callback must be defined.

In opusfile library there is:

OP_WARN_UNUSED_RESULT OggOpusFile *op_test_callbacks(void *_source,
 const OpusFileCallbacks *_cb,const unsigned char *_initial_data,
 size_t _initial_bytes,int *_error) OP_ARG_NONNULL(2);

Maybe it is what I need in place of op_test_memory().

But I do not understand what is _source and initial_data.

Also how to use OpusFileCallbacks.

Some example will be highly appreciated how to use op_test_callbacks() with the
memory buffer (or how to use op_read_float() with op_test_memory()) . (In C or
Pascal).

Many thanks.

Fre;D



-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.xiph.org/pipermail/opus/attachments/20170128/726351e9/attachment.html>