#!/usr/bin/perl -w # based on fl14.mpg # 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 = 16) * 8 + 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->layer2, "frame is layer II"); ok($frame->has_crc, "frame has crc"); ok(!$frame->broken, "frame isn't broken"); is($frame->bitrate, 384, "bitrate"); is($frame->sample, 48000, "sample rate"); ok($frame->dual_channel, "dual_channel"); } is(MPEG::Audio::Frame->read(*DATA), undef, "nothing else in the file"); __DATA__ )eivvvvwwgwmk(# P~ w6-JQJ8>Nԫ{:RYnZ͛|b\ϦpjƲ=o>s3 |w=tass5|idap1%nA}oށ{tass5|idax4u1%n)ܺAAPq" ŷj±'n4Hy(\# 0pn[i}hkHco]5WMEKJ] ƖFAS^]˯tgr [z6+v@$\E?ޠP嶟>:ֆĆ6[5tTEpidax4u1%n)ܺAAPq" ŷj±'n4Hy(\# 0pn[i}hkHco]5WMEKJ] ƖFAS^]˯tgr [z6+v@$\E?ޠP嶟>:ֆĆ6[5tTEpzewcfۥ$>}N:ν=޾|߾7,aAOE]"l[ a4)u@APy[Yo1E(g4Mk]Ϙُ8}lې5#º~;%l08(1ՉkP\ wr& *#?k`U:Z]c#-?(Q?tLƉps3˹1rxW]9cZ/d:=w n._ФCYv l gSK`DrJ'@n5fyw>cfm]th6^R(.Ż~vBGTig5*eN-.˖Q(&~cDָ9͹R<+YFXֻEطx/hRꀂ,;[lť0"9rc%Q7Dh3<1qٷ jGuӖ5vK(`pPczqHM APT9G`mu8G.[~QDt &Zgs6c4[6 Hrƴ_e  ubz/Z)b\; H# 4mΧXy(OD?1k\|yƃf܁NX֋,aAOE]"l[ a4)u@APy[Yo1E(g4Mk]Ϙُ8}lې5#º~;%l08(1ՉkP\ wr& *#?k`U:Z]c#-?(Q?tLƉps3˹1rxW]9cZ/d:=w n._ФCYv l gSK`DrJ'@n5fyw>cfm]thzewcfۥ$>}N:ν=޾|߾7,aAOE]"l[ a4)u@APy[Yo1E(g4Mk]Ϙُ8}lې5#º~;%l08(1ՉkP\ wr& *#?k`U:Z]c#-?(Q?tLƉps3˹1rxW]9cZ/d:=w n._ФCYv l gSK`DrJ'@n5fyw>cfm]th6^R(.Ż~vBGTig5*eN-.˖Q(&~cDָ9͹R<+YFXֻEطx/hRꀂ,;[lť0"9rc%Q7Dh3<1qٷ jGuӖ5vK(`pPczqHM APT9G`mu8G.[~QDt &Zgs6c4[6 Hrƴ_e  ubz/Z)b\; H# 4mΧXy(OD?1k\|yƃf܁NX֋,aAOE]"l[ a4)u@APy[Yo1E(g4Mk]Ϙُ8}lې5#º~;%l08(1ՉkP\ wr& *#?k`U:Z]c#-?(Q?tLƉps3˹1rxW]9cZ/d:=w n._ФCYv l gSK`DrJ'@n5fyw>cfm]thzewcfۥ$>}N:ν=޾|߾7,aAOE]"l[ a4)u@APy[Yo1E(g4Mk]Ϙُ8}lې5#º~;%l08(1ՉkP\ wr& *#?k`U:Z]c#-?(Q?tLƉps3˹1rxW]9cZ/d:=w n._ФCYv l gSK`DrJ'@n5fyw>cfm]th6^R(.Ż~vBGTig5*eN-.˖Q(&~cDָ9͹R<+YFXֻEطx/hRꀂ,;[lť0"9rc%Q7Dh3<1qٷ jGuӖ5vK(`pPczqHM APT9G`mu8G.[~QDt &Zgs6c4[6 Hrƴ_e  ubz/Z)b\; H# 4mΧXy(OD?1k\|yƃf܁NX֋,aAOE]"l[ a4)u@APy[Yo1E(g4Mk]Ϙُ8}lې5#º~;%l08(1ՉkP\ wr& *#?k`U:Z]c#-?(Q?tLƉps3˹1rxW]9cZ/d:=w n._ФCYv l gSK`DrJ'@n5fyw>cfm]thzewcfۥ$>}N:ν=޾|߾7,aAOE]"l[ a4)u@APy[Yo1E(g4Mk]Ϙُ8}lې5#º~;%l08(1ՉkP\ wr& *#?k`U:Z]c#-?(Q?tLƉps3˹1rxW]9cZ/d:=w n._ФCYv l gSK`DrJ'@n5fyw>cfm]th6^R(.Ż~vBGTig5*eN-.˖Q(&~cDָ9͹R<+YFXֻEطx/hRꀂ,;[lť0"9rc%Q7Dh3<1qٷ jGuӖ5vK(`pPczqHM APT9G`mu8G.[~QDt &Zgs6c4[6 Hrƴ_e  ubz/Z)b\; H# 4mΧXy(OD?1k\|yƃf܁NX֋,aAOE]"l[ a4)u@APy[Yo1E(g4Mk]Ϙُ8}lې5#º~;%l08(1ՉkP\ wr& *#?k`U:Z]c#-?(Q?tLƉps3˹1rxW]9cZ/d:=w n._ФCYv l gSK`DrJ'@n5fyw>cfm]thzewcfۥ$>}N:ν=޾|߾7,aAOE]"l[ a4)u@APy[Yo1E(g4Mk]Ϙُ8}lې5#º~;%l08(1ՉkP\ wr& *#?k`U:Z]c#-?(Q?tLƉps3˹1rxW]9cZ/d:=w n._ФCYv l gSK`DrJ'@n5fyw>cfm]th6^R(.Ż~vBGTig5*eN-.˖Q(&~cDָ9͹R<+YFXֻEطx/hRꀂ,;[lť0"9rc%Q7Dh3<1qٷ jGuӖ5vK(`pPczqHM APT9G`mu8G.[~QDt &Zgs6c4[6 Hrƴ_e  ubz/Z)b\; H# 4mΧXy(OD?1k\|yƃf܁NX֋,aAOE]"l[ a4)u@APy[Yo1E(g4Mk]Ϙُ8}lې5#º~;%l08(1ՉkP\ wr& *#?k`U:Z]c#-?(Q?tLƉps3˹1rxW]9cZ/d:=w n._ФCYv l gSK`DrJ'@n5fyw>cfm]thzewcfۥ$>}N:ν=޾|߾7,aAOE]"l[ a4)u@APy[Yo1E(g4Mk]Ϙُ8}lې5#º~;%l08(1ՉkP\ wr& *#?k`U:Z]c#-?(Q?tLƉps3˹1rxW]9cZ/d:=w n._ФCYv l gSK`DrJ'@n5fyw>cfm]th6^R(.Ż~vBGTig5*eN-.˖Q(&~cDָ9͹R<+YFXֻEطx/hRꀂ,;[lť0"9rc%Q7Dh3<1qٷ jGuӖ5vK(`pPczqHM APT9G`mu8G.[~QDt &Zgs6c4[6 Hrƴ_e  ubz/Z)b\; H# 4mΧXy(OD?1k\|yƃf܁NX֋,aAOE]"l[ a4)u@APy[Yo1E(g4Mk]Ϙُ8}lې5#º~;%l08(1ՉkP\ wr& *#?k`U:Z]c#-?(Q?tLƉps3˹1rxW]9cZ/d:=w n._ФCYv l gSK`DrJ'@n5fyw>cfm]thzewcfۥ$>}N:ν=޾|߾7,aAOE]"l[ a4)u@APy[Yo1E(g4Mk]Ϙُ8}lې5#º~;%l08(1ՉkP\ wr& *#?k`U:Z]c#-?(Q?tLƉps3˹1rxW]9cZ/d:=w n._ФCYv l gSK`DrJ'@n5fyw>cfm]th6^R(.Ż~vBGTig5*eN-.˖Q(&~cDָ9͹R<+YFXֻEطx/hRꀂ,;[lť0"9rc%Q7Dh3<1qٷ jGuӖ5vK(`pPczqHM APT9G`mu8G.[~QDt &Zgs6c4[6 Hrƴ_e  ubz/Z)b\; H# 4mΧXy(OD?1k\|yƃf܁NX֋,aAOE]"l[ a4)u@APy[Yo1E(g4Mk]Ϙُ8}lې5#º~;%l08(1ՉkP\ wr& *#?k`U:Z]c#-?(Q?tLƉps3˹1rxW]9cZ/d:=w n._ФCYv l gSK`DrJ'@n5fyw>cfm]thzewcfۥ$>}N:ν=޾|߾7,aAOE]"l[ a4)u@APy[Yo1E(g4Mk]Ϙُ8}lې5#º~;%l08(1ՉkP\ wr& *#?k`U:Z]c#-?(Q?tLƉps3˹1rxW]9cZ/d:=w n._ФCYv l gSK`DrJ'@n5fyw>cfm]th6^R(.Ż~vBGTig5*eN-.˖Q(&~cDָ9͹R<+YFXֻEطx/hRꀂ,;[lť0"9rc%Q7Dh3<1qٷ jGuӖ5vK(`pPczqHM APT9G`mu8G.[~QDt &Zgs6c4[6 Hrƴ_e  ubz/Z)b\; H# 4mΧXy(OD?1k\|yƃf܁NX֋,aAOE]"l[ a4)u@APy[Yo1E(g4Mk]Ϙُ8}lې5#º~;%l08(1ՉkP\ wr& *#?k`U:Z]c#-?(Q?tLƉps3˹1rxW]9cZ/d:=w n._ФCYv l gSK`DrJ'@n5fyw>cfm]thzewcfۥ$>}N:ν=޾|߾7,aAOE]"l[ a4)u@APy[Yo1E(g4Mk]Ϙُ8}lې5#º~;%l08(1ՉkP\ wr& *#?k`U:Z]c#-?(Q?tLƉps3˹1rxW]9cZ/d:=w n._ФCYv l gSK`DrJ'@n5fyw>cfm]th6^R(.Ż~vBGTig5*eN-.˖Q(&~cDָ9͹R<+YFXֻEطx/hRꀂ,;[lť0"9rc%Q7Dh3<1qٷ jGuӖ5vK(`pPczqHM APT9G`mu8G.[~QDt &Zgs6c4[6 Hrƴ_e  ubz/Z)b\; H# 4mΧXy(OD?1k\|yƃf܁NX֋,aAOE]"l[ a4)u@APy[Yo1E(g4Mk]Ϙُ8}lې5#º~;%l08(1ՉkP\ wr& *#?k`U:Z]c#-?(Q?tLƉps3˹1rxW]9cZ/d:=w n._ФCYv l gSK`DrJ'@n5fyw>cfm]thzewcfۥ$>}N:ν=޾|߾7,aAOE]"l[ a4)u@APy[Yo1E(g4Mk]Ϙُ8}lې5#º~;%l08(1ՉkP\ wr& *#?k`U:Z]c#-?(Q?tLƉps3˹1rxW]9cZ/d:=w n._ФCYv l gSK`DrJ'@n5fyw>cfm]th6^R(.Ż~vBGTig5*eN-.˖Q(&~cDָ9͹R<+YFXֻEطx/hRꀂ,;[lť0"9rc%Q7Dh3<1qٷ jGuӖ5vK(`pPczqHM APT9G`mu8G.[~QDt &Zgs6c4[6 Hrƴ_e  ubz/Z)b\; H# 4mΧXy(OD?1k\|yƃf܁NX֋,aAOE]"l[ a4)u@APy[Yo1E(g4Mk]Ϙُ8}lې5#º~;%l08(1ՉkP\ wr& *#?k`U:Z]c#-?(Q?tLƉps3˹1rxW]9cZ/d:=w n._ФCYv l gSK`DrJ'@n5fyw>cfm]thzewcfۥ$>}N:ν=޾|߾7,aAOE]"l[ a4)u@APy[Yo1E(g4Mk]Ϙُ8}lې5#º~;%l08(1ՉkP\ wr& *#?k`U:Z]c#-?(Q?tLƉps3˹1rxW]9cZ/d:=w n._ФCYv l gSK`DrJ'@n5fyw>cfm]th6^R(.Ż~vBGTig5*eN-.˖Q(&~cDָ9͹R<+YFXֻEطx/hRꀂ,;[lť0"9rc%Q7Dh3<1qٷ jGuӖ5vK(`pPczqHM APT9G`mu8G.[~QDt &Zgs6c4[6 Hrƴ_e  ubz/Z)b\; H# 4mΧXy(OD?1k\|yƃf܁NX֋,aAOE]"l[ a4)u@APy[Yo1E(g4Mk]Ϙُ8}lې5#º~;%l08(1ՉkP\ wr& *#?k`U:Z]c#-?(Q?tLƉps3˹1rxW]9cZ/d:=w n._ФCYv l gSK`DrJ'@n5fyw>cfm]thzewcfۥ$>}N:ν=޾|߾7,aAOE]"l[ a4)u@APy[Yo1E(g4Mk]Ϙُ8}lې5#º~;%l08(1ՉkP\ wr& *#?k`U:Z]c#-?(Q?tLƉps3˹1rxW]9cZ/d:=w n._ФCYv l gSK`DrJ'@n5fyw>cfm]th6^R(.Ż~vBGTig5*eN-.˖Q(&~cDָ9͹R<+YFXֻEطx/hRꀂ,;[lť0"9rc%Q7Dh3<1qٷ jGuӖ5vK(`pPczqHM APT9G`mu8G.[~QDt &Zgs6c4[6 Hrƴ_e  ubz/Z)b\; H# 4mΧXy(OD?1k\|yƃf܁NX֋,aAOE]"l[ a4)u@APy[Yo1E(g4Mk]Ϙُ8}lې5#º~;%l08(1ՉkP\ wr& *#?k`U:Z]c#-?(Q?tLƉps3˹1rxW]9cZ/d:=w n._ФCYv l gSK`DrJ'@n5fyw>cfm]thzewcfۥ$>}N:ν=޾|߾7,aAOE]"l[ a4)u@APy[Yo1E(g4Mk]Ϙُ8}lې5#º~;%l08(1ՉkP\ wr& *#?k`U:Z]c#-?(Q?tLƉps3˹1rxW]9cZ/d:=w n._ФCYv l gSK`DrJ'@n5fyw>cfm]th6^R(.Ż~vBGTig5*eN-.˖Q(&~cDָ9͹R<+YFXֻEطx/hRꀂ,;[lť0"9rc%Q7Dh3<1qٷ jGuӖ5vK(`pPczqHM APT9G`mu8G.[~QDt &Zgs6c4[6 Hrƴ_e  ubz/Z)b\; H# 4mΧXy(OD?1k\|yƃf܁NX֋,aAOE]"l[ a4)u@APy[Yo1E(g4Mk]Ϙُ8}lې5#º~;%l08(1ՉkP\ wr& *#?k`U:Z]c#-?(Q?tLƉps3˹1rxW]9cZ/d:=w n._ФCYv l gSK`DrJ'@n5fyw>cfm]thzewcfۥ$>}N:ν=޾|߾7,aAOE]"l[ a4)u@APy[Yo1E(g4Mk]Ϙُ8}lې5#º~;%l08(1ՉkP\ wr& *#?k`U:Z]c#-?(Q?tLƉps3˹1rxW]9cZ/d:=w n._ФCYv l gSK`DrJ'@n5fyw>cfm]th6^R(.Ż~vBGTig5*eN-.˖Q(&~cDָ9͹R<+YFXֻEطx/hRꀂ,;[lť0"9rc%Q7Dh3<1qٷ jGuӖ5vK(`pPczqHM APT9G`mu8G.[~QDt &Zgs6c4[6 Hrƴ_e  ubz/Z)b\; H# 4mΧXy(OD?1k\|yƃf܁NX֋,aAOE]"l[ a4)u@APy[Yo1E(g4Mk]Ϙُ8}lې5#º~;%l08(1ՉkP\ wr& *#?k`U:Z]c#-?(Q?tLƉps3˹1rxW]9cZ/d:=w n._ФCYv l gSK`DrJ'@n5fyw>cfm]thzewcfۥ$>}N:ν=޾|߾7,aAOE]"l[ a4)u@APy[Yo1E(g4Mk]Ϙُ8}lې5#º~;%l08(1ՉkP\ wr& *#?k`U:Z]c#-?(Q?tLƉps3˹1rxW]9cZ/d:=w n._ФCYv l gSK`DrJ'@n5fyw>cfm]th6^R(.Ż~vBGTig5*eN-.˖Q(&~cDָ9͹R<+YFXֻEطx/hRꀂ,;[lť0"9rc%Q7Dh3<1qٷ jGuӖ5vK(`pPczqHM APT9G`mu8G.[~QDt &Zgs6c4[6 Hrƴ_e  ubz/Z)b\; H# 4mΧXy(OD?1k\|yƃf܁NX֋,aAOE]"l[ a4)u@APy[Yo1E(g4Mk]Ϙُ8}lې5#º~;%l08(1ՉkP\ wr& *#?k`U:Z]c#-?(Q?tLƉps3˹1rxW]9cZ/d:=w n._ФCYv l gSK`DrJ'@n5fyw>cfm]th