#!/usr/bin/perl -w use strict; my $n; use Test::More tests => ($n = 42) * 6 + 4; use lib "t/lib"; use Test::FloatNear; BEGIN { use_ok("MPEG::Audio::Frame") }; my $s = 0; for (1 .. $n){ isa_ok(my $frame = MPEG::Audio::Frame->read(*DATA), "MPEG::Audio::Frame", "frame $_"); ok($frame->mpeg1, "MPEG1"); ok($frame->layer3, "layer III"); ok(!$frame->broken, "frame is not broken"); is($frame->sample, 44100, "sample rate"); is($frame->length, length("$frame"), "actual length eq calculated length"); $s += $frame->seconds; } is_near($s, 1.09714285714, "total length"); is(MPEG::Audio::Frame->read(*DATA), undef, "nothing left on __DATA__"); ok(eof(DATA), "eof(DATA)") __DATA__ P dS plO1 `@(/@puY{>зbpoPM+7.8rĀ A{U3[kU*T xFDȶ:۔%csiKŧnPZHchJ05JP4% EUaYRtR Q+a)$IcV]@Hk6zx*&# }5= ΰK gb7K.v^vE&c9ޣTva:XdpTfT$7Fn\2Gi!Hܧ6C(gL]-cPC3&P f BzZV"'etmxvi 0ARL k)II*B#ť'|4eeNMN$OgqS5L@ۻ`l4d9ov0%IT DXTIW-_j:4YG6$iQU6j nˈJL̼صaGa 0 (RPY3اe= c*`WY44u! * 3"q .vPݗ  sMu >7ÅiRT$n# "7zz]XSaQ iq!Ad'[L"_%" v/RkܗjUD;>7/R R Ni)9vr1Jx=<2P U5uLo>4j*r51E(c5_tC:%k3f-51{Ub&yM?N8nQK1"REUt᧿Uq0-a(^u(Vltr MICP0R.,ER%l24*2tj8f t$!eeC8`.pUaz'fvƔلeo7)t?u彦pE,h0!yRP Gi³ڕW'jDDd W%4M쁡3#k+]Rp)MjS7mOǿV67MX18 P w;[sm4VyULyYC-gt{dCOAD a8:2_Cs1JR H>*ñ SYч1 OqHgFHj1L9j2c"G$֖ f~ 1d`4k!ߕ4f~cvQwf;Ń+ T!.іKKi_Xv1sPe)jF[a ݞVع)Burq*L8eZë ġ:[RLT k)ACje)*3frNLqػtRzddRr@}lB |*UeMXdg0(P(rĦ)dĂ 8J9z&F9gGcײ fU=\Ojip n9i!B@R8 b\eGRGobSl!46gPRʔT kIA=+*LnM2YIRV}LlJ,eh?PNбgSm2a T= S\`I=^Sb, }e̠W}cˍ/spRXinceR7C.H#䶎?.ˣ̹1![ P0$FS9=,iٍW|#ǽth$n[nk .fEvQfXM)zp71E =IXfN˼lkӨRʈT)It)(_Mri*+KI5JY{H!YC$}P~;@1 eH!K35,_RZOK Ja1itl!`aZj5~V< zԒU*CٸP0ԁRd31kyr*RÙlJB)ԕWDQChb k%ZzlݘM|5RʀL kIIJi@i(71E+kr /Z"U⑁pbG_8݊j Q ':[ET2 AJd#}"4w#5uid9oujG,#E,q„9dU+gw^hlZ|֚hdQPWʂK5͚e?IcF?9 4Y?bܻ<,'W꿊iGbssҸjHBp` S~R#XJ kiAF)m)Q۽ݵֵULPY͕Z³LM=1,bH*8~jIv[6E/Mյ=dԎ?C@-2SH2;up*0P-4j2(yB֝qPS-S;mV{RoMYam`&=UgՠXIci\KlRlC= %:R.tHII) |Ip+ F@,@^mDbʱ-;le1_VDPc 'V$ȌHL-0r ,ɣ[UaX&䌀X("rSKgZt_ne(aDGRCɞaRg(]Mk%UTeb*rJߙQZ?T !h7C$gh_eNVZ!fՃyYfR=dFiAkm):/62ľYL :\qJtCPݤ*lrܔpS\|h{t ܩ2CJ >BZ:L.ݭ5_o $׺Z'`қSdYLGE]IQLcqNI?A&^Pp !կ-|ךSؙ"#UqURDJkIII()Ca.aa Le{K ZH0NkRvaSM{D/PaZ'R>Z)lV"ejX%u1zM3FcR,2wAQA^iMHv,J{r$EzY1w4sya)s|ARclm7QDkmMWYBYف$,~Vjcykc-T\)3󣚷c[}ڧn 1{1!iQb`ru5) =V˹d  ` \\4pcqqٻj4{OU oRqFiIG(i(rqX4;D;A2u8&ZzC*g/kf%`ZCWZ7k +YK*vEkESvgdYڡE,d"L1o| z+ !u諧-\:u{h7mga)ZiB&t#IeHRzPHiA]i(h["GKu_W:j b2.v[\( ing{y[MɧPK*aH;:@S4U'bkK5;$00Md$%tgM0' ,9чUF &8 l:\\Ų׏!mn p2^a!"8Cӱ 0 `+ƱۢRk_nY ZD3iӜ5-xT0LNpa+j9/mB#9'qRā ,D ᓧ3 51 :ҙ;//K-J1zfH-,D|*fkzv6PaKp*SZUIUvjIz,L)\*y|(BH|bqHźLrz| Wa@C!*E _ 0aFР H_XRHӁLX b*@ Y"t0])Rz<: HBE,ѕ6PI8Z`D`Q+(81$ ъ22!)@0X#v@ajxۇm6w<^d5:i<