Audio-TagLib
view release on metacpan or search on metacpan
xs/oggpageheader.xs view on Meta::CPAN
#include "oggpageheader.h"
MODULE = Audio::TagLib PACKAGE = Audio::TagLib::Ogg::PageHeader
PROTOTYPES: ENABLE
################################################################
#
# PUBLIC MEMBER FUNCTIONS
#
################################################################
TagLib::Ogg::PageHeader *
TagLib::Ogg::PageHeader::new(file=0, pageOffset=-1)
TagLib::Ogg::File * file
long pageOffset
CODE:
RETVAL = new TagLib::Ogg::PageHeader(file, pageOffset);
OUTPUT:
RETVAL
void
TagLib::Ogg::PageHeader::DESTROY()
CODE:
if(!SvREADONLY(SvRV(ST(0))))
delete THIS;
bool
TagLib::Ogg::PageHeader::isValid()
CODE:
RETVAL = THIS->isValid();
OUTPUT:
RETVAL
void
TagLib::Ogg::PageHeader::packetSizes()
INIT:
TagLib::List<int> l = THIS->packetSizes();
PPCODE:
switch(GIMME_V) {
case G_SCALAR:
ST(0) = sv_2mortal(newSVuv(l.size()));
XSRETURN(1);
case G_ARRAY:
EXTEND(SP, l.size());
if(0 < l.size()) {
for(int i = 0; i < l.size(); i++)
PUSHs(sv_2mortal(newSViv(l[i])));
//XSRETURN(l.size());
} else
XSRETURN_EMPTY;
default:
/* G_VOID */
XSRETURN_UNDEF;
}
void
TagLib::Ogg::PageHeader::setPacketSizes(...)
PROTOTYPE: @
PREINIT:
TagLib::List<int> l;
CODE:
for(int i = 1; i < items; i++) {
if(!(SvIOK(ST(i)) || SvUOK(ST(i))))
croak("ST(i) is not an integer");
}
for(int i = 1; i < items; i++)
l.append(SvIV(ST(i)));
THIS->setPacketSizes(l);
bool
TagLib::Ogg::PageHeader::firstPacketContinued()
CODE:
RETVAL = THIS->firstPacketContinued();
OUTPUT:
RETVAL
void
TagLib::Ogg::PageHeader::setFirstPacketContinued(continued)
bool continued
CODE:
THIS->setFirstPacketContinued(continued);
bool
TagLib::Ogg::PageHeader::lastPacketCompleted()
CODE:
RETVAL = THIS->lastPacketCompleted();
OUTPUT:
RETVAL
void
TagLib::Ogg::PageHeader::setLastPacketCompleted(completed)
bool completed
CODE:
THIS->setLastPacketCompleted(completed);
bool
TagLib::Ogg::PageHeader::firstPageOfStream()
CODE:
( run in 0.897 second using v1.01-cache-2.11-cpan-71847e10f99 )