#!/usr/bin/perl -w # based on he_48khz.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, 48000, "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 <g,X ",y_kE <",y_kEg,X <",y_kE <"-g,X ,y_kE <",y_kE <<g,X ",y_kE <",y_kEKg,X <",y_kE <"Zg,X ,y_kE <",y_kE <ig,X ",y_kE <",y_kExg,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 4g,X <",y_kE 4g,X <",y_kE 4g,X <",y_kE 4g,X <",y_kE 4g,X <",y_kE 4g,X <",y_kE 4g,X <"4g,X ,y_kE <"4g,X ,y_kE <"4g,X ,y_kE <"Dg,X ,y_kE <"Dg,X ,y_kE <"Dg,X ,y_kE <"Dg,X ,y_kE <"Dg,X ,y_kE <"Dg,X ,y_kE <"Dg,X ,y_kE <"Dg,X ,y_kE <"Dg,X ,y_kE Dg,X <"Tg,X ,y_kE <"Tg,X ,y_kE <"Tg,X ,y_kE <"Tg,X ,y_kE <"Tg,X ,y_kE <"Tg,X ,y_kE <"Tg,X ,y_kE <"Tg,X ,y_kE <"Tg,X ,y_kE <"Tg,X ,y_kE <"dg,X ,y_kE <"dg,X ,y_kE <"dg,X ,y_kE <"dg,X ,y_kE <"dg,X ,y_kE <"dg,X ,y_kE <"dg,X ,y_kE <"dg,X ,y_kE <"dg,X ,y_kE