ref: a554663fc96c751f1b2a3c398f488fac087a456a
dir: /include/opusenc.h/
#if !defined(_opusenc_h) # define _opusenc_h (1) # if defined(__cplusplus) extern "C" { # endif typedef struct { ope_write_func write; ope_close_func close; } OpusEncCallbacks; /* Opaque encoder struct. */ typedef struct OggOpusEnc OggOpusEnc; /* Opaque header struct. */ typedef struct OggOpusComments OggOpusComments; /* Create a new OggOpus file. */ OggOpusEnc *ope_create_file(const char *path, int rate, int channels, int family, int *error); /* Create a new OggOpus file (callback-based). */ OggOpusEnc *ope_create_callbacks(OpusEncCallbacks *callbacks, void *user_data, int rate, int channels, int family, int *error); /* Add/encode any number of float samples to the file. */ int ope_write_float(OggOpusEnc *enc, float *pcm, int samples_per_channel); /* Add/encode any number of int16 samples to the file. */ int ope_write_int(OggOpusEnc *enc, opus_int16 *pcm, int samples_per_channel); /* Close/finalize the stream. */ int ope_free(OggOpusEnc *enc); /* Ends the stream and create a new stream within the same file. */ int ope_chain_current(OggOpusEnc *enc); /* Ends the stream and create a new file. */ int ope_chain_new_file(OggOpusEnc *enc, const char *path); /* Ends the stream and create a new file (callback-based). */ int ope_chain_new_callbacks(OggOpusEnc *enc, void *user_data); /* Goes straight to the libopus ctl() functions. */ int ope_encoder_ctl(OggOpusEnc *enc, int request, ...); /* ctl()-type call for the OggOpus layer. */ int ope_set_params(OggOpusEnc *enc, int request, ...); # if defined(__cplusplus) } # endif #endif