195typedef struct OggOpusComments OggOpusComments;
198typedef struct OggOpusEnc OggOpusEnc;
210OPE_EXPORT OggOpusComments *ope_comments_create(
void);
215OPE_EXPORT OggOpusComments *ope_comments_copy(OggOpusComments *comments);
219OPE_EXPORT
void ope_comments_destroy(OggOpusComments *comments);
227OPE_EXPORT
int ope_comments_add(OggOpusComments *comments,
const char *tag,
const char *val);
234OPE_EXPORT
int ope_comments_add_string(OggOpusComments *comments,
const char *tag_and_val);
243OPE_EXPORT
int ope_comments_add_picture(OggOpusComments *comments,
const char *filename,
int picture_type,
const char *description);
253OPE_EXPORT
int ope_comments_add_picture_from_memory(OggOpusComments *comments,
const char *ptr,
size_t size,
int picture_type,
const char *description);
275OPE_EXPORT OggOpusEnc *ope_encoder_create_file(
const char *path, OggOpusComments *comments, opus_int32 rate,
int channels,
int family,
int *error);
287OPE_EXPORT OggOpusEnc *ope_encoder_create_callbacks(
const OpusEncCallbacks *callbacks,
void *user_data,
288 OggOpusComments *comments, opus_int32 rate,
int channels,
int family,
int *error);
299OPE_EXPORT OggOpusEnc *ope_encoder_create_pull(OggOpusComments *comments, opus_int32 rate,
int channels,
int family,
int *error);
310OPE_EXPORT
int ope_encoder_deferred_init_with_mapping(OggOpusEnc *enc,
int family,
int streams,
311 int coupled_streams,
const unsigned char *mapping);
318OPE_EXPORT
int ope_encoder_write_float(OggOpusEnc *enc,
const float *pcm,
int samples_per_channel);
325OPE_EXPORT
int ope_encoder_write(OggOpusEnc *enc,
const opus_int16 *pcm,
int samples_per_channel);
333OPE_EXPORT
int ope_encoder_get_page(OggOpusEnc *enc,
unsigned char **page, opus_int32 *len,
int flush);
339OPE_EXPORT
int ope_encoder_drain(OggOpusEnc *enc);
344OPE_EXPORT
void ope_encoder_destroy(OggOpusEnc *enc);
351OPE_EXPORT
int ope_encoder_chain_current(OggOpusEnc *enc, OggOpusComments *comments);
359OPE_EXPORT
int ope_encoder_continue_new_file(OggOpusEnc *enc,
const char *path, OggOpusComments *comments);
367OPE_EXPORT
int ope_encoder_continue_new_callbacks(OggOpusEnc *enc,
void *user_data, OggOpusComments *comments);
373OPE_EXPORT
int ope_encoder_flush_header(OggOpusEnc *enc);
380OPE_EXPORT
int ope_encoder_ctl(OggOpusEnc *enc,
int request, ...);
387OPE_EXPORT
const char *ope_strerror(
int error);
391OPE_EXPORT
const char *ope_get_version_string(
void);
395OPE_EXPORT
int ope_get_abi_version(
void);
400# if defined(__cplusplus)