Audio-TagLib
view release on metacpan or search on metacpan
lib/Audio/TagLib/ID3v2/Header.pm view on Meta::CPAN
=item I<UV majorVersion()>
Returns the major version number. (Note: This is the 4, not the 2 in
ID3v2.4.0. The 2 is implied.)
=item I<UV revisionNumber()>
Returns the revision number. (Note: This is the 0, not the 4 in
ID3v2.4.0. The 2 is implied.)
=item I<BOOL unsynchronisation()>
Returns true if unsynchronisation has been applied to all frames.
=item I<BOOL extendedHeader()>
Returns true if an extended header is present in the tag.
=item I<BOOL experimentalIndicator()>
Returns true if the experimental indicator flag is set.
=item I<BOOL footerPresent()>
t/TagLib_ID3v2_Header.t view on Meta::CPAN
# which is not accessible at this point
while ( $l < $bv->size() ) {
push @unpacked_bv, unpack 'C', $$iter;
$iter->next();
$l++;
}
return \@unpacked_bv;
}
my @methods = qw(new DESTROY majorVersion revisionNumber
unsynchronisation extendedHeader experimentalIndicator footerPresent
tagSize completeTagSize setTagSize setData render size fileIdentifier);
can_ok("Audio::TagLib::ID3v2::Header", @methods) or
diag("can_ok failed");
cmp_ok(Audio::TagLib::ID3v2::Header->size(), '==', 10) or
diag("static method size() failed");
cmp_ok(Audio::TagLib::ID3v2::Header->fileIdentifier(), 'eq', Audio::TagLib::ByteVector->new('ID3')) or
diag("static method fileIdentifier() failed");
my $i = Audio::TagLib::ID3v2::Header->new();
isa_ok($i, "Audio::TagLib::ID3v2::Header") or
diag("method new() failed");
cmp_ok($i->majorVersion(), '==', 4) or
diag("method majorVersion() failed");
cmp_ok($i->revisionNumber(), '==', 0) or
diag("method revisionNumber() failed");
cmp_ok($i->unsynchronisation(), '==', 0) or
diag("method unsynchronisation() failed");
cmp_ok($i->experimentalIndicator(), '==', 0) or
diag("method experimentalIndicator() failed");
cmp_ok($i->extendedHeader(), '==', 0) or
diag("method extendedHeader() failed");
cmp_ok($i->footerPresent(), '==', 0) or
diag("method footerPresent() failed");
cmp_ok($i->tagSize(), '==', 0) or
diag("method tagSize() failed");
cmp_ok($i->completeTagSize(), '==', 10) or
diag("method completeTagSize() failed");
t/TagLib_ID3v2_Header.t view on Meta::CPAN
my $data = Audio::TagLib::ByteVector->new($head, 10);
$i = Audio::TagLib::ID3v2::Header->new($data);
isa_ok($i, "Audio::TagLib::ID3v2::Header") or
diag("method new(bytevector) failed");
cmp_ok($i->size(), '==', 10) or
diag("method new(bytevector) failed");
cmp_ok($i->majorVersion(), '==', 2) or
diag("method majorVersion() failed");
cmp_ok($i->revisionNumber(), '==', 3) or
diag("method revisionNumber() failed");
cmp_ok($i->unsynchronisation(), '==', 1) or
diag("method unsynchronisation() failed");
cmp_ok($i->experimentalIndicator(), '==', 1) or
diag("method experimentalIndicator() failed");
cmp_ok($i->extendedHeader(), '==', 1) or
diag("method extendedHeader() failed");
cmp_ok($i->footerPresent(), '==', 1) or
diag("method footerPresent() failed");
chomp(my $ver = qx{taglib-config --version});
$is18 = $ver >= version->declare('1.8');
t/TagLib_ID3v2_Header.t view on Meta::CPAN
# Patch Festus-03 rt.cpan.org #79942
#$new_head = "ID3\x{04}\x{0}\x{20}\x{0}\x{0}\x{0}\x{0}";
# 9/25/2012
# According to taglib-1.8/taglib/mpeg/id3v2/id3v2header.cpp:render()
# The version is always set to 2.4.0 (4.0), however as of taglib-1.8
# The majorVersion is carried through as is.
# The revisionNumber is set to 0 (Zero).
# The experimentalIndicator flag is carried through as is.
# The rest are unsupported by taglib therfore set to false:
# unsynchronisation
# extendedHeader
# footerPresent
#
# Mod for 1.63 - Make the data version-dependent
$new_head = $is18 ? "ID3\x{02}\x{0}\x{20}\x{0}\x{0}\x{0}\x{0}" :
"ID3\x{04}\x{0}\x{20}\x{0}\x{0}\x{0}\x{0}";
$new_data = Audio::TagLib::ByteVector->new($new_head, 10);
$new = convert_bytevector($new_data);
xs/id3v2header.xs view on Meta::CPAN
RETVAL
unsigned int
TagLib::ID3v2::Header::revisionNumber()
CODE:
RETVAL = THIS->revisionNumber();
OUTPUT:
RETVAL
bool
TagLib::ID3v2::Header::unsynchronisation()
CODE:
RETVAL = THIS->unsynchronisation();
OUTPUT:
RETVAL
bool
TagLib::ID3v2::Header::extendedHeader()
CODE:
RETVAL = THIS->extendedHeader();
OUTPUT:
RETVAL
( run in 1.924 second using v1.01-cache-2.11-cpan-9581c071862 )