From 6b5c880ff9709ef991016f6c7a4ea58e5e6ceb6a Mon Sep 17 00:00:00 2001 From: winlin Date: Tue, 22 Mar 2016 18:35:44 +0800 Subject: [PATCH] refine player to support status change. --- trunk/research/players/js/srs.player.js | 40 +++++++++---- trunk/research/players/srs_player.html | 3 + .../players/srs_player/release/srs_player.swf | Bin 50551 -> 52034 bytes .../players/srs_player/src/HlsNetStream.as | 53 +++++++++++++++++- .../research/players/srs_player/src/Player.as | 48 +++++++++++++++- .../players/srs_player/src/srs_player.as | 7 +++ 6 files changed, 136 insertions(+), 15 deletions(-) diff --git a/trunk/research/players/js/srs.player.js b/trunk/research/players/js/srs.player.js index 0c82d4457..356b61abd 100755 --- a/trunk/research/players/js/srs.player.js +++ b/trunk/research/players/js/srs.player.js @@ -99,6 +99,7 @@ SrsPlayer.prototype.start = function(url) { flashvars.on_player_timer = "__srs_on_player_timer"; flashvars.on_player_empty = "__srs_on_player_empty"; flashvars.on_player_full = "__srs_on_player_full"; + flashvars.on_player_status = "__srs_on_player_status"; var params = {}; params.wmode = "opaque"; @@ -146,17 +147,6 @@ SrsPlayer.prototype.play = function(url, volume) { * stop play stream. */ SrsPlayer.prototype.stop = function() { - for (var i = 0; i < SrsPlayer.__players.length; i++) { - var player = SrsPlayer.__players[i]; - - if (player.id != this.id) { - continue; - } - - SrsPlayer.__players.splice(i, 1); - break; - } - this.callbackObj.ref.__stop(); } /** @@ -301,6 +291,16 @@ SrsPlayer.prototype.on_player_empty = function(time) { SrsPlayer.prototype.on_player_full = function(time) { // ignore. } +/** + * the callback when player status change. + * @param code the status code, "init", "connected", "play", "closed", "rejected", "failed". + * init => connected/rejected/failed + * connected => play/rejected => closed + * @param desc the description for the status. + */ +SrsPlayer.prototype.on_player_status = function(code, desc) { + // ignore. +} /** * helpers. @@ -359,3 +359,21 @@ function __srs_on_player_full(id, time) { player.__fluency.on_stream_full(time); player.on_player_full(time); } +function __srs_on_player_status(id, code, desc) { + var player = __srs_find_player(id); + player.on_player_status(code, desc); + + if (code != "closed") { + return; + } + for (var i = 0; i < SrsPlayer.__players.length; i++) { + var player = SrsPlayer.__players[i]; + + if (player.id != this.id) { + continue; + } + + SrsPlayer.__players.splice(i, 1); + break; + } +} diff --git a/trunk/research/players/srs_player.html b/trunk/research/players/srs_player.html index b2225eca1..839830335 100755 --- a/trunk/research/players/srs_player.html +++ b/trunk/research/players/srs_player.html @@ -514,6 +514,9 @@ select_buffer(0.5); this.play(url); }; + srs_player.on_player_status = function(code, desc) { + //console.log("[播放器状态] code=" + code + ", desc=" + desc); + }; srs_player.on_player_metadata = function(metadata) { $("#btn_dar_original").text("视频原始比例" + "(" + metadata.width + ":" + metadata.height + ")"); if (metadata.ip && metadata.pid && metadata.cid) { diff --git a/trunk/research/players/srs_player/release/srs_player.swf b/trunk/research/players/srs_player/release/srs_player.swf index 359f5677dbb0891da27cdf3f11385da798732c60..085cb9495eb861267850ca7f434d621c5876d22b 100644 GIT binary patch literal 52034 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

_aO;`MGw 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

)a04;(!`M#X}K<@S+$_MhoMx+9<$I0No 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

*`yey z1p4ru!2rHj39WeQQk67*(-X}_J(a%RL>3eEUM?iELUaRoJCZ)w0W)6ZeLYN%iswCzxY@{zV74+ z*{h{cNAkfmAT4;k2IS-SIsm+2q?OT^5Hp5T)E4R%F%LD~L$UBg>ro(w7NMStuFNPy z=oo1ztpo{X(%&)RKt={~Do?@Zbcph$MACt1ES1ibC)mnG4+*R}!C5Y!qNooPRDVbg zg@!CZd^)DW)efLOI+E#!Odau=`9%-Hj?EM!?@C+wR}}FrRoe!a*9x-8w!!Oyid86s z-FCq=+z^gK?goYmm&y_~EwEo*Ap|^=1buRHpMn>@N)jBvcT+)$Q@ikG&W2z($aVJ6 zFOmLm&bzWz_g)?E->59Y_hyJP?n-lS{zce!iVnIIskvLEujml_2PKm`TDxlWe&L%6 z+;YdtaegbiRE}9oW43ipgq`(iBc^?M8X-R@ME+X}6U=C*FKPJlJ_8x@0f)FY7biD8 z$lq`GOfK@z%>xAapelpa0In|~J$$GH3l2`N4*>dC9Qf`2YTkAT7^ur5z@v7D)9xj< z`ELD4MT#|x?TjlU>}!1|LspsY2;J5ajZOf`60#*49@CjFlWa?PF2AVy=Ui0eQFYph* z&!-ufgvvfXyNJ*kg&B%G=$n(`Y(rtQ#!oSPe-7V%<)06t@O?n0j}1ItKH}5&f{d;UQ+>^L-vwSFta2_LWqoG-A0~ zt!G*O zg1fsrfdIihK!C-a;O_1&3j`KVV1dOUKv;siYk<7`zOP4J=(0o|X;<+67$ zK+K5L)QPaa5prJD?^oZQvE7T%Bi(e6G*MrN!^r2dF zNvF6v%2^>cCOnFw-sl2u#3Ocgyp0-GhQmzVZ;2wij!@xle@W} zzHaUoTVM9(<0hbe5yvh#jb6{JyG&OWo#o{-yv#6nDJaKas^C{a*0YQ3pCz;&y9c`C(@xUbe%M;rJWU+TNDb1dt&O-6e% z7boekFwczQ@2WWexM$+FupW{XJM*COxEL85s>K?$&TXT{7CGnAIg*eDVkt_ z?U)@Wi~2(SyVBIF%ec?fd)G5wmrr6@O%{Tdx#!gP0m(iH>aAk?tDe~8>l!2~eNl%!sPUiAeOkZE@!*o+WtDEF=-pG;Wdms6_^+BPI`b ztht*F;8zHvvXMFCBT=AlSbY>lc)X5O?g-t*$mVRJh7EZ&HM&Ql=Px0hI&7$1%8e>H)%4*x5K=P7frr>lsw zd8hL$1oG_NgDVii9gbTl=1TlqK&Z(RVe@{(8bIYNl4yw3aKlWop?J25&eZ^y>Pcu+ z^%#JY%gYQY`3IM9FwvcD2$#<3J+BB4D6KNNjI>xaOWKYl@u&zj#@=+gD5LHW0_x=THf8k= zv%XW(Q+s~?rR2}hsy1WbyxmhKlwaHnS|LV_VE7|vHf8oZ^*ioMY|Om*MI_QkO3$V;EN2yTkr)?uGS|>-0C1F+@ zZg|Sza__+pNp)W81j`naW;{FIQjOAL{MN4zN!dEgP0V?z3W-&y^CG$S^+E3*wn@z1 z+ZSr*$9l*|iluw)-fo7?&Vb|kn&!WGvQjV>@X>IX@2M!Ss$|ya=E&=&wnNpeP>zTk zC4Z6SXAv*(xFM0Hz|fi-WImRxQfe@zl4Dc83${&5u7ANMG8xXu{Q#ssZU%=@lVh7I zPdQ4YAnBLC8+^}mkbDXj5MVz1x;IIAhh3a2A4fpS*oc&K5zaU^UBhG z8TK15V$!8wX0qcL)wj4RTl$bUC|IPF5{3wS|S)Px@_5wJ0(Ql<} z*={78(U5^d;f{vpe5fvI#Agv`GFG%Y8^^3PqX^fUBbvgus2~AeCd?nAx@`C-(Ra3t z&>U=CHjdXCpEyw%lAN;q$~{xa<)se|zM7}BEw{gY|NY#T@7zs}TRSq-_D2T&nGGwL z${{LNYW*R{B5Ac_hx5uM5@sjZM?IY77J?{!f}G7CDtTa%G58j5Hy6U13S}OI3vx#w zvMr9baDjtpR6a)1;sR>GG9!?}ZIAN^F5o&$I8QPn!`_Jq)o_P+LNA%Fv4{Mc5 z@@AL1DUYK}x^oNK^ZXDEE1BB|v-z@865*U-+~dXE-9^Yg$S*w9P-#xy;7ccEWYQ>w z#rPGpSO!Y~zKQBHJ)(B+_OCw21EDGioJk#h+XguNVJN`xH%at(088k9FM z=ftP?QEbjlcM6ml4=1&(tRL9OV^;Me3Bs$SeBvkI9*oGz+fR7oPQuFU(Jmf z(^Z~@$qA$#f`kPH3**MLw(&cBX)0DH^I`Y1I58G`N#?5^7OjO3sn3mU@n5-X6-=D= zuqz2VV?jG|^^2EzPTDk|M;c(B&J1j1S}fxnHr!f!qc>sK30D(*z1s;o0?+1aUE-an zDQL`8tKGr}?psJ#A7ouTCL*-P7JL6Gw$ZcP+opv;D2}Ts##m{A&*EOSB9MrC#nsFi!sTV=a{Y!^o9epO2w+=crq1G}5;4i2ume6OldxZiBK3kd=F(m7MGhhm+APqE#}l z()5yblJV0B6&4f=1B+WD^45G?JyMXfK0f!y9(^TC%=Hu|=U5JVun3En(~{{T6Q>@< z-Ip7h4vH#uB=T^_n)OGz)>t47@>%iTMH52B6tlWnOA6ex6Cr>1C~~Mn2DEzApB1zS z(9o7wC)1SL$oOHJAfJP0#pVZvj=LV58v_{?Y6i(%1H#sf2#|d zJRF1|sM{zNZ^e~_W#fkLhu`3I#-n0Czky2Au{}JzSpmNU2e5=jSQ(9yTRxo*c8Eyw z$+!kvaaOy-@oYrUDU^~>Eiwug#DS7Z`xuzc>+?8`oMv!b0!Wf&R23(CK@u0<=3h>N{Me%yx=30_OAysM2!{pEqb zsk>JSFCvnx{VQVvz#s7S`6e_&KV}D+>0R~p)PWUTBz$twH@-+bZsx~s=W>vL2WwGk z_9Op`w3(D5HEoK+j-ewPw|}A7S*|-klY3oi4{9P|o;vmfk|MBvx~t#V^Z7K^s@^qm9{) z)34Bp9d7rp5Z$Z+&+{ACpS~HyR4l%Y%!}W*w~c;Lv4BOV^LlV;X`<9!BTRHGD}|c; zBGNb?4Sb~DMC*C_GeKPndV=+tuBJZyRkN4_6V`{4FHIo$FpU-{sDdOHaOz5k*P z*sGMu6~;pK6xe<#8C(m z4>RIkNaK@1V6GHMlJc}!I*V%AI}U@eD9V zZ)=%L&3ma%q##zP;%lG3BY%vgnc*DJhC{wG`4fd9BZ&_ejsCaBKDNgR(nPVL>lJY_ zZkl06P8Bmn8ykqa3p924iF@cT4Me(}zI-uYmBsO`U{B}!E z)Q>9~_-FjNdKFrz#EZA(5UTVLSf=risbSp+?nI6|V=ok*V0T3V1UED-;^1BageOJ! zEm9np)0jbXx~A`uZDTQ5Ygq!&?{-9D_c)W5f`4 z&sqRPx&TrcS!OhILW9c$UgQvLX9$^HgYvWo-}Pp3yVTdG>^$$4&W@ff}zW zxY{Y~Nz-~ijGGtcy~mH0Vx!>rMo?<;lMDcRKNFf=7yw|I)~)7YJBk^ zva;0vRmFF5*TAC6OrYQQ0$G}~hrlm%4CTzFru4Ej;z~H)BN(;YX+=0cWpgivGO-+cr_C-32JP5LK*2q>uB%XEd(r4N`f-XLa zp6A`(XNcL}QRkg7c#kn^E9<|caUkl&HvD1waGwm}>Y$PG&E#U~;P}}4;wYFEW-hEd z31nUYZH_ZaJ6vnR?}-tmdlvXs{q2_D$)vyN#b|87#i({6i-yOM@#&jy5I#0ScLc&O zQhIn9N<31*T7MU=`KqAkGFrYr!F8%Dlh=#eS#%bHtUn^Ldm? zQk8W&9J`vg>kXV;O2hITjpPJgW^K|f&fZV$j-&!R6t*5_&DX@#L$KZkO~wz zXaSgilk5hUU|BJd$RctMpq(y+*Zwx3B2VuA*Z!P5ju^%G>zA||tt8x*V!PR`j4V*8 z2@@MpM~vw%BXPx+M)R6TWoj=mg25w|AtP#rsz=8<+sAV^%S^X~;7h{Qn}m7^ z7GVjNx-ymRYQ8Ue+5_5@1KJDMi(}V|hx>I$q#YjdwXV8UT{TB!PTOR)0sSqPL1h6M zEtl+NPw6d}Y}+?g2}e|8W5NkXf+pL7xlcJu4>^^=HG;u4H6QaRXM}2&b19ny)d!Z! zlX57>)o?n&Uz`_@Z;**Nx%mi}^c?At7TU7C9^jTdurr0%E= zX%~2%E$w%43|cF-=Snn=573q0Rwp@nOOlwZSDkDiBwhaMIr60h# zoj1zdHp=>A>?qd+;FETYp;pv_2QprIK^K@QP=rYS1p=aZL{fj;*jgW#@{DFBso(st zRbKqiHg<74#I9a5h=zTrI`Z(_BmCij_ir$Lzkh-z`B_!Vs>vuKrMOZW?pQRopl^)9 zY$qc9W-98 zE&#(Fd(STW-s_Q zPi&8EPX(O>HbMF@+urO6W=jq|W9<243tRn)c;ttg0^NpBLO-MJnP(3``p~W=plHC5 z$VdFWx7h=O&u{i@vo)cIV>d^9f!C<>5l$PC%5rSu06+s_+bJJb_H_%$gM_u&=g z!VvmSmp7yuzF!6WPxunikAS_+n7fYBsb|tXN#MM8XYJHeM9$xcWSv)S?T^*D-u%#H zYu9iv(VlB|p!HewXM{aNAl}eB>}zzWEd(tYNdobj7$`c^r73~_h<^Y)Aa{_s zr-pxq*}(+YUPeUQ2iM?b+zZ&%MAhQeXy_Vl(u7r1-7pj>q!Jozb_5*7R_kJVcyw4) z3$6e_fY3t`i6xX7R2f`{DKYy(4v$-x+5A7I2VJ(vK@8-@*2gK@%~Vbm}) z*gIGd3;>gXF~DqKgfN}1KgM_a|GZo@AytNR7dIBW7N5~{QU3NAh>3n?a5^8ghX0qB zfFtm?b9!rfhNMWF{P9zERCSc8FxSTM7Zo;#f4f!fRPAK#o7=&+)#EQejYq)fwaDgx zH*zb2<)f0Bf#bR}+Z!W)OSw^TiIAdy$kL(W5y=+DBJO1Tvhd^gU&OW$q(Y~WwdBYC zG6j4R8a`OVE_35g=$isw2@QW=!+z`5CLQC4wbdmZK1dcC#gLp*tPLOcKW6GSxBce2 z?5{LhjA7B0i=K;|i_Jcg{VlTBAgp)QIbsHB>OLTF1>;wNkT(Zi6LJHQ#l;9vtPQgmokSQKb1Yz$-{Y9GEAx)-(w+6yNQ zC1u#Kfd{})VG1y2m^F+5rVZnTdHi?cVEQmYm=6pGrVitRxxn7Q?u&biX{GdwSu@d2 zrQb-skuH(CbJD@>RQj2%YaKDY=G zEIyawg}K6LU=}b5STGC`CJm$iUtU)vFy7&aA&H^=BM?H*f5B~zYK~}*Vve+dumRXW z-9Y?;*Ms$h*bexcd;K4)|C#ij+&yh4bI&5p#UH6Z($Uh2Qi{^!QsYD$=k!T6(pgej z(!$bRgd4O{MJw+Qk+&>$gwnTs0}0DAPx(@hy-Rnn`AwFUf`1C6s)twLehqfhxr(>H z!ApPU3!eJ0NoDEn-=A?fIbA5baePSY-PhQ zFHFev$5+QYK8=au+`QC*mp=8JPku9S+}%<-^bh-Avti9&KF@jMKXUw71Jb_l_p8pH zTX)tuLfGb2T(eUy$Bf!!@x0!?=bzK#)QpL@_ngcmnmW*L!wokJ1W;9x#6 zxq=3~=Ht6Foh=basNOXfo1lkmQ>W+8UU3rUhh}(rs46IAkQB%%SS*Z5+H4?7HoK8; zxPVDJy>-8kGTjOw@q1~Rg-_tPYAj`^;}-s=34d(BCpy%$iH zjrulAa!c_!kB-I7gQ9)i+s#M5w^y$#?A6b%UA?;)xMydSzbTJ$PsPrDv!9gI z`=@8JoJXh5MrwF?IB?so%l~5a>R8Kz+MOL}37Z@X2?OAS6nRjNGuF7ImF3?m^A4+5 zN#bIKpBP2A&)#!ApKQhYUU}b1Z7l1$4AShzKEZ}r{7b853xfJHXg-P=g+< z{4kBD-Enxp_5a#%{*@&F-!~}w{oG0N$fXf=^7y43wI(0C(M-=-Y~d9)zi!H|x~4bf zYfXUV5?&#zfb-_Z5k+kA?L^@y|G&${TY;4WexX^Z`*T1Zu|y2!vajHe&`d9Fv`X*T zodmXDxHHA+y5D9$<||<_5{_FAJL6$num2My{=A*oj3(wbhU*qhFLY5a+_PGj+Nd2UJXS*>P~?tU?z|k>RX~pz4n>UPk&Mx!vUr+2?*t# zpe}^#(IxVkCS`@%;C9zBk01q@aFHoP2yx-#fj^wV#(Ji;`dL$%Or`7%1{7TPdTst= zEQ~iFI-H_cThnGd%K0I@;+syQ`g-$q`VLB;zFbBvun`n|FPO!G%PFoLjrgzN;;K$R zoPnB=G>kmQexP|9{_YX?*iiXIrY)-f6{#2H4*i5=g{9dN9tx2L$pWHLlF+G1M3~)W z;N=iD&^%yLjb&{Yz=3RlSx;!h)vRFE01*S-0;rIMFr7(P7@GC1@*uvTHvnD`AxH-u&F!uW?}Xd~{7`Ci9O zg&9+gG@Bi$Zq)<92ITf400IHRkx{XT z(Xk20*@0?S-4Jw83ZM*G0V{!km6(-~oCBy~)hE>gK?cPF(vX?4)Cm4B+fagR4xpx0 zKLh}Z1jHkgVsR1}u{Wz(fgzY6e>XFxIVX@H;1kLcMm^aIU9+}T8pIyN1u#YF#Be5C zp?9}{he=gHm_Qr=LzG6Wb>eO=*sL$5Hw$PQV2<4L-=UaWRYIIWV8AsBDJCcBzfe@H z68|BG1IR<}M0X}yp~olcW^|W_*Ft$pI5gvA9So1cV5fN3lnT z5@$036|EW}??5O3EEH0Vf5!eZ)kug6NFVSCxt}NoBON^*ENL=7w}} zn$*8N3%~|)57rI-0UOM;xJgP9^a?;iLB+r(WyN3NZkC0MgR-S!rD~*dAR7N$+Wy~k zFoQ=xltH?HDwJvTd=e3s|6l--2dN-(xhunaAUGgeFrBx_I3M35( zN5Mq?|A2T=Af;BULU%-hh9ZXUO?RS<5FCkPYt4e$r~4vQLJgw*8nnPZpVrv54Ad6vo6CQBF@T^ZJ?`a~+aDFqAb&ENH_z+23I8+!_X z&uSz5-&Ln@Xqlet!6{1pUAYt#O1TfNUTT6PytoUqq?n`ML-rPX6XUYRE}*RBx|Md zofU|z)+s%>brY4MEJ+DsOk@=xyg+_0hz-jQeuoK*D5Sx0P?Js8&>z@dJaOsbgCh+II#blI>Aord^+M`M zvu+3W=+8uIA2O;5KRWg*w&!PW>Y=F^YI*7omu~~e0v_N4L;IGoC0QL%|V%ae0vp@%4Oz1FBE;*TCxDs^>wj)yKE}HyAXPzncX*bWlZ8r%Mg0Wi*%~1lyzd92& zAVn*7=PY5iMJ|O8&Tpt}4sJ9#QcXeHo})T-|1qmQyc6(OWph>tzR9Y<1R2o9_=Rm3 z5I!dPz5*DUgi?<9F#}9zr|0IaSnZiLt-qf|W zS_S3v@WxPapC(UDanbFmbqay8Jq5qgHg9b1cP=;O&`&YASo;S(!2QE0AlX4BknAuM znBi?ouI?8BmfOVg$~nXIiVQ{wkM_wxwe^qM{iMevz08J*6XpuT$LLW$jRecTi2$p= zi3H0QK;Xt-Gz;XtvU5_0%(}?lhllAZrAJ+qd4u!KQueZv@NeOYj2Iq@N#4c zVuznZt-r)R<-OIby#HJ#X*@gvLGbDZB27K;)9lF6NRf+T58D(bX?4!uFvYDWi7ML9=k2JJP zQ&Tf7i($^A{SaVTq2FBu&*SN|&sANd8Y3UVZ!-}Tj*GG1{w3#S%W2(gjAc)4@h0aO zlE9L{cRWZ;6qSQxb@Ai?0wX}>hC*8jpo~NQt=P~HL+*1F8*QQ+db)>Or{7O)kz7L1 z$n{2b*5RJncHOnR>2{)LpG2XUW+$HZry1QFyCZ`b@5lvyE_Sc&0zbJQPGXqE=UL*m z;Vuv42bj9KqK1oYSh=PYC+-;l-K%hE;z>yO~{sQ3G2^xPI zF#F{jm^a=5jXO?I*q%tC>aEotepH1D&BO7jeOCUIToc1V8D!EvYsMP>tLNcvXI6&p3vBJYm>=XEJdArYx+` z1Vlo??vZQ42K645Ht7tkHf??MHsw=N`?k3IH7=)QhtAqaE0{o6&9~CkM$%aO=$|aP z=L?9|HckUTrlYUGilbtn-BB}8e9;C7>{jI>PzRf^t3{eHLtQ%%u;rJl53tOyMBj%`Bj2%i(LfeH~msTno76_WYet)#` zOVeAeAnX)LZhVpLx_$S{jEG#J7vW)q*juQwk43ibQ5djlQQmsGTE%+0w#^EtQlR_O z$&Q*?tZBM+6fdDH-CLi*yt;8aevy=;j_b%NKC70?!r=19@3u)4 zp0&Q!JTAB`d&r>Ebk;3PYi0V5^=U%~b9=g_v@1({rJ$hrpkSBy&OLv#skk}o^x2vz zl1SvSw~qB>TkpJ~(wzbA+d$NiGWE@%2_}nIZN3k&##ZtAEwRRKF`lrN2-jNGK{6Fv zeqlj%^&&H-n}m*D0sOjcEnt2itFmr@w0$ zr2l;rdF)9V5~tlw^YKy{Bl5UyP*as{JrpO{;NM=ys?}Nnac~4qaDV&|&MKU2mpC{b zC)ikeYkZ|h^1Sk5`((@VPHUy8p!A^b8}T$$Lw~`QHj>J&itQ;tGP3BqhT+W=BBrqY zb^m@AU&K;U*2H_g9MHcOzh|L*eN{%xfMlk6-eCAg9D5kkp zilrjZVU3~*3B@3fL99v!8CD)yojk7-; zY=dl`S05%GqGv(%SbL_mZ&8tY(DMp_KqjzmnN65f%t&4ykEkyH>fAh$S4(Kx)BlBnHre z!H$FG(RE|9B-}Mldu}U z-;Wcdd8oP2pCJJ+L#Vn&>Xe*efy|}nYwqVE?CqXjP{#uSe|>hZHI3jfsh99n!w0X& z&%!?O@m73(YwyCVp&PuD1R3D-DKGnf(`*E9u-)Pg_2d&>>$Faspe<*|*M6yfxA(K| z)jbi6>x7^(W%f@fFwz|Aql2XFv?o?4%_`_+u9x6cCZmde>>)Ij*XZg5RO4SZCn;Wl z-fGEO<$?>HSpVHnbrBlo-V3O+22PpLc8p>NW*^r@nOgIBy)2+}|LAL+lSboB-IQY`4j8-f=ifHyux~kZ9|7p9Nq1P3t1?R z;iy43s@K~EWDc`5aEenYN#p1`tG>by);*2VStmjoZp}E`g%8AOU>QM_(GQJE>hiof zRCSdl+0aDY`B~R&swVs5Y$!=xPPOzNbG0!mvlr2#^S|NBPPlPD);|c6jec;A%Z;|- z6V}g2YspFo|3E#c7o5+xIXQGXv38Wy+NLH`1g;y?&g7eYU#mCFsam4h-u0xN>7tEx z9L{OT6@&o$ainH^_S50gyq+q3*F)Q|t}Z9?+@;6ZkBwt6Tt?2;A>n%u}Aj_7@%QbV%`R!42vqvu$ZBC z!jb(m6;RzTx=sn&%h4|biOx|*c4q2dTYI$&j+waHFRJiiH82RI*8fb-wr%iOGMlJP zb581tYj{l0u%1V*!?Igc=VdWTb2sFwv#1qa&9!;M-*!}$qubzEeP54?Gj+IxUH_q# zMnm|cNn8E3{nFdy+_nbMB}b0BE!#b_PlbXqcJH6?3)cb1={dJ6+j}yfQuM1^X_~CL zJ2Q6Xf24|vy;9#`HMsMdOSENrR1uEN*fZ^MN)TJM%VCr*mxshc@hBnbOzQMPJ8!yF;Z` zvB^;9%k}-!ZK`|REZ9tV(nH=%G&W^q&b@Y3?r-|25@n~G0+XPgu~Xd+m*3tB@_bJ$d?Jqf(w@%kiI z`AKx31M5XE-BNd8l=oG&=(p_7=FS4fvb1RMpUT&lkVwy)(k6}@TKIUHT_i}#dfkkU z)vRF%l8h;u*?niR4*OG$-|pJgMSrxtxS~7Y)`Lazn0{Fs%tac{D5Sg9V^4(qCDgxD zhene$!Zlr&M`y;Zy|yV(OCvl#`Ym1?!#YC6vAn2Y-dWtjiKT_k&)UlIo3Cf;tRV$T z1^$nJ@SVZVyO+Li$vZB)u_UW{*Mn3d$0L%2X2Izk z-q!a0Z6qkGg1F!-Llr$*r-RaLl#BXCjvxgWA9iP1uhdflwPG)!A-Y_eKHVY|SJKI2 z^=XLymYjQ2uFbbc@myIi)JsYmIsK6*tW~?V8q}^i)J^^rFJ!dfu6&afTt=Ou7ag~ti9Ng)HK9U#w!X9!;yUc8 z4WBttlG*R%ej&3*l57I07Cv!YR7cF1HRM)GV1WyW?yy)+jsvYVE0?5Kgf&)pJ~4*< zy|XZq3VCejn-4J5|C~O)@E3}q5Vk4s!u+P8ALANi866_GSrKESIz*F;G6AQ*w=# zW!(pV_e$A+QAmwci<-*|U>wcU0n_Y8WIo}<62Hbel`85^+op`G4D&$ZdDpAIId>7M zy$-T^Vr$wD+s=l8UEx0O+36n84_*x>*Yi$+E?Qpo3(jB=G5!F3IkT)1q+HU3}; zE23~I(7Wu54t&UVBcGu-BH890o&W|rt%!IBZuo+$F6agbE1Jr)5;9oVvP9UM$|dva zF8+{p6yC5;{J?C-3VQRveBlCb0u7+N(mW`_i$EbLuWueS=~O^>#0OHKB;o@(&@}OZ z45*R#Kml|{d>{=fBtDP_{USb)1@#jjD1u&z$)!LbVsbgqATcYvOCD50Os)XhA|{sx zr4W>O7jt(`tGpIYf>{0c)yJM4wr%0xvIw-t`?j04nqdUy=4EXjj~GV;8k3mmiFsF{ak<`Lnbo zG$#)y+E4b}>tQ=E8$L|+_j3umLHHt?ToT34)aD(jv;oqC<|wpPf&+vB7DZ zCYFB9iT%cJZovKeQ^6%}ZL+uP6T2=mwo`OW$5pPCyy*OK6OVlRGbxh$&rDZY`ArO# zyY2DqlaFFoKGVV}ZbOzmxd&V9_iOoXZ#P>@n-{wR%00^m6kcV$8NcFDsAFE(c<#_IAznr|;8>4@v{^OZELihn#Ry#5eXq}hUff4dc8 z?10DKkz<|y?zV8Yz3)(0(`KchTEwZ$KzlBY@ls1y(>FaOxg= z%D1r6Q!GVSAlr2{7QX6z%UqFE#&&c5m;5%(tg{!-P${tfK4i1KBk|+=iT0o3lNHko znT9H}+zU&KsK@`*c{Ttvh@7I73Y!jj?jcS?lo2fT@9MY=j^C@5z3*SzR9g9D_?v^^ zb#&k9G~+BrM6^KJPp3sGnDZ*<40}(rjg+Qp#LOo4j z^3Y7gh4GMLH%9Tt8sWqUNvZ|dL%g*;9Ez?A)%alKMt+Lj%THlRB|^{l>eStq=!UJ? zdD#HEM-SmA`~{>e<|Y#IH0S=>)2@}Zt=54sM%6mmclSY2yJ}GvtZS*E&h<6d#vhd@ z_{Qed(#a76^L$}W2dKftg*0!#Gv1`D%JI9SoiOfiBa>>A-CMkc)COUZmV&t7Jt&s} zuscIht}k94GNLZNb=khTCqmgX7zx4zdHJN#arRi3q`l@9_7n;yHSgl7Tt1naoZ@yW zYSg`Gn7Fjm*d`GQsX2CpqM0-_sLsj_3)f((FT7gLlonWvY7UO+`mc<*KO(aSv9R~0 zR@z9&-fl&%X;e&-MEzXqk+J6gsc=4~D@fDQNBXLS@%!B8w7ZT_3#VcAjHOrJl#-PYNMN@4kXN#Tjq%u7y>LrcYvCTYj?vZVa*GpN+b@M{vL+^WYI}jyqys=Z5zh zw(+HYrKWuE!mm?RjvU#eEGkEV%k31HKNf$?6>tt*>VNV(;xMYTYOwARH|=R7vHZ|^ zcff7nSUBz$6ybW`-?nn*w7dG5Wm-`kT|&mWE6 zEwM-%XV%|hqv<|cKIP8N&wcqSbvyV^5Nei8QE|#04WcEo@r9c9%)|j5xWBL5%neNp z7k&ThH@IgdF4E&EJ|&wUxpc^97i{@#*DfJg|OA)bAE)Olu>4S~olEhMSthI(D$*I;6agEMHggaHazP&5# zq$|*5G%#tYBuSxP80gT?{MbP$Lo-=+<1{Yre1xUcWWAr44SbNmZVZ>+(LVF<(MWJ@ zz8Q0hE)1KRO8t3RW9CM1m+xIkP{b(*Dfn zOVoilrcEF`IQdsqs5a!+lmB}O%g@%E2eAA!`jmHED*MUMiP^-YkYgs8oSEH2EYUEr zXPw=p=cw+gsX3;xS*6)vZ|JnW(0A35X(guTUFR>`3`h#gxoGR(zwSH5BA)2((*k&= zPw)_N&xgO>JC{z1NhVJRUlfxzyml@^L_LQ*7$KkX#_l8>t8H_OmZ_n7YAOdOA?w8WB2vDHIAJ+|JquVn}!b)4LF-*8pAOV(Nl z2G2zPK{U5x-P%hbXys)HiAZhl0+Y1Mst&&?xMM}331KnyYp>9)uvxh|;`Xg)WZ_6% z>>xHC6_q5BLC4!}DXTL-62@A~IG*;cK~|)x0fVA3s21<^e6mhr`@G#A-bM88B%k{o zSAp*@B^&`ZdcSQFc?Xw>T+TMqzWTiS&!wFj4L{q=>7J|*JrXHt+D*>5i&=C{d(M5c zhqm6DX@tgHiww2pci<6_dM&9M-B9)qenxOd=JS3p%@jo8Mkf6q&&#P>t3 zR@wZs-6L;BkqzE*s+mKJ8iS$_w~p2E#xLw-bZ<~Z#*eU)dbSn-5q(kN)}w)??t<4| zzo;{MRySNG$oD7BLn94d0nSsM9F*si=1ReauQD;>#IKz4XAD=muM9DpY=W~{z1h$9 z{{v+}n!o;Hh%seN^5rfezsg?%u|(OEeYs1?Z{;tASgKr8e7VcWZ|5(Ah`&rU%a^;H z(=La&Q+ek2a#wJ^D5HF}lulaH-xV#k*FRI6``*L@4ZS00vsUE-K%iTl% zg#0}awesKezJ^uv6@6}Ty6LU{;MkgWO zRX-k`n0tydItB3u^>krk?rF}5k0YwoGh-8T&#=#DAV#fc$0z2V<(fPTvAy-&gv8u) zT$6li(ZPCtQey6TuF3NdJ6b=Pl9+pey}AIgll8*1#N3PQ)kTP%truq`=2mh|qFSko z_0p`wT+KD9A$GN1o|Bk+iTsKAmmqetUYVDedzt)6`IjMfw_aV4n0tlm`3l4y)@zFr zbFXqeUxnDydVNV^?ltm1lz$CkFRR(I#N6xTuaSS9`*;f;9elB;Fm7Tj*wh57U$p1$ zJ{5yM`lw};CFb5l)duSXGlF%4^@8<-4T28`9|<-LJ{o*1_;}DC%nUXPJ`rpjY!Yl5 zd@>ja27^BehJyGL#KEV7&jgtl-ar;ozIW?BLIXErP!YwhaC<_^aUm1b-cTEBKq>Z-c)Jz8!og^l0d@ z(BmP0C^OV3^hBs}s7a`4=*dtZ6b$_+6bd~R`f=##&@-WDL(het5B((cLg>ZNOQDxT zuY_I=y%u^s)GYXW{Oic?2Hy+5AN(Mg6U+^M82n?fRWL8uI`~nr4GzLT4(12{6#OLk zY4EdP+u-NHFM?kN{~Y{F@T*|E;Mc)#Ld`>Ognk;z3jHh;4!s%54*fjTBJ_(;%g`@F zzY6_N=+~jQLca<9HuSsD+o5+tzYqN(^ls?A(EFheLOG$_(1)Qv2EPsdHTbvS--G`M z{xkTm;J<_a2}UW{o`M}H*pY&rDA<{TT`1U zt5Cbp*P(Ah--iAg`djGlp?`$_8Twb~-=Y76qV!JG%)iO)sHJTwix&qSlDOTxYjjA$ zkZw^YKp~l3l60q}PIan4PO+{Ec=oe3pnky|t+vx+7$ zI+4p(eN|Cbg0;bSSR3?6;`Qh+P3#SM3hy1yt9O#_o0M}K=Xtk@=eA#2E@d6yMb}U# zMqOhl+$gtbIH1BZM*!YcqwqU{tkFq&IJ;D?M!;&gnLBx~)lkzW8hGrL6v3pF5naupZojyoTYDCjgIkXOfO3m2}`;ACfjHEnwEE z3Ss$hxQP>!&?UYvWFxU02B&Qvea$|UiT`89s_nN|9G=;s6XK(S7 z-p!sJj#t8Acyz#`i;jP0CEy)(!|~F(nWT>Q))%)RBec-?O;<0|R{6Mh5Ru6K<-uyVp8 zhLe`r4{*v-{Q-q!6(k2t-9MS%rw>dn#m=5<3y%!lqUbB<&Bj+>Rp>#<{2ro=f8t@8 z(bVt{WHKSVAX!TNB$s+!}zO4oZ~{|=*dTpOAx0UPI$VTc-j;EG^yP#y)-%2v>cj& z6{TgZx|`11)@8}O$$j^Jx!zOoj;{o4Wbf7|-+$@Q%ha2k@@?i)yl*8~_BKA9+<}O) zJI4ryw%pq0A6$@V?dHa_15dbzO|fJhORj#Ynrads{`9oXoe1q^t380;wzU^fPWCB4 zAKP_0S?^57*;q-qgNXx;3cV}2EYjO7aC%ZXH^08N)06f<-^b+fb8j-9Hw%SuL+?v2 zsTNz+Pkn(~#i9Q)c-S%cjWb#vNltx~duVb=)7G9y{r;`JICS#1s_*f7Jo+H)KL1VH zax{}uoCV6KPbc%C0=k=9pGihb!<~q;$r#v-Ja?F15}$+81?71>ie6@*9|m%S%pwF` zNKWND9VKG*$`4h#(&;xJ@B!qLsMD*?)9zs#S5XxMY`T@KZzc1!mcFL{kx7`O?x2^r zxq;+VC%IdlKKTs|Ch+5p-C4he_YMqx@N z4Yi43m~Ao)w-v)o(;Azi$EH-D0b+NLKSs6yAtP+pGQddNy&^@=MXry)Lmv3%rQqq0 zlBd5QrG)d+%TjV$Mp}M^gF!+yH79;BEAHu3T<6hiQ+TQj_cPJa*MrAHarlj_H-z8J zdXMniSg(XHV?LgC7kGFS?$3rQSa9wG9DE?kVepuBB+5}1oG53&p>A85=-Y3izI1in zY81A}rpth_ws|K-U#_kcJaH~QW`<~LX<2vx=h-2(RI==p%7bp6!m-aJXV6WJKi58~ zczb9Q!vx!87-lPm;kL!_n%xh-6Kz*jUGBwXt>bHtN`pkoS%#)?;W1uV( zwm8*UK(s>*Pk=Vh?N6N`ArnRP#KlRDC_z)fi@(#s!Qs~TN1c!U|FO2s{m@ADn6woI z)0gu8?e(h_oV9G)iqSE_oU`bFk4J8jpzikBK3sHquDN7?MK{l z+iIVNO9pla{4TRyod6ZKdmv!9?HLYOZF@%m*4hc90PAhv6u=%kaRy+oowOFP&rV*K zruU~hLye^`fqCBVcAEa>R5bnl()6#VI>Tc}lVni5!C?m^>`rP)7;hwSO(v~`rw4z^ zBpwqxq~&BsvOnS`&C^12;-Rcl8aHc%yLFE=?m!QD(8>Cx`JK>#FfiFfwRrUKG@Q*R zPw*?m_39BUB}{NEC+JZuxhDAC2=nPFEcuEvqfbFh)YH>=D8^ib0dWTGO)-t&5Y914 z&rZur%uDhoO~|ZDnKYRrFHFmG7o_uOyeN$eZaM{DoQA?3k-{w#mzwCch)^FZWIQ;% zjtwP)P0{N)U0#ZlZUd(~D(SYQmF2lxjWG4rw6c#rOUd(wQz<;vG+K>BLqb?WtI?+3 z4#wANjH!2kNo<98?RCTQQIJD1xIy17}bhL-7QfMJ5hNtzlWn*Nu1+e2|MD1VG*nM zKcLVD(s1@?29Dc#3E|m%_<1O;%z5&>dctKU{-r!0o`|!6nr33eY&G80M^IF1HO|z> z)10|1#hJ@ara2SVK5mEKq@~`i3iPn`*|gHYPFtT#lf6Mck3WO>;@lPIQo~N$xPqoU z)1+&FleYOi;FPWI0#4i34}dea-8)@hORHWN=$m+MBh8OKON~r7ooiyZ_~D(Chxfe` z7#(F+=(}LYI5Yka;6{V9Q=j4ay;HhBfrUOSbV>KSS!mBfw{*Y7LOT|Eq^Ev{n;rS6 zwGQbek+CLPe#dlvfQRrGC+oWKg2qVw2|_zN%EQ%4N_`B=PCeF{&` zbJOFK!`yTp*oXo1F~e(WK7Kda)Tzsc?= z=(Viy_|0N}qA1p}!p4lm8%8I}hIA~a5~Pwgp;q|W?IEXTHgk|yg0_K|NoNN*RKzFu zr$6S0KOM8mXB>@>-48m^@D}l4x;~s9i_A7l zK)j-A%Tekh%CYJw$I|tQ`%(Ca`*V&{8*xs@b32``&q@?F@dfV+Y9ROmf^}tjj*l}4 z`}l0(%j)Cw%N%yqNd)zu?-%7SoH`4shtx!jp*6V>!)o$2WPz!N*NlDiSq=24{Dr0- z!9qrOH4hwCd&KOeY5Q>tWf?1vxT*|(F`Y}uofR+P+=`yREski zTMIR{!qnqx;g$1BQy1659d4s(MgA(Y%%k#Gn|eYmWLTRsT!S4^E%s?Gc0>-d4qKvH z@tZm8O+D37Zon;*T6lZ1(bUsx!Jn_Om$aRWnsXg5>Kb$5#26PXsio)F!hlr3T~9Bl zFG}hHB;e?X7)EOE#*5dy44L{vyP*Ww2k7Hd%NiAI#cc2E} zZ`xT4i*dZ{(B;r_-t5IJB>lGf$?ro_eIOnx+rPiES$^Ym%rRT+GEUUeClF(kE+i9d9;E!t+gTF@LL0cdk0!gC!IJ560!8;}2A)s4RxiS@+Vu}B%8ME#pL z#$9=}J01Fl(d8x%8KTOVU7HUSXijZCvv#Zz+nkLgJI(ND!kx)odQNRVcjLQISh5Xv znR9FFxlRNeQtdLsBZ)rxtX5Yxr{~o!i!8)sR3lPu*6^SX=EuF9Q=1QGO3~74F2cyZ zh~4~8bs1MWW$f-UR@T<5#c~+mcguEZO>JzK*2T5)yik}Z@hkcfT$(M_$+w^&+g!v@ z*W};9F14+;-d3B-immSU`&J6lapIwO)XrIMwpflesT2NP?K~^i3Y|J85plG^FF{jl zB5LXVwDHoy;4UO6X@&8k9875|j1?7N%35KZ*v%zuk82c`{df3y*s1YNW<|s3T$1l7 z4#UBoCLONryeh7w0+)FLsx72W*48I#=iq{1i%rh=GPqUYPxTgM;N_W%7!J71 zq6|GQqakXy6Ol(*uOen~bdXi(MGf{%FegP{} zs;x{xlu_J%RR?_u&%3-1YN{JqxIj^9A?9wx zblQxIcQw1~@DU5`1)O%7rvYbN>LTE*%le^?-dl&a9Oe1|kdFg+vwg4*ufbf-0C)tM zIEPL9utKa8i|jM~Z#u`i>3qoQ$nE%$l}FDLobCed5bQH$^gLb1*+}4|?o6FnnLmX$ zAo=@EeU>HcDj*#&^*NT39ONBiN0}9dlcIA`f&YLomkE> zG+A7d$vwr_Iz+{FTvQm)$KxcY}o`5_u204tljqchAUk@$LhM z^-c0z@!{zVyUn(G!q!>XIxDu`f~r?M0oJYe6O@ae|7GM{wUItBg8Q>A&WjOl0sS*d zc$;MxV)r%}UY*8)CDy#Uz~P;G$=1W27TO(M)UuP%?na_X>(LpQl??+GckgmkPp1v< z<+bRkdfbSIx{Xuy^yzxsh|knRBfg48P>&Z1*YNxu=DMjbILr;S0*AS2>Pm;Xh3D=t zxACkU=8mZ^JIwc{zTz-U0Oh=_}*Tcf7 zlhSt_MQ5eIcbG0p-*uR-O8?+6-IT6!nC`e6SD$_FflDh6(-SYK9Htje)E%a`(w!Wp zkJ6nTrZ2u&a+rQfcXgQl_}I!}2H>`;!wkfMox|XQaW62h=MTo~C@_!Y7vP}X(G0;i zP4&_JdpX^I8sA0jU;n?4LRve+K>zxcwA@Wo04wls&eYcf>vM;fo%W#m=(sE0PKPh3 zAMfyZ7Q^euB3I3L58_shhA7?snwhzP;(OK+oO+cz7P%Jh_G2DQCLPcDxQAn8E_7c0 z@NiMc=~h3GZamUm!}_fT-*%i(|4lswKJwr+wZ4o4cx_c5V};upE6_w{u!I2t;|SWx zOqQ@ff`rC0izSQ;kkDdgv*a9rsxSm${F}^*&2Z*6ocTNIX3GO!Y-KOjiWepS z%L}yi()(VNvB{{q?*)Q)J>Uh}QpJN_po8q@B<)q)3n=!%i#zbb4=?sRUXW842iS{s z;>Drr7KDy<6!E`D{68W7u?ONG=lJU-{>ke2=zpgXzau{5O2*;6KEnxEcCtA8K$7$I zt#J#i%u5?k~r2h=X zi8i?3j_Ij$|Fqnfl2=>wPEJpejZd#S8mu22xv@Oqs2j9yR zTb1cNbL?_g!zRw^@fQpyaTaS>#8L~71oqcLs$OcX=e!0!;P@cN@!ufdibm{sCy!Cl z2$zUFRMAN9Zp4o7X#~ed;x>FEI6ev=Z#81aF_;|ylfupaAQ&Tmw95;o_A>vB>D^q30@R z&$81SuCW7s#DN=);zJKgbF&eKo-xkQGg^k8+g!ea2dZ%h@wZ*SLs928=4$jAa~ta^ zjqktFC{lV}W3J8l{PFu(-1J5ufAE(-4lSTD*WY-h7dcEZ8bM>eXR7p)#>i+W?}+56 zWSL|Av}r7BTuJZIn#OuXV>mYsA6KMgphK^0j3SKo;1jtq9(;+(dRe2dY0OedWTJ{p zQk~27`o=kvRb;X%4HS98Q$%&96c-V>gta1|wmkD#|YIv#uPhY-Ft zHcJa(Ydew|_~U1;M9c2WuW4fNvSH`ep2n@cfCP{a-WoCZ{0{N&M31=}Fv+9#02*6+ z@jKaL?+4&(f&-0p*#ot+v$}S6an()5TcCL5>~7q!bA{g1*l&D|*>|slw%*^kG%&>z zo{qm@lZBP_0jT-Agl5jmoM|5SL1Z%B;~CWi-)nfhqnqf1jdOhbvI}*CbGg7w55AwA zp-fyT5C#R&N8{C%=LyV~`r;#{WB0XlJmHxN@348ra~!o*qyqCic-82f(VuLbx`+&Y z_I~vFVg$o`B`xqIoNuhpHO8?9p7{C3?8~aA@EH!F=JW;U(FNYn7g3bJd%Ci5p6_il z%-?=qYMlBZ3}3%*c%c}^7C_%6(;^SvW;Vf} zT%xZrYgRQ*^&&;5CelO@zW9EM&P|*Yiyuf~=`KxDD`2f>6U1HO;ZK5fFHsG+Z)B-s zM9u^THc6d;NCnO(9(esrMJaskVFA`wU(1lGfb&OYe-a_trMaX)bLM@MNlIKM&kHcG_ zcr71j9RD`Ojjh=uH5c5i(i58SH#q31v&7>S9=s3cP#n%Uy$%-w>?V2+UxLJ61H{%T z4gF$X6KtIpI2lDAL6^b#5kmNLk;NRc6d~gk^f*C^>sPRT74*fdA9YW^mi6nQpTPRj z#Mdl;%L7lT$0&E@&QgIgPyQ@?i?kC1xhr?J3heUa&xTx%p6AM)qXHG4{5gRSPySrUdp*`(SMEF&*yqWg$KM9wGpV>Q9bCw>6ZZY{IZs^Gich3npvV1XkI}`Y zySjLc>*hj7osU(F3kHgKmUOPk_i!TOUsmgZy~-T?^(U9^#WBX-i_xb#MjwgM$EEvm zjB(Bg*c25tpgP6?i7~*X2f1Q7b5vxG!gsF=6s}&{WMp-ck&e6R(f(O*2})9bT;PXC}0#Fwc%G zQH6oa9=R?xi=$lO8RKePGglJDB1;hs%2;Vxc$wml`jPnp*S*_Ri(C(W4ZYa)re5Y~ z@HI3J`uKC`BT*^P$6FELg)#hpgR3YT8xD)A>I;;nX%n{4G`}vlKP7Qt=dklrdDD+@;I2YHq=S zWtpoCeoR5HsQxN!Dk)5SxA=kHa-72J`CD)R9}F_!gFyy-Fvx%p1{v_dAOk)aWbnE9 z_ZbiW_V;=j26z*0x%3URpz4pqH({IM^scBIAMfRF#yJESZ~hjXLx4%h-->exFuwe4 z*kHKP1Gi&e;l>w)J8<}b04x7HbV)ZBaWNb@Kw;;X;K%`tE58&+4q)8*WjJYY$5$r! zJhGpgS0=l#p>UXTbU-&&CKb3i#JC$<3pbweG-vt4=a&V}rycm1zQC=A!iiX9iwf^i zXbi(R;&eW;wfAvdji`<}0{6+Dp%HF94u=GrRA9JQk9U_uR%21W3bYQy?^Sd$lq<}8 zNB3d;E0lbPGO*dzAr(gnfjh1a7)KlD85{>XWDp?E75JQV_ zVpub>SIIdiCT?6Ng?&-)V|6-zqB)b(kM_pH@TY{t$XqzP6I*7UhUcMD!~40z&F4bS z;D7VoZh#Xod})fp;d1LvH%h$ADOD*-R)i)r6Dxk(-Gz^G7osZU>%<~2Ep$Gf<}a!F z7@j|+cD_-3##rdqi=9j{U&`Uh68D>WIU=wpmz?U}nb;YNQy^{-;syyd_kADDEkKAvDoKC_>mMnCyw!1^&Q zlH-U{{m2l=Y9T1htd)>v0u!%U!BZEB1A(K4_Ko zsJ_5^zFzzaEs~*Zh$pKRw2B@;bVyEGv4(sPAZ++ZCW1mhB?_Oz{s(^!!;dgN42p+5 z;N}4ywu&dgmO=a@<;ADiF`DF1`?8ZUPD*~x$vi?4kEGBgcgD8G3fEr;AMTXFS&~U`gQ5vHCfc}U6!UP1+C!C02qoGYkuu9j< z5KPkp(?eoHh?QSxw@Ca=4YZzG#Y7J};zHQ=Cx<+h23?eeNT*;Qt3XW$jg@`EFI7>Y z(l8^02Z5Vv<#1A{pBdr}X%lBD`DP1l^SEBj3cX`pWkuI=Jy?OR%+*7S5LD|%OGs3p z%sD)0q0V`DyN>~jMY2cGe4sT7MNiVsGQ?8op;A}wNcDzg+^@aduWC2xffD^CJtAy2 z%#~;XKBH@Js}(Cl^juJb`abz6N18u;7Ag+Ey~P;&UU8^62dxynrz9*KstO(3l(#qs z$5;+Dsc=1xoddI0%fW3mio@78A+c*hmX2%x1|9$&T`I7@;)Nb5dFE^kiH#m!$-^2V zHq+##N*dJSA#A)J#EfkTSw|6U3#E#O(7Cfcgr^#u7P|;2xZkXkUxQn(@Qr4jkM#B{M@aR@@SEbR4`$XSUdC=k^M4EIuNJ<`stlJ3s zP`n8Ps2u)l>i+>FTxy8tAv~3(RPbRTK2$Z~P8EV`obN-pgXl+o+z$>y=%|>Kol?Y7 zaBR?oA}vK*;h+E$E5;cqyg&+-bSY5vE4r_$bg>z4cx)_sK$1AwK+Ou(TxQ@Vh4Rfs zU#Qv`QEuRqIbS-^=Wo{3kmBPsBcouy~-4 zsP9fjnl?e2<`|Ha9sDKd7Z8+r20cDOTYDZf7ofOB0R({p{CF(|2MldKf?7kbG{k%! zZxin1a;&Exf}5>RqF~}FSbxgx?Cuv)hd;{w#(YVV)RSwpd4DlpSvEF?sStFQme7i z(e-6lHtLsXKN)lsc1Kvq00%WIZiv-6(gquGtg!X=|*tX$n8OJ%^2E? zpxv-;8lq#M=bu1Vx)X|njpAr=toRM_$|(K{`hX)kot@VZ zjvM7EHbtqK5vEVD-;c|V=7E{pkaNJZu8|Podr;ND#yxMq$?CG*8LQ0@vD^x zR_WRz1gmv@F@gg|V2LTFqrFy@Z3;=4Qze%WVJCVs%y+~bq&Cw2#e3W^T;h?V!38+i zT;!@mu5;*V1O6ISoGuIf8V(XoEW$j5O6Xdui^WVI<;Avy3t*w)7KH4J{W`J-#c~Xh z3Un*YFu|N=Cf`^&EATq-D}qU89{wL=)~2o64e_vgq@mTX^8Dpkxm(fx;%swn^78nYi72 zVbFY12D!32kOi+a_9+J5?xbj*x;#nl!erobc+V6)DBA))RkG0af=#!~CVCgal1n?U z2s~G!m>}iVNM7`skm9?37JH6i=?MOi@O1@TyUaI1=%Rca*$1uoCdO4lG8!9 zNOD# zJz{Ty7en<2N|HQ3&M}o)5&MOjO89`hz+3#erhj(CehEYY@)F2AQ=JpBUjgw0c|~vb zKj%-s?9q07glhhYZ+ygpZzn@ciolAdONbu$IWkmWNTSjmM~Yt-;-nS} zfLJAI71oWMhB?ZlE#fo>X^S}xvz19(!fB=2yJ8tr7`o4Qh`I7Bmn-`uSBMA1l?A49 zFk+`&9;Cs8g{J>d#CBXBI6xMe>fwkDr)$hha;CP@)Q&~$aX@s`GY&|NsUMHnNlRtYnm7$?%%nAQ8kUMU z&lHQxF&3Bk>~6L%;Cm9Wd&w6mxY`SO*=8!wBKAb^nbzz?aDKb#e;%4-g5ON~f>571OVd(2>I z)Gi0)5L8Z5Rm)Pfk#_HHcb>Z=77W=8aT9|e4Od9YEhZcDR$)5fL|}aCVV!o*3A=Pnf=iQF}UA zLrk9zKAbd_#Zh|(5MufaAa$mHY1EzxgqS`P$SG4@9<^ryA*RnFR-GK!x@Sb?);%LC zx9-_dC{UNopxK?n^|opsFXcH=Z>yGD_uS~fQqL@9 zm6!57JUe<5?q?ghe`V{g%gobMx5rbXVp^29?&(pC>D0hH;fUKEICvQpdN_YH{65q208MrADE{NZmS#IdD@I=h?Mk@NN-`X zlgO=1-XL-tlim@xiRNkZZ_U$|-!u+#0vXYocPEoTv3PPiJ_Z z@FNC%6*xV3p85jHnJ8~7G*7gxd>QbcjoP=}dAbdxKA<*4?ThX_T?FznpfyJAyFfIQ zx=S;6Hq(t0ZZ}RuMV;)%DeA_#tj!Gkx-+;R9j5X{)SeBQr5a~LikBJwmr=V7haYWJ zZ8-coO|?I2&p{sAsOBKg4O4TX_FN#tfXoH5)X*oz>? z^N^|A3{H*N6@bbKs-P9pz?`q4&8*EGKwH%MDQ#x$U~H_Ug4V)yCg%~^!Q>S>EjyW< zOXv+I=MdS&WE*AZW^y*6Jxr36&>nV;q@+EHe#kZ9v;GMzJ|M_6aBh!B_W>*3_NKhr9$EMmCvljq5M9>02PfV>TW-kPEn4pD#RtNM; zF}oh37ywca;e2WaF30Re$aI7K8;MdKu#mmGc(i~vlk;%2W47}Ons)& z9kZ7J5(F&)^xQOiWA;)&4+&Zd=u0zvD`qbP^oXEkfL@q6cVhN(K#vJp4(O#hssW`<>ru>J38;^tm4F;`*prxD1L!$H zHGoRP!=J_M&j5W%&}V?gg(J^nHk`|jctOxAK;y&F7cqM^pqB)#1~efYOULXrfE zkmNV9n#8~V~JcD4_INucf}x$5(ru^ zuEc;Py#vDD&+V)1__kF z5UT>fff(dZ0=d=%00(1`J_!u9@Tmp!3fYr@Wqk5YGcOLdTulk)}+8Lg9;%R4e+WGfs=g-p4pQoMwmUcc!JE#Kx@N*cM z?P`rH;A>)HU5u|1>&eu)g|{obtcLV25BnP9_F9}NbeC9*MYAHTG{x<8KxoaZ15y?C zx5VxBKfFpVY4%C zZwK;yAlreg3x{vS?HyR?Y3lS2Kl7>}RcYIF^cA%W3T& zjQ{N8c*$B?ABUJ+N9189*Asb!$qhsvWpX2t$C%tiWG$1Mi9F8a79vkDxs}M1Ol~8x zj>+vro?>zbk@ZaOB=WRJTBEU24#crW55_&I@mbd)VTa=0tyHlZ5kDOFZl!+fFycqz z-mO%%wjh2q?wyL7wF2>Daqodtw`L(;8~4_4fS)an#}j`fr8LOT7AN9~KbG+jKUI@mY;2)LSu9$Zoaxq85%mo)8Y7T*y+ z((_6iVC9IfOHfP6IO?G<;TbnQAHlEQo4)ouGLlp}5#Szt6T$JYD)K~U-q?j|3I6T( zy96vPrSarNaU-u;x;gL4!{?0?;Y<#xsC6^1xn!T8RAj`hyq3!0cz_YN^TzH_nq|fx z?NDUuojmwYgVzL+*HV;%h7?|YKgla*6&@%ajd82J=EwWVKSUi*^I-3(y?rt)p5?Vb zOD&V`619H*bq&!+y{Zed!qO|$mwDSsg~+2lRD|&1c#P=JYsu76v>B%5lmeA1e7Nw2 ze+}kN)OKk;w|xqqDf0h+ZI91K+x4>TY58Q3U4_y!QKr`GZ>@hTwFBb;Xtr9||BXbUIkL&qVKFx!7V=bsREL?DFF);7qA&2P>l&TVkJvN68}4)^ji zvspQO2y$)9C(WitzmkL$?;1$`bog`wU!=~3wfcOr&eqT6i#-_QcN4AwAa$)lcJ1^0 z0h_A>`S_~g*<2mc#37240o7qm93dLcm6C9UQJbGil^oK@FH#cOj$j9(eehMQd&KRKEWx41BVS2P%Dq5?FI~f!E-qq3FLns~%f*~%GB zJeJY5$+MbxmQSi(rs&Hr#z&Kr(0(ABiiAF%e*Gcg8(&3<&%H#I6U{-1Uvgrd#ty9# zfkA06IPH|1rVdJb$!Ya&nldQu6{nqkZCXF4opICrgUY2j?d)sIImGE=lkKlc3&80f z$?1s&?zri$IjJCp<#bL{;C@C-Mg)q%lH8i=wl# zi_XqOP+}gk9raV8>TfTRikU;PY6zeN39<%o1#)7izlo1CvVh$977nz&XrT3F$V}5t zpFEZq(Bavji4{yVYNEP;_m2RXF0Pc--U&+unbn9APyPc6u9ewX<78a{#_nx1DNSsk z@u$e9IEmOs8Dm3FM7N?6Vjk_d+o&MzM@>+op=?bWK0hX#;r-W*L2e<&NZyNL#8*;! z+~*Z*(ZuJJu|-S#W^EF&!^lM(CNV&1NrX;uJ@vH8*~+qn@L30kvx4G)LtEf}7$q9F@kU^P$Tpqid6JUEEM0mq=p) zEs+aoo>qu8NbpjecF|26EX+-u*6OAW7T9J^yY$+$7EZhT+B(k{3<&cD66R-8m@i|3 zsE4F=c%{HKEW~B2tpNJ*d+<>fs+#0l^g8lUZ;O$y!(+o0O>_dkf^4~ej)X3BAYoNQ z9f?5R3A(e|?V)y`%XV*iZQ(+9i`v?YN~jdKb|1CU_A9$^`VG|>!w=vTZd+4QH z#g0WOSJ^oS&a!LRvs~bN@b{sKK2%7P_BJYf?#V~HCi*GYb0@^h;+eG^K z!c+-O=m#h_p)e(dwgW#YRETW&sTG*9A~qSh=yzAxX1uHrGfi>cIHnY0%#Iv$d7(SM zxV%m)#F+Q-m^O!%aF{)Xwt|oVfYYMYH^Fa+!I^)BQU_;@+O~e|C=bw#* znFAbF4LHDu@d3Wcg>h16!<$_gCv`Tw#f5QFXTw`v7$DiQfI^4T^J`d!EDdC zFT1-?DHr?QOt@Ge)9|+d9RlB^hpr?Z4Gz<6eG|@kd49&{jb!p203JqOVO9o;^iz>(vWUYeZW-hpm*A%^F+Ks;w25!5 z`n~bWT4?m*cXa^3LC>mhFLi;50E)2?VUEukCLxZgyOQ-3*~X8YI=9Q8XurOVS@jO9GQ{Qcl7J^oWl;^yV`1 zkVlcLoLAl>uVv-!NI>l;&e_Slyjv4p329#5DtZ#|6C!;W^*}3{V$z2Z26vNUFe}HY zi4opHjLph>aYsy~N_w%4L`h8VCm^PR+9r^dC)QjW7S z$4knAGe3#xOY>O3)zT53G7)?ejll1AeO-(nLB9dugA#gmLaXLoeF7j2Ns~sfzM9l& z8|PQZadJRR9#ISvoGy(8xQu)WoRck1b&JgyAy=-LHG&P7l{yXG$I5%E6I3vV3_z%GAi3xBLpeAo)TOaA#m)*fH#Epb(bU+t6 z5NxG|S~ilbM3%sik(O)ONRkOtPvnZSwr zbI>r~QSNG@VkC2$yvf5Efcsp4&Mcr9Rwph-_cXDPV{4Q5HL;8e)9vX2u5TXwg(g;x z9NViAtF>wY{{sO0w8E~UG*L5>E+e{y&5@KEbM((fiqA%lT>`bAgzra7R6h?%tQtwK zlG)qT+L5kU@Anr6;5Ulg(cNZ)v`zk^D}G!C){jh;+#x+yvM{R|Np3Q6*u$wm3=tPX zrFio|4Q^Gkmfk_NY^4eA%;M1v<`Mn6Z^I~eIX8?FsZq?M=265W+_YLi1j)6-c@RUB z@ELOfgfICJZ-z$U%@BTDtaX&j#>aR$GzzVBDOxBHyhVDyz?E`x2V3;M110M27@o|jW)_q-JhR(PPs zTK4l9ob7@7fVzg%A_~AgFH|xDVaLJ0Kg{|ER7|FcF4kk~@ji9Mz<>uWoxuyRY9Lq9 zCGxmkP0l#Fp=+e*^I>)eIgkF_H+DqHi0_Q;(@OfZ?~MI%$&dNJ_kHnrJoz`sG0pE~ zLB98uc#@XKaxEM5$CEXry0k#gM%8$d>}ekY%zIx;&ZZpcK{?)tCw~g?dLX;lSK`S@ zlyy-!8x6#heS{v)$wq_mWEpL`%X72QP(0aBd20uuMm+fofIFcNBu7lcG2_YAR6*S! zG#pRzht}rJ3sq4_x-P8uKMX_uqNUa8A$vZ5|>fQ_SYo7 ziNtASZB>@x#6Zcnkob^Fu6j-4*OB;$5^Gm7(35YXNCPEKd?UL^ZalezW_tWrh{t+z7e!_vGBCqKz5 z^A3wAy9nJG_t1eJ++u6*PDd=$Ayi8B&jeFKRF zNW4Y$Eg9h@QhkwlatSdql|f~ZvA496TNKm3QE|JwI`ME?ciR=48Vm?)= hls.seq_no + hls.tsCount) { @@ -125,9 +133,14 @@ package //log("uv[" + k + "]=" + v); } - if (client && client.hasOwnProperty("onMetaData")) { - client.onMetaData(obj); + // ignore when not changed. + if (!metadata || metadata.srs_server_ip != obj.srs_server_ip || metadata.srs_id != obj.srs_id || metadata.srs_pid != obj.srs_pid) { + if (client && client.hasOwnProperty("onMetaData")) { + log("got metadata for url " + uri); + client.onMetaData(obj); + } } + metadata = obj; } download(uri, function(stream:ByteArray):void{ @@ -177,6 +190,14 @@ package completed(stream); }); + url.addEventListener(IOErrorEvent.IO_ERROR, function(evt:IOErrorEvent):void{ + onPlayFailed(evt); + }); + + url.addEventListener(SecurityErrorEvent.SECURITY_ERROR, function(evt:SecurityErrorEvent):void{ + onPlayRejected(evt); + }); + // we set to the query. uri += ((uri.indexOf("?") == -1)? "?":"&") + "shp_xpsid=" + XPlaybackSessionId; var r:URLRequest = new URLRequest(uri); @@ -219,7 +240,35 @@ package log("FLV: sps/pps " + flvHeader.length + " bytes"); writeFlv(flvHeader); + onPlayStart(); } + + private function onPlayStart():void { + log("dispatch NetStream.Play.Start."); + dispatchEvent(new NetStatusEvent(NetStatusEvent.NET_STATUS, false, false, { + code: "NetStream.Play.Start", + stream: user_url, + descrption: "play start" + })); + } + + private function onPlayFailed(evt:IOErrorEvent):void { + log("dispatch NetConnection.Connect.Failed."); + this.conn.dispatchEvent(new NetStatusEvent(NetStatusEvent.NET_STATUS, false, false, { + code: "NetConnection.Connect.Failed", + stream: user_url, + descrption: evt.text + })); + } + + private function onPlayRejected(evt:SecurityErrorEvent):void { + log("dispatch NetConnection.Connect.Rejected."); + this.conn.dispatchEvent(new NetStatusEvent(NetStatusEvent.NET_STATUS, false, false, { + code: "NetConnection.Connect.Rejected", + stream: user_url, + descrption: evt.text + })); + } private function onFlvBody(uri:String, flv:ByteArray):void { if (!flvHeader) { diff --git a/trunk/research/players/srs_player/src/Player.as b/trunk/research/players/srs_player/src/Player.as index 15350363c..b5e918702 100644 --- a/trunk/research/players/srs_player/src/Player.as +++ b/trunk/research/players/srs_player/src/Player.as @@ -57,8 +57,19 @@ package public function stream():NetStream { return this.media_stream; } + + private function dumps_object(obj:Object):String { + var smr:String = ""; + for (var k:String in obj) { + smr += k + "=" + obj[k] + ", "; + } + + return smr; + } public function play(url:String):void { + owner.on_player_status("init", "Ready to play"); + var streamName:String; this.user_url = url; @@ -66,7 +77,8 @@ package this.media_conn.client = {}; this.media_conn.client.onBWDone = function():void {}; this.media_conn.addEventListener(NetStatusEvent.NET_STATUS, function(evt:NetStatusEvent):void { - log("NetConnection: code=" + evt.info.code); + log("NetConnection: type=" + evt.type + ", bub=" + evt.bubbles + ", can=" + evt.cancelable + + ", info is " + dumps_object(evt.info)); if (evt.info.hasOwnProperty("data") && evt.info.data) { owner.on_player_metadata(evt.info.data); @@ -87,7 +99,21 @@ package owner.on_player_302(url); return; } + + owner.on_player_status("rejected", "Server reject play"); + close(); } + + if (evt.info.code == "NetConnection.Connect.Success") { + owner.on_player_status("connected", "Connected at server"); + } + if (evt.info.code == "NetConnection.Connect.Closed") { + close(); + } + if (evt.info.code == "NetConnection.Connect.Failed") { + owner.on_player_status("failed", "Connect to server failed."); + close(); + } // TODO: FIXME: failed event. if (evt.info.code != "NetConnection.Connect.Success") { @@ -100,7 +126,16 @@ package media_stream = new NetStream(media_conn); } media_stream.addEventListener(NetStatusEvent.NET_STATUS, function(evt:NetStatusEvent):void { - log("NetStream: code=" + evt.info.code); + log("NetStream: type=" + evt.type + ", bub=" + evt.bubbles + ", can=" + evt.cancelable + + ", info is " + dumps_object(evt.info)); + + if (evt.info.code == "NetStream.Play.Start") { + owner.on_player_status("play", "Start to play stream"); + } + if (evt.info.code == "NetStream.Play.StreamNotFound") { + owner.on_player_status("rejected", "Stream not found"); + close(); + } if (evt.info.code == "NetStream.Video.DimensionChange") { owner.on_player_dimension_change(); @@ -149,14 +184,23 @@ package } public function close():void { + var notify:Boolean = false; + if (this.media_stream) { this.media_stream.close(); this.media_stream = null; + notify = true; } + if (this.media_conn) { this.media_conn.close(); this.media_conn = null; + notify = true; } + + if (notify) { + owner.on_player_status("closed", "Server closed."); + } } private function log(msg:String):void { diff --git a/trunk/research/players/srs_player/src/srs_player.as b/trunk/research/players/srs_player/src/srs_player.as index 691eb4600..9f0e424b8 100755 --- a/trunk/research/players/srs_player/src/srs_player.as +++ b/trunk/research/players/srs_player/src/srs_player.as @@ -33,6 +33,7 @@ package private var js_on_player_timer:String = null; private var js_on_player_empty:String = null; private var js_on_player_full:String = null; + private var js_on_player_status:String = null; // play param, user set width and height private var user_w:int = 0; @@ -105,6 +106,7 @@ package this.js_on_player_timer = flashvars.on_player_timer; this.js_on_player_empty = flashvars.on_player_empty; this.js_on_player_full = flashvars.on_player_full; + this.js_on_player_status = flashvars.on_player_status; this.media_timer.addEventListener(TimerEvent.TIMER, this.system_on_timer); this.media_timer.start(); @@ -497,6 +499,11 @@ package public function on_player_buffer_full():void { system_on_buffer_full(); } + + public function on_player_status(code:String, desc:String):void { + log("[STATUS] code=" + code + ", desc=" + desc); + flash.external.ExternalInterface.call(this.js_on_player_status, this.js_id, code, desc); + } /** * get the "right" size of video,