#!/usr/bin/perl # based on fl7.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 = 63) * 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->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__ ֞?  @%Hp?d`@o+X P?}u8OПڟwځ*T(o0`[@ >ڼ%wHڮ_ڿɉ͋ڛo4 %xg_ڎAAڌ2eW%I Cڎڿ Ekڢ׶m$8Hz^%K9su;w9nrڿst#GՏګs2/_8ѓڟvF Lp4z3gڿ>DO1 b1cڈ̱_֞ ڂ ڊoڣE+W3ڎgڿ5j Ap*Mښ!Cژʑڄyөڏ~ڸqS֧8.p_ڿy@1lb4iu(R ÑsBәڻws Aڮ_ڿw&N0`(S0ڦ_|"ECڈo_ڎ 0 0ځsڞO3f0_ڄ_#G3.f_7mړ( ڰ_ڿ-ZL4˱ڗ_V'dN/_ڊ٫W6nlG KȘ,pXڿv.]ڋ{  l֞aچavX7>}_sڞ>(Kڿsp28gڿ #dFȬ1X_ oڌ[ҷ\i0a1_ڿh1% I˙ڗq_ڎqqrrNy0a12_ڿu!3hsZڵ#G\ns~#GڋvڤJ=ڑYڿ{pڥgPΟ)QwK._چ R2DdڦMȻڱw_ڿm#ښHJpڔ  '>n|֞  ڈ.]gď#Hڿ~.]ڳ+W_xڒ'|N6Nlڟt$4Gs8q{ڱ_ڿt,YS w3 f3.f_|Q(o#HQڿj&7m+W5jڎ$I$Iڌk#Gڋڿ*UOژr);w|ΣHBw(ڱ}_ڿtJ3$fG\s6mKڗGtu˟`Pxڌd0Ȱڱa_ڿ}(Qw#Y#GWίڟ֞(ڊ(ڈa{{P-[q<ڿx._clچ ړQ&w2ڜe8Qڿ{qGavڭ s\:ڧO_sR$Inڰ_ڿudSڮOڟy=kמ=ڎ,,*V0$`Hڷo Rڐڿ-ڙAnڂUڪ gOxڟڌ&1dbñ_=y+X40h_ڿ ک8p/^!COڟz AXʱ_u(ڰ)_ڿs~g3gs1cڗ/_֞0 0 v(R(̱_zگ_ڿo t4h /_06_ڊcɱ_ڝ9[ϩڿC&L'9sm7:uڄ I[_~3g/l_ڿyh2eCڇu@ځCڈXpڎ4M4MsHͫXڴis"'/2_ڿw-Z'Rڥ{#Ht0_ځiKڣG>)ڴSg~ڿ*-f._ډCڈڋڎ_ځ3,fWgڎڿos}._}I(E֞8ڎ8xVt,utڜ:*TTڿs4iܳڹgO.tdhgw,YZp}0bڔ#'DΉڿڛh#EhڋR2e~ ot3nfڿx%~p1cڄ3e3go)˧7ڎoڿ> D@2db"TDڨQڟ֞AAڊQ;wھO|o ګW@ڮ_ڿ1} 6mڿt/P^wHڒ2d(1_|N/_%k?ڮ_ڿk?hMڛCچ"Eڸ1t_ڌգGڣoFڳeLڿ;v1 bjp* U֞yڞy}J˙ڈx ڜ7^ڮ_ڿtr0aqs4i-ڟt֓'o_x@$ Htnڿ}d<ț16_SڥңHPڟڈkkZ_2ddǍoڿ,X\!A;xd_ڎ}}ڇ5jLIΓ.d\ǩoRڿ|!yw-CڈG_s'O=nzsFڄ3oڿu0a;ڠxڍyNڝ (Qڟ~3f'5kڋ S͟ڿWKڜژ;v'ژ ֞  ڌF+W73.f_s۽ ڿ =sڼ1ژ_+TVڧzL(5njv:us&ڰM_ڿs%Qڎsz3f7ɏu'}[ڷ7nnڎ88wb1c/_|\ڿ9ڙ#ڶ ,W3nfڋ/D^[ʸڱ_ڿwڱ_ښ&M4Nhڟڂd6<| 1_ڿwAڤt8r2e:Ntڟ֞I$I$s8q=Pztӛڱ_ڿxf#of~*,YwE._ڃ([ӹڑgڿ*$TG-_zD,ڇTڊ vڿ }ڛ8DڿG3,fW|{whڎYeYevmKڏ1_s.8ڑڿsX)S7e_u~+WnyK˜ڤQHX-,ZXsڐڿ !RڥiͣG3ڟڌakڵQjډ2eWЯڿ!ACڇ_ Ek׶mڟ֞iڦi$8Hz^%K9sڿu;ڰw9nrst#GՏs2/_8ѓvF Lp4ڿzڙ3g>DڇOڟچ1 b1c̱_ڃoڿE+ڨW3g5j Aڨp*ڎyyډM!Cʑyөڏڿ~qS֧8.p_y@ڂ1lb4iu(R ÑsBәڏwڿs Aڃ_w&N0`(S0_|"ECΈڷo_sO<ڿE%J'Oڟ-Z4:hoPڟ֞((ڌڧQNᗃoڿ_2e7bNğCڅhڟ}vkڒ%x2fڬWkڎڿt-[wx_s2eSڨ=txCz_x:(QWNڿ}^<0wO$%IϻxbڎiiڈGs__ڻv3$fGGNڿǮ]_7mΫX}ڇ[$*HB0_*U;ڮw_ڿ|3f0__#G3.f_ڿ7mГڡ( _-ZL4ژ˱_ڌV'dN/_ڏګW6nlڿG KȘ,pXv.]ڈ{  lvX7>ڮ}_ڿs>(Kږsp28g #dFȬ1X_ڊ ڊoځ[ҷ\ڿi0a1_ڒh1ڟڅ% I˙q_rrNڿy0a12_u!3h֞,,sZ#G\nsھ~#ڌGڿvJ=Y{pgPڟځ)QwK._ک R2DdMڿȻw_m#HJpڌ  '>n|.ڴ]gڏڿ#Hڌ~.]óڈ+W_ڎmmx'|N6Nlt$4Gڿs8q{ڠ˱ڗ_t,YSڨ w3 f3.f_|ڨQ(ڿo#ڜHQژj&7ڋm+W5jk#Gڿڻڏ*UOڟ֞ڮڂr);w|ڣHBڿw(}_tJږ3$fG\s6mKGtںu˟`Pڿxd0Ȱa_}(Qw#ڟڃY#GWίڱa{{Pڿ-[q<ڂx._ڎڊcl ȓQ&ڿw2e8Q{qGav ڃs\:ڱO_ڿsR$In_udSڧOy=kڞ=*V0$`Hoڿ Rڥ-әڧAnڎ 0 0ڌU gڼOxړ&1dbڱ_ڿ=y+X40h_ ڙ8pڀ/^!COzڈ ڬAXڱ_ڿuڨ()_s~g3gs1c/_v(R(ڱ_ڿzڙ_o t4h֞qqچ /_06_cڱ_ڿ9[ڰکCچ&L'9sډm7:uڥ I[ڱ_ڿ~3g/l_yh2eڧCu@CXpsHګXiڿs"'/2_w-Z'Rڎ,ڲ,{#Ht0_ڵiKGڿ>)Sg~*-f._ڌCڍȎڱ_ڿ3,fWgos}._}I(ڢExVt,uڿt:*TTڨs4iܳgO.ڟ֞<~ oڿtڙ3nfx%~p1c3e3goڿ)ڧ7o> D@ڈ2dڌb"TDQکQ;wO|ڿo W@ځ_1