Audio::TagLib::MPEG::XingHeader - An implementation of the Xing VBR headers


Audio-TagLib documentation  | view source Contained in the Audio-TagLib distribution.

Index


NAME

Top

Audio::TagLib::MPEG::XingHeader - An implementation of the Xing VBR headers

SYNOPSIS

Top

  use Audio::TagLib::MPEG::XingHeader;

  my $i = Audio::TagLib::MPEG::XingHeader->new($data);
  print $i->isValid() ? "valid" : "invalid", "\n";

DESCRIPTION

Top

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

see Audio::TagLib::MPEG::Header

EXPORT

None by default.

SEE ALSO

Top

Audio::TagLib

AUTHOR

Top

Dongxu Ma, <dongxu@cpan.org>

COPYRIGHT AND LICENSE

Top


Audio-TagLib documentation  | view source Contained in the Audio-TagLib distribution.