NAME
TagLib::MPEG::XingHeader - An implementation of the Xing VBR headers
SYNOPSIS
use TagLib::MPEG::XingHeader;
my $i = TagLib::MPEG::XingHeader->new($data);
print $i->isValid() ? "valid" : "invalid", "\n";
DESCRIPTION
This is a minimalistic implementation of the Xing VBR headers. Xing headers are often added to VBR (variable bit rate) MP3 streams to make it easy to compute the length and quality of a VBR stream. Our implementation is only concerned with the total size of the stream (so that we can calculate the total playing time and the average bitrate). It uses http://home.pcisys.net/~melanson/codecs/mp3extensions.txt and the XMMS sources as references.
- new(ByteVector $data)
-
Parses a Xing header based on $data. The data must be at least 16 bytes long (anything longer than this is discarded).
- DESTROY()
-
Destroy this XingHeader instance
- BOOL isValid()
-
Returns true if the data was parsed properly and if there is a vaild Xing header present.
- UV totalFrames()
-
Returns the total number of frames.
- UV totalSize()
-
Returns the total size of stream in bytes.
- IV xingHeaderOffset(PV $version, PV $channelMode) [static]
-
Returns the offset for the start of this Xing header, given the version and channels of the frame
EXPORT
None by default.
SEE ALSO
AUTHOR
Dongxu Ma, <dongxu.ma@gmail.com>
COPYRIGHT AND LICENSE
Copyright (C) 2005 by Dongxu Ma
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.7 or, at your option, any later version of Perl 5 you may have available.