Audio-Opusfile
view release on metacpan or search on metacpan
Opusfile.xs view on Meta::CPAN
long
op_bitrate_instant(of)
Audio::Opusfile of;
POSTCALL:
if(RETVAL < 0)
croak("op_bitrate_instant returned error %ld\n", RETVAL);
long
op_raw_tell(of)
Audio::Opusfile of;
POSTCALL:
if(RETVAL < 0)
croak("op_raw_tell returned error %ld\n", RETVAL);
long
op_pcm_tell(of)
Audio::Opusfile of;
POSTCALL:
if(RETVAL < 0)
croak("op_pcm_tell returned error %ld\n", RETVAL);
NO_OUTPUT int
op_raw_seek(of, offset)
Audio::Opusfile of;
long offset;
POSTCALL:
if(RETVAL)
croak("op_raw_seek returned error %d\n", RETVAL);
NO_OUTPUT int
op_pcm_seek(of, offset)
Audio::Opusfile of;
long offset;
POSTCALL:
if(RETVAL)
croak("op_pcm_seek returned error %d\n", RETVAL);
NO_OUTPUT int
op_set_gain_offset(of, gain_type, gain_offset_q8)
Audio::Opusfile of;
int gain_type;
int gain_offset_q8;
POSTCALL:
if(RETVAL)
croak("op_set_gain_offset returned error %d\n", RETVAL);
void
op_set_dither_enabled(of, enabled)
Audio::Opusfile of;
int enabled;
void
op_read(of, bufsize = 1024 * 1024)
Audio::Opusfile of;
int bufsize;
PREINIT:
opus_int16* buf;
int li, ret, chans, i;
PPCODE:
Newx(buf, bufsize, opus_int16);
ret = op_read(of, buf, bufsize, &li);
if(ret < 0)
croak("op_read returned error %d\n", ret);
chans = op_channel_count(of, li);
EXTEND(SP, chans * ret + 1);
PUSHs(sv_2mortal(newSViv(li)));
for(i = 0 ; i < chans * ret ; i++)
PUSHs(sv_2mortal(newSViv(buf[i])));
void
op_read_float(of, bufsize = 1024 * 1024)
Audio::Opusfile of;
int bufsize;
PREINIT:
float* buf;
int li, ret, chans, i;
PPCODE:
Newx(buf, bufsize, float);
ret = op_read_float(of, buf, bufsize, &li);
if(ret < 0)
croak("op_read_float returned error %d\n", ret);
chans = op_channel_count(of, li);
EXTEND(SP, chans * ret + 1);
PUSHs(sv_2mortal(newSViv(li)));
for(i = 0 ; i < chans * ret ; i++)
PUSHs(sv_2mortal(newSVnv(buf[i])));
void
op_read_stereo(of, bufsize = 1024 * 1024)
Audio::Opusfile of;
int bufsize;
PREINIT:
opus_int16* buf;
int ret, i;
PPCODE:
Newx(buf, bufsize, opus_int16);
ret = op_read_stereo(of, buf, bufsize);
if(ret < 0)
croak("op_read_stereo returned error %d\n", ret);
EXTEND(SP, 2 * ret);
for(i = 0 ; i < 2 * ret ; i++)
PUSHs(sv_2mortal(newSViv(buf[i])));
void
op_read_float_stereo(of, bufsize = 1024 * 1024)
Audio::Opusfile of;
int bufsize;
PREINIT:
float* buf;
int ret, i;
PPCODE:
Newx(buf, bufsize, float);
ret = op_read_float_stereo(of, buf, bufsize);
if(ret < 0)
croak("op_read_float_stereo returned error %d\n", ret);
EXTEND(SP, 2 * ret);
for(i = 0 ; i < 2 * ret ; i++)
PUSHs(sv_2mortal(newSVnv(buf[i])));
MODULE = Audio::Opusfile PACKAGE = Audio::Opusfile::Tags PREFIX = opus_tags_
int
opus_tags_query_count(tags, tag)
Audio::Opusfile::Tags tags;
const char* tag;
const char*
opus_tags_query(tags, tag, count = 0)
Audio::Opusfile::Tags tags;
const char* tag;
int count;
MODULE = Audio::Opusfile PACKAGE = Audio::Opusfile::PictureTag PREFIX = opus_picture_tag_
Audio::Opusfile::PictureTag
opus_picture_tag_parse(tag)
const char *tag;
PREINIT:
OpusPictureTag *pic;
int err;
CODE:
Newx(pic, 1, OpusPictureTag);
if(err = opus_picture_tag_parse(pic, tag))
croak("opus_picture_tag_parse returned error %d\n", err);
RETVAL = pic;
OUTPUT:
RETVAL
void
DESTROY(pic)
Audio::Opusfile::PictureTag pic
CODE:
Safefree(pic);
int
type(pic)
Audio::Opusfile::PictureTag pic;
CODE:
RETVAL = pic->type;
OUTPUT:
RETVAL
const char*
mime_type(pic)
Audio::Opusfile::PictureTag pic;
CODE:
RETVAL = pic->mime_type;
OUTPUT:
RETVAL
( run in 0.790 second using v1.01-cache-2.11-cpan-71847e10f99 )