#!/usr/bin/perl -w # based on he_32khz.bin # http://bmrc.berkeley.edu/ftp/pub/multimedia/mpeg/mpeg2/conformance-bitstreams/audio/mpeg1/compliance/ use strict; use integer; my $n; use Test::More tests => ($n = 150) * 7 + 2; BEGIN { use_ok("MPEG::Audio::Frame") }; for (1 .. $n){ isa_ok(my $frame = MPEG::Audio::Frame->read(*DATA), "MPEG::Audio::Frame", "frame $_"); ok($frame->mpeg1, "frame is MPEG1"); ok($frame->layer3, "frame is layer III"); ok(!$frame->broken, "frame isn't broken"); is($frame->sample, 32000, "sample rate"); is($frame->bitrate, (32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, 320)[($_-1) / 10], "bitrate"); ok($frame->mono, "frame is mono"); } is(MPEG::Audio::Frame->read(*DATA), undef, "nothing else in the file"); __DATA__ g,X,y_kE <",y_kE <",y_kE <'g,X",y_kE <",y_kE <",y_kE Ng,X<",y_kE <",y_kE ug,X<",y_kE g,X<",y_kE g,X<",y_kE g,X<"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <(g,X",y_kE <(g,X",y_kE <(g,X",y_kE <(g,X",y_kE <(g,X",y_kE <(g,X",y_kE <(g,X",y_kE <(g,X"(g,X,y_kE <"(g,X,y_kE <"8g,X,y_kE <"8g,X,y_kE <"8g,X,y_kE <"8g,X,y_kE <"8g,X,y_kE <"8g,X,y_kE <"8g,X,y_kE <"8g,X,y_kE <"8g,X,y_kE <"8g,X,y_kE <"Hg,X,y_kE <"Hg,X,y_kE <"Hg,X,y_kE <"Hg,X,y_kE <"Hg,X,y_kE <"Hg,X,y_kE <"Hg,X,y_kE <"Hg,X,y_kE <"Hg,X,y_kEHg,X <"Xg,X,y_kE <"Xg,X,y_kE <"Xg,X,y_kE <"Xg,X,y_kE <"Xg,X,y_kE <"Xg,X,y_kE <"Xg,X,y_kE <"Xg,X,y_kE <"Xg,X,y_kE <"Xg,X,y_kE <"hg,X,y_kE <"hg,X,y_kE <"hg,X,y_kE <"hg,X,y_kE <"hg,X,y_kE <"hg,X,y_kE <"hg,X,y_kE <"hg,X,y_kE <"hg,X,y_kE <"hg,X,y_kE <"xg,X,y_kE <"xg,X,y_kE <"xg,X,y_kE <"xg,X,y_kE <"xg,X,y_kE <"xg,X,y_kE <"xg,X,y_kE <"xg,X,y_kE <"xg,X,y_kE <"xg,X,y_kE <g,X",y_kE <g,X",y_kE <g,X",y_kE <g,X",y_kE <g,X",y_kE <g,X",y_kE <g,X",y_kE <g,X",y_kE <g,X",y_kE <g,X"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,Xg,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"g,X,y_kE <"