#!/usr/bin/perl -w # based on he_44khz.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 = 410) * 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, 44100, "sample rate"); is($frame->bitrate, (32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320)[($_-1) / 30], "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 <"g,X ,y_kE <",y_kE <&g,X ",y_kE <",y_kE <9g,X ",y_kE <",y_kE Mg,X <",y_kE <",y_k`g,X E <",y_kE <",y_ksg,X E <",y_kE <"g,X ,y_kE <",y_kg,X E <",y_kg,X E <",y_kg,X E <",y_kӀg,X E <",y_kg,X E <",y_kg,X E <",y_kg,X E <",y_kg,X E <",y_kg,X E <",y_kg,X E <",y_kg,X E <",y_kg,X E <",y_kg,X E <",y_kg,X E <",y_kg,X E <",y_kg,X E <",y_kg,X E <"g,X ,y_kE <"g,X ,y_kE <"g,X ,y_kEg,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 <""g,X ,y_kE <"2g,X ,y_kE <"2g,X ,y_kE <"0g,X ,y_kE <"2g,X ,y_kE <"2g,X ,y_kE <"0g,X ,y_kE <"2g,X ,y_kE <"2g,X ,y_kE <"2g,X ,y_kE <"0g,X ,y_kE <"2g,X ,y_kE <"2g,X ,y_kE <"2g,X ,y_kE <"0g,X ,y_kE <"2g,X ,y_kE <"2g,X ,y_kE <"2g,X ,y_kE <"0g,X ,y_kE <"2g,X ,y_kE <"2g,X ,y_kE <"0g,X ,y_kE <"2g,X ,y_kE <"2g,X ,y_kE <"2g,X ,y_kE <"0g,X ,y_kE <"2g,X ,y_kE <"2g,X ,y_kE <"2g,X ,y_kE <"0g,X ,y_kE <"2g,X ,y_kE