#!/usr/bin/perl # based on fl6.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 = 49) * 8 + 2; BEGIN { use_ok("MPEG::Audio::Frame") }; $MPEG::Audio::Frame::lax = 1; my $last; for (1 .. $n){ SKIP: { isa_ok(my $frame = MPEG::Audio::Frame->read(*DATA), "MPEG::Audio::Frame", "frame $_"); skip "bad file?" => 7 if $_ == 36; ok($frame->mpeg1, "frame is MPEG1"); ok($frame->layer1, "frame is layer I"); ok($frame->has_crc, "frame has CRC"); ok(!$frame->broken, "frame isn't broken"); is($frame->bitrate, 384, "bitrate"); is($frame->sample, 44100, "sample rate"); ok($frame->stereo, "stereo"); }} is(MPEG::Audio::Frame->read(*DATA), undef, "nothing else in the file"); __DATA__ XdȠ\vz_mݠݠc كe dki|DT'w44Uie瞠ߠuHPc"e%YhU""""""""cN4ND80 0 ,<^" \ ἠujC/Š(]T|^砪BW(3&_KxE*#噠砷K_נ5a+yq$DҸy^[^+MǠM:(V#ciaRǠa琠be QΠHZi;|c:u]YSʴhffY^.k<ڠm砻iٔ("$X9'RjeAZij׷y{!)eɠx3R&ɠ˪HVIPd4DDDDDDDDc0Ë0K@L8㠍8L8K4NktXba9&чs^(50/e٤'fv&.2C堹h٠j3o4eΚW,?nFF_kB kfӠso(ˠtğ*+ܽq Vl,Y!U@nՠajEvlnE'ߠɴ 4"mu'IQT! 5BpK҂렾snd&N<#c Ou(]Ǡdn6iJ'(Ġ-俠Ӆ;4ݠAAEhUw9 w&5M* 6;rkWํ?B7h;*MaZq bPˠ=iBď]'wwwwwwwwUUUUUUUUcO<4O4N80O84ߠQ㉢ ԋxY }"TtDSllw yn T.ҕw5w𠝷9}S qCl4' 4j_$m7kTf1^àbzǜ3Eg堬YrPs7xwJbࠀ|w`5qe g#栻R$T8M/p7xvEnXՠgl˖Zh3I4L0}٠ۚ)[mWzIQ8VؠluI%4'||vDrmWg@=nE`/lPngڠcF7`z{tf2.)񠽑"rNffffffffffffffffc40N88Ӡ,ӌ84瞠qVMZp4̠ffʨ([ .=Ӷop[d͠נqȀ&rN1ŧ/٠v|19R58ⅠQGCײh-çcRqr-ҳغ2 QǗ*ݠVȠHl2uYTڠ+*MLϤgtF)./Fota=m+ 2VMtZRi+E ޷>10AmBa R֠QvXtAƸdjMPΠ8/3֠ QUȓ4l4Π*Π~\Q^&XA۠%ؠǠiQܠb"a;"l8#+:屠Kͽ)U~T@MˮS,q;UUUUUUUUwwwwwwwwc 8ӎ854ODӋ84 ÇjoZ>([R͜pZvai9؃*2vV!፠ht\u0zuƠ[Q+נ6 ]s`TtHצܠ`àؖAՠ ЃٕtׇنV(osmP<^VRWwMp+z\u`G9}ٶ`ϘX4Z;<gM+ߠ=IР,W2kݠPzuƢ|RSygTeFѠ+J$33333333c <ӎ848㠐8Ϡ0 @ݱĔʳ|oZa;1!)}*h(ՠҎZ̠<%nzۏؠwv1YIe ̝֠ɠZى9S5fd͉9PG*J1E/BjzViWaiN"X~gYeSLh$ߜ|:Ơct"TIŠInJ6+ޠnUHMތeS+,MT)YhUWGijCVhfYpX lLkqY:>?rA92fxr(sꅠϠk\v0]jZtR_uD|}?e s һiAj4rv[̠(*ŠGdK4X4DF!$ɠ/cXuGn;GضU\b(I)Ƞ]h CR>pc0M0<8Ӡ8N48ӌAdfyEPH;FMz \cݥIe )wbz*Eנj U\U6yygdSdEZ&\)lkcVFo$ǘlhY].pBz/ P*Xx{'haY<%HR{LMw&x!Wޠ $Ddb\$^5q+slu7و6Be`ij)+S+HJgàˡAhM&Dd,Ϭgw0 굠KeefGT_{<])}W%UBID1ߪm`#m{t7Ƞhb<7rHvUG]w̠̠4 8M4Î4-MpN4T -HQ4M*G0uIM[ .W2D$rh6 C]_yE3@c,8b?.⠙7Į y1bנA14y6FԠ$) &à 81J«7hx𧠨ZJTͭ9:|=L-Ƿڠ7Ջ&"RVF *TEgv+鮁gMDݠ69tYA2Qʠr} 8=w+ݨ֠`Rl TZ2kTCi߻R"gW._r3n"gxKޠAR̠wΠz цQA/_"Y%3?i8̸md}@1ӠŒ',\ƠMԴ?[iu ?9}e/q F YDQ {]Ӡ 3 $ 0Kp..lic^K}w9jAg0M4㍠84Mވb^GxkrQ2ja$,MOhGk`sjʠ9{I h/MSU)v/kZx12#* (bRaHKn7%D|z0KPJhc 7o/߶ޠ'abs]*6Np7p%;kҠg! `T*ZDvz==PРr {4h:~.KFk?5tNK4-0N8X͠X- ̃L1sF/Sf|f n( ɠ,ޠB>|D\FȠ NvMݠݠ88N@M8OvbN%BUzՊ*׸e|!JӝKLwXBa"Xɠ`{0̠@NF|PeITQvdN˜7p[jmw}J[m ,ՠN[?`ޠ9wYQiql'Vj=Ӡ})l#t @'hR,6?N!>^i3͠DՠX qQzY]  WO*W'ك8۠&Ҡ?7Qԩ2K!umR&?Klt ѪРҠC}wE[3/M󰐠4= .sŠJe"X+#)=jVȠƸ토dؠު@"VbxcuXyX'P1 4Ӡ4͠84L0ӠFVU#ɠ&Ԡkؠl\s̠IGiD@Ԡ%gaktF @*xFՠzu QtI`}aƐ]>qOpIiYVŜ.LTΠlљԊܠϠ HU=$3b6$DzoYVVUf?9:}%T|878.VFA}HCUڵxPX8^ѠTܠhUXV1""""""""<Ӡ<4L48Ġ 0ӏ<8RɠNsX%ze1T̠geĠ̭HՠLm$&QHc al7S8J$e]`D&`a М謠OfnN<.>c)SJFB,tTL{0CpsFۥmȘ(. t8eqN65Y?3333333384004㠎,ӏ8Ӎ8XJRicfdq̠eSᘠޯUxܚh}Fpo~ዠFĜ>#әdY{~$痉% TxРw蠪QSYÅ57MQN蠏rjxUw{ߠ)L e+ƠYHGIjƠ~L vqExJ&٠Rӥ6[Xʒ+f o->`Ri)iǎɠ>TT;`W/1m砊xxZc*ԠG7*T(f ҁwefD!q%HWS\]FM!=OJ]ĠLi>y +Ǯxbf GO_>zZ ’fdZDDDDDDDD8<㏠<, @8Ӎ4L48 S# sMx:ʅk8+3fẠP[H=+XfV~tӻk2Jkzw"FѠ G1 $4i֩v̬c< E . ][?Cՠ+*ph{Ŋ^笠@[\YРE݃~4J{fae]0(`'٩Fق|mנU۠r Y` keL{9)}a1Ss >Od%ܠUˠnV`L(Pʌe'+SyD>n29z.Zi$S(Hޠo^ 1t(EJɠ%rhL(,H6wwwwwwwwUUUUUUUU8ӠN< 4Ӌ<ӏ<5N< 8$OΠVf9W))Z&,QlTv~V _Ik*'@}ӨbQ^x\wsLBr #40PSowtbcw |_-[P-֠rrYޣ7gѠ̪점}ggpv6Zn)]عȠ^IC]ϕP.Sj$P@˓rP!jJnPhN8lƧffΠu&OUXnd@4z Ji{Lꠇdie.⊖`gR8V8EZ>Ҡfv|n`xvlVXX}1XIeVLJffffffffffffffff8N4M44ӑ@Ӡ0͠@K0@ M0v}נ)Ӆ Ӡ6ջW=nnyVdRrw&oe+/:"잠jdѻx_e .1S}ܠ:I=$(^%h*Txh=.fnUtFP8̔ gdL,Br&f&̟u2Kw@|a֠-\(Ŏ͠};ܠJ`t.bKv0v p87 f&Iʐ*g5>3alDhٵt6@v=I٠M7!UgU}!v@{<+ TTjbnrd\|ɠ@-ǣQӎOg}ޠ-/kݓQCRUUUUUUUUwwwwwwww8Ӡ@ӎ8@N<Ӡ448vD9ks&Ӯ\jxF n堛){Ѡ]'X&[Xk!ee[U9 ^Ɩ,^ucL~QTǡm@)%_DNOlDkfF\\TנluNr41OBH yjbMP5 |+^7B càQ0lՙTesHZ67{SK*],3Р_9t{d=j_T.mC`%vj>d:jJL6Gճq~b8UVzGj͠ǪH&HP333333338㠍<Π<ӌi/ؠa. G$6C;x9~ y&pK*tBӄ}ƠɠcIsGlTG9gV@UiOusgpɚY\pRCNȫڠh(RS[-norV]LcWX;9%Π4(!zGw͠T`2pPzq좠*tWu++eZ5MX;goi/ŠIFv1\""""""""8Ӡ4Ì5N0ӏ0Ԡ888ӍdBnS술8yU K ĠTܲ[ 6zȞqSʉfRe_ dmHrVܠ.ؠ gJƠu T/_mLP47^FmON1Aqk4ʠɨs>9Ac5k]rb% nN8M4۠iǠx;Рuz~M+nզ7v7P=N`Ѣ9=ihĠRB~v "ݛ.rL[aEp7XDѨ>Qq+aMĠΓFHיxBlq젉S㠜Lq6 (:6p\殠dJ8f\1h͊PVR8ӠM<͠088@ @N8ӏaRVw6HPXbHxU+FwwԏVD ϧ"`e蠵Y%UgmU7٠.r4 L baq"P!n’FZɭƮ0EXRhfj-{àR6V waJb`'DJ ?9aϠ1}ĹhDUjӠ~V(Ty (Mt̂HE%]T5p,HvkVYFDqɏԶzߜՠՃ-`D MĠ #8eTXM7ӹ!Q&F82io)rʛio6UVDGݠ^DIzWCK͠g_֠9Iw̠̠8Ӡ4M8M4Md%PӠ9wTCs~,;:jJKG:Z02철S2P+oƠnlzߠQ}0ݕƑIV.駠vitРoI`)*X(bla-Y`}#k݂]7fWHp[3p'6xS^k_Y;ecc9ΓJtጠmFW\EРV)r?Sݱ,y>Y~+fPRG{QyҦXh[,r|w!ՠ.\9\:?km{7h/D}/ムh ̪ <2ݠݠ4Ӡ 0㏠88N7j}([: 池lɠƷĠN ܠmvz zK5@`ޠQj]N;o)n]G^ĥj0{B)7L~Z)v&IAE=T)fp[ӡM‡O sjE[A;;OY蠮:~Ah)sO-Hfؠ1uA XT 8㏠48N! =P')N9UY~(aO~䥉2f7T:JG0xݠ!ytGKd8NwҝƠ!`fmvϠATf\2z`B EI篠4Qe \8Ǡe*1ېzvQOՠ5qs+Pf)YkN'NAD.%=u)Uˆ=֠~I8wBId]0 k0[-x!I6ѻѠ I&#m:8"+Yw{ OKa=v̜;s8[^8P]hY =+GuOg i-!_s[<mݠݠc 1<Ӎ8+~]<RPp ˠO7T+w&O͠,F/7AOa`uŠSX kNSFA*#:n ͠ۏZؠtXȠ|盠If#>̠s`\Ekd_F>ՠ秠lҠS(v5ɜ$ⓠH,sI%Ʋ0y[hw.v&W󓠙g jz5`Cuf![,8S[h~:!pNC~޻G[dF*`MB(8b;&oSR[+Ye2tlGŒ?~j%YYꬠfyIBaX̠)̠̠c 0M0,֠|Qs%W=w- Š`DT̺{V;2OE3~4*M%I?wԠz!U_&͠ShEsQ֠AޠzAcN8L8<ӏ0B Wj7qd}lڠ(Z3g.&8Vz8V{(eA׭e~9FW();1PZYmiȠ[OL9IwP!fUNϬ7"y, 7)4*HYĎ[ǛCܴ/? }ȠȲ7Tdb~1E~jgx&XDٟE9[հWqz.tl{6 U`A?Ɔ~+ >;>x+Q+ `*ETjی[54}l]QFRdZY0 ,t6d€mfEeUE""""""""cN9#N,0<Ҡ@O4N4.8th ڠ)M1 OSrҋH&Π[j u.t]H1FR]KvR߼a_RrPA1umR Ic9^Q]]<à(j>:wz۠nSZ:!_gËϠ'hca\̪l;*כhr#vàg3aI{$94:QΠ`ݑˈ$Ѻ֠T*V:T}祠Vߠ޳(VTdX\ڝZ_PX&I~㙠 [.abMē>Z1}Ǡ]L*A$ɜݠW׿=`OՠbܑLL晙33333333cM4͠< 4M8Ӡ44Ӎ4Lyu6 sʛaߠ9v'lݭE& wd>WtVTZjo*$/5͠$sdN㘠zrX~)u7΢&y^'aҠzxth0٠|'Rt/e}9wʠBJ8}*.Z$ϕR)렒XZ۠ayUA )]=WukFntixU6|Q nǠQq},ɀaRIEqcpMSzN@Mv.1v@YkiJ-ܠ " T'kwwwwwwwwUUUUUUUUcO,0N<4ӠN5N89VՓF5k^Y؇.lY]4j$epX)ؐT7ݠ[A+Y3Jӗ_BohVQjX"렗^:1gVڠؠM v7rϠ~ EBmɡi0ת|,zW׌mioՠiH렴_a/UޠEr 8ѠK&|.q;UUUUUUUUwwwwwwwwc0L8UzrspqFt'^K]갠tjuz8Ιՠ祠.rxD=@|qߥSI@Z \˜+{aw9J 5<;T~Cmuڠ`ҩJCV㕠{F۠Hp Y~s3Iu``aos%vf fDDDDDDDDc,N=80Ӡ8Ñ88N >cV"?tooc܅&i@#D pMHQyy'#=GM@(?srܠX['RtjAjҸZQi ""O࿠)nS堸yfhrljӠ8N.Vgk8*ؠZHsMp綠afWquX OGlUCDZe0kuhb7gנM{(fI9J\YS{d:BaP^|[Ѡsy[2yk䠸fFw UoGm#mEl;Ҡ."o*~JHCed$:w{O^Alf@AZ:dXpS/vYQ\V1j$v`}8H,6ɐΠڹezP@(%Dt9?LbRpc9Π84@N84 =M&d9zKxH"9)WdwseTxӠIkloJ۠_ޯOmPFǠnMBEà$0XE 8ǟeEX)Roצq:. s+QKϠct sE;Ij_ I tN:UN, \c{ۏVT%_"T: s*mlȠ7 AaؠF!7vxo7a6FyϠ_e&]KTn듛5Fҋ'$$Uw-˷K_.ؠvߦebdn$⠈B}r3~6v:V/@zoRؖ횠T%ɠfP?̠̠0Ӡ0ӎ8N4NӠkhM0DةVI3V1٠<2:.+S)%ؽFM^sbàHٔnx qjㄠ■U4TՃy1hk6:*:""x _F Ġ"YnAz