From fa2e9c43f131747603268b06a4f901b8e61c241f Mon Sep 17 00:00:00 2001
From: Lyubomir Marinov <lyubomir.marinov@jitsi.org>
Date: Fri, 24 May 2013 10:27:29 +0300
Subject: [PATCH] Fixes a failure of the video capture on Windows to set a
 specific video resolution.

---
 lib/native/windows-64/jndirectshow.dll        | Bin 251310 -> 251339 bytes
 lib/native/windows/jndirectshow.dll           | Bin 242309 -> 242361 bytes
 .../windows/directshow/DSCaptureDevice.cpp    | 131 ++++++++-----
 .../windows/directshow/DSCaptureDevice.h      |  22 ++-
 src/native/windows/directshow/DSManager.cpp   |  35 ++--
 ...ia_protocol_directshow_DSCaptureDevice.cpp |  65 ++++--
 ...edia_protocol_directshow_DSCaptureDevice.h |  12 +-
 .../neomedia/codec/video/AVFrameFormat.java   |   8 +-
 .../impl/neomedia/device/DeviceSystem.java    |   8 +-
 .../neomedia/device/DirectShowSystem.java     |  65 +++---
 .../protocol/directshow/DSCaptureDevice.java  |  29 ++-
 .../media/protocol/directshow/DataSource.java |  31 +--
 .../protocol/directshow/DirectShowStream.java | 185 +++++++++++++++---
 13 files changed, 391 insertions(+), 200 deletions(-)

diff --git a/lib/native/windows-64/jndirectshow.dll b/lib/native/windows-64/jndirectshow.dll
index 06e7a87b0f5e032b010c5ecfafa7c18e87f22e25..3e5e5faa38e46728db0df559cbcb28edb0a4d840 100644
GIT binary patch
delta 47230
zcmdSC33yXg_wRr9fj|qC2IvH|kWRGBDT9_d%mE67(K5Y+dBzAWlVAe0N-TxI0S_oc
zWRgjU6euWYm;}UE3Mwdr2FE}VgP<=WlKb5!C(Yi~-|z2z{`YsE=k{^2*8c3Z*Pizo
zlGc5DA}{QTbSw*B7`1tTFjEw=R;}tOUf93tTH6{Us|leWlPElqQc2fJ`mLgHL|m0v
zr%JP&3G;H`Vd*ZdCUeLWDO}u4Mi%W7$C7H7suRIzKV`I^@ct&nR$NHz(wd5G#MtW6
z#fsfYm=vukifOe$5RCb5qy592UdDomQ7?#sSGPg>N|Q=%OBE|kXjo8<2)FM&_4|+3
zM>XE*H2F1>#=>aZMo};pM!W#!9bZjaU8!s2)s2GC%kIs%Y_$LGoq9t0u2NI+jg3;R
z%Fnj^#i?Z3uhFbu-GY$swttxW%F;hb?vjklC`9>9@UnzQT2#3SDUx<qZZ0l$OV=y6
z6g#>lZCIzu5s2kowzX(z*t^6!$hh>b&X|ARXups%w4gJ3liS2t(8mCjQ{7lV{3fmO
zY*&MTA7g=L&Pp`e{-ts0Y265;-xFCMu$PJYUO;X(a{VP|yBZbmvt3P8m%gKTpK?r$
ztlv!#o*Npd(f%pMpi^uU8t-D3{X<0Ud_)U>?}#vh-sRLrzN?-n1Sqn-U8Fu$x>=7a
zMLt2j=|=nK#=^lV2IJXoDF#|sRzbf^wApAMoRW^>V;|5d9Gs$q{aZ7%&7{Y$otoFx
zSdf)sK%q>fP+_-}_DHm+2^x=v@SD;V*9drKzNaw=w*2$Cbx_WV>XcEje}R5wkNDT<
zQJqJ29(Bq%E-R(|d)0-?Hg9|?s?B%zvY*bmSb%W(mm^nr5j*30Y3<1R1~ln+uMvx2
z=_%4?WJ+e_iVL)2+N8erTUlt0(S9wfpmt~fAT&4kOJl*p6r-`ACx+RbbIMvUB&>}o
zGxxoMAwnBdtK6c3A=-A)Q<E@I$90I46W1;}D_s<FKwCj~J`|Uu=@wZ$xnq|7mUmzZ
znnr6f+8-<3h*NsmDa*dkrZl2ETGu1nSkOHT+6=9Qo(vraZGrBpgE0@yp&8SmX+{q1
z(%e7&{@XXvuZa#+rHq;P+hi>G^OVt_W|8&tP>Ucnuhvz3w~>@nt#QJr`=L3ykEzWn
z=%1;~Q{=Lr1?ftaMCoR=nvoq4r&|Fg3|p;xzFT@yZ6H}L^^fS%G`v0$f&;nI?8nx!
z-}jDBB7(!X`1CSVRyIS9i4Msf(I&cx&_zXPcMBtWd`SnSLuILY_1NmM{~@8AMpDb_
zX(UM+Q9VIC_)uC<y{<L(D4nN17=aIs1%ons*?oaAM3we4-dz>2Zhwl*Po#|~>}trk
zoK+Yx{vi|cxm&ca-BNV^tNHH8{73X4z*fsD>}tXaZBr9_0ZU6u^KJz4bf^dUno$Q)
zQi_U<sV=esQ>Dzv1ky<w8rh=zwlt-9aP6o1LgV^-Lv`&(E^8Kun@+b(Hk}K)-Z0;T
zGSS#e4W)lau8+E%i<xxLl}fj&3DqBLAib(hZP7uAlbLZj-#u?MT8=$7IK|lOC^}4k
ztXcLftkkm2Sg08(-O@G@zfPATYb13l=%uFzMHTeXSYXJ+@o|LitKh+a4bA2o%jZj$
z8Y8r~n$cdZNjaj-Ui7=t^&0KTb}6oAS29K#S#uoeE4gdxn%u1gH!SmXy2okLyw`RM
zf&+b0)}JuMxcIJ9388sYs#YtROq2Ar(#QlUyVg+BQQBXtOVWFBG(<O?BL#x7O<u}6
z>W;Zf&s}3I%u3OFA4|2O(rT@)S-vKl)HkXg=`2l;N)TgPN(E7gqIPT1zNncb-t>g7
zpXDh^)k{xky_>Ztjc7XW=Tc@&8kr%PW1>j5lpE8Kyd-Uoi6{4^V=-|RKGPHV`8p&<
z`YEPLturWoG!D%v>)f|emDqaZJE>u8$}<<0b}v`jTjnrz2YQe5H`IF{${Pzc84YOz
zqFYEyV@<eZeHJ^k`jQ$HEl=^l!+S=`jJs3yT123kCa*_oTDwEr)k=DKN(ptzrwMwb
zptfvfth;WbW9^`WEMS|Vni^?JHFcUv+iG_vSEV0nuO}NNTb<<2!*E437UZR1ATYf6
z&k$xT%u8`0va)}A-DUPqldFVw+DK~&?4#(;(sy+d#kancD%Y(~8c1n%r;2-il%%?y
z#hu?uSL&L{73tadWbqe48X4bIys%Izh_6G^q#g0~@$ZN69qXR+`Tf{%%ZgBAa8#8F
zyq`$*6Y7!YrH%<P6&}4PN}ChnrP&FSF|{`m+N4!hCq6USAn*3g=r-LowBrthL&sl`
z+Sf}a<0Nyv6p|_B*XuwUNvG<ilGD=ddJV{*lD2*$@nmIbOiV4ZNHW#0TcvZNGEzg+
ziQKOaiI-N@uO~*VlisP{ku;Tj^&5~Mq*z^2T!r~`voBZ1$$PjGEkoDjF=>EK*Rp`7
zxz*nbHx}IDSDRNur_|OYO_~u^M|xjZk9ee;Ivr^)J=HaX-83<o?3D&2M(HNuP6u;J
zf0XNY!N?R-mi=Uw{e0HAQ{M3VQhs7j^zh$_v0+oT5S%IzBc!{D&xlq2lv0xPt;4)@
z#!h%MeHfN;=ZyBVMsnVJ8A}J33fyIRfBez!?^al`lhJ+>m-@cr++K}OvM1><cDs`r
zlS$H*q#jjE=u(42p{9qFmfV;;mIft1V?Bk~rDq+Thjbo1Bye|u^9=U@7y8=IWYK$z
zkNl2DbUKt9waC10sa;S3O<d)qE!8ZCGTMJZy?%#JR2|Pm=Dl0yI62@r^{<Y-?AFtf
zd8-1R2!g160?s`YXEx-AIk;X{Q0~<pE0yUgpt5!JGJ>lyJzJ2iWTYblX}yxBzJ2W;
zze91yiK{cN%d+2AHh}lX?>k~-*&C6vtE`|LuchCV?fWeIiQDt;`u)LkfTov8+fx>a
zCpSqcslCFFZc@hM=q71SYFpBz=$+L5B=v~}7mv%vLZcZ6MYoMa@ZR}}4q(K$G~*J@
z@McS?X&W;K;`Z0!@Tay_b#GO-D3=cKrH^~eMM%x~O+}B>R*T`jCQ9WmG%H%$D6c}~
z==F5thtYw>y+vy&z1d)*DO%L5DG~3<MSGiHtw1^#<+ZdD@t9PkY282+^H)htpM6Cf
zysGH%v&o`3!cla+jaC$2h?Rb7cSf9AM>^QP8|fzf-oCwfwzl+ahjHS`+R}y&9b>=2
zk$F}~R;n_E-TstbA`7FnMfW>2AYy*3RJ&7K(H>hgq|-7&Iu(6oAR?(<<ms}kq9`qu
zruOVEW-l#zr>90FMya@0y{IOOiEtDXh^76*gB>}s#=;KqMYnrRttcK{C=Kb?m9#Hf
z-!HQwc|*E9@N*Jfv~$on61`#`?S0dAP^H1!BtgoU94B=!SCMuM?H=~qT*afJv~tMw
z=$V1U0;s=nZ!xrc_&0MD_d9bW+t6vzg953EP=Di}^j!DwGr5ZY#azkq+_dO+fmAQ3
zzwxh`-93C?j^baOBbl?OMW+Q)Euj9!UmVsweB*4zf9q_?G;CUQ)j%p9>Tmpif&a_1
z6#rLdNrvImqALYbRiOUH|C`}k!!IDqSlIO3EXgsXPSMU0*%h?gW+)*xLzOnfqe|Iu
zwitaae8)^B^R1auwD}0G9G{rGi(gHbqQ_XmJ4{!yOw$pnfpl=psqmMlDP-9+$u@Rc
zbj?623hHkflQgbZw0)}5m{*~?7fjHWHlmjWDI+&Y+A{85_?Rg)TI-Qhr1j%1VVO#*
zX*;RLgn8oj$wdVdYLZ%OCn*(ffGTYgcyJ1~zUcDAEU{+(1nQ8w9ICXj@?eGhBx&H3
z?qPzG)s#q^r%aE2e!LPW59)8)+GT3@@XyC79;M?X$JA-juCYq$1E|08Z!vAY_>Nb4
zds_dfAIB(N`~j-8X=HsH*1OWfq88Jylkk^E2dW)i6f-lHgdZ5CB=?Uhdgl4MVpxAA
znc7<#_QDcz&`9a#3-`ovBZ~e#>p3wzW0(?GKa9?!v~xr?X;5y*$YI$E&4wyX$9+5<
z%9FWWNyDN_bH<9|=7G}Gd5NNZh*UT)NBnbuRAK%z;%9@4+Rcx|P17Ky@>Ni!&C3qM
z;BZPy7R(@Vl5c^b_O*d!8~3*dJ0kP`Lyzae4hQ=e^?I>OMR8L<snFWBMwkgr85iX;
zk`liM=R_yzmbF%NdOuJ+qv~9E2rBqgIYDX^h1+I`Btx3JB#A^zuP-?!zS~>MUV4=z
z6zTH@quD*BmtTHcr|Cr_R$Oc(C;YdJ1xp3xrm3~ZsI>cAqcrH1xiO89!uoCk#q|OM
zAuh{~+169Z-T_rUd-XD7OtV0CQ<~kF8G~G%q_uw()4GRJS`Ssebj??dF-N*9*+-$u
zXRk(f=RkJ1zsasyuqa&arj(Yt6|F0%P$4?JBkfk}icoZ41a3*CTMnI6vf_F~!_G=>
zbEwiJg?_QJ2hmFP9f!iI8<e~%MK>HHNcjFhoZTIZ46B!hiHDjLoq2t1MbceL-+W4Z
z^NRG-=K9rbS8%!NLx-~<V&N63jx)1STZ*EAjs~tRnhXkZX3^^meWKToz$>3G{m}>h
zBQ11JZ}s4~Ac#3t&T4+72G;n}$6`*+rH@HYry~d=phWtJf1Pp|3lr9hxF;)Yy;_vw
z-+ZO+2@733(Mc_7=W&Vb)qu7lCneqcmh}Fctz&ncK!*Klmi<ir`N$RTDQ(m&KOt4w
zVj^v&5nD3C!l*|<LPKfImL&0ew{&DnyV&{93qslSWfe}Rw+IP%I<2xbxyCDaGW35M
zyuG;ZZ7y}(+Eri6O|PQ{+El!Yz<UJTC-x=x{n2&cPM<WZ)4S>D_77+~Bi3d}?`*Bz
z^rH_@2=2HSk9a172>lAW>BGDm@K^|-0l=M(w=j^5k^ZwaU7YcOl(?-H87#Hl)*x{e
z?h-H{uR@*G=n;$l7#p58;#pH?v}<Zh3%A8J%|>?j{OghVxNpY8eRP(Rz8smqQb|V`
zl=S)B7=+4{PHbx?&gduI-_}N4pqH9#*I`lg-QK8k>iYyQRx*A=S5`Q2<<2TdZSe~o
zxDLrsrSWB>we&+`TzV?5UF!$Oi4a+sqdW*}zB(=)*`6*QJT85+-S^zdW6CJBq)(Xz
zUA0*SUBe1YVP5I6((#4B-dA7;?t>k8IK~~D=1?&mTY7t$li)7_*hWF2DGX1!c#9If
zwpeQT*8HYb5F0L)9-N{VgR`37Fz0k+O7m#AvU^tpCiLg3(#5xQ;?1hk{kLKo{(29~
zzF<7w8bqIjX+NXtv;OFBkXG*e?H~H1HIja3^YBqsf$W-zRi(*0Gwa8r5`XkQ>Q<0Y
z87=6Z;Wicy!3{W;_~v`k2RmC^&%H}a(6<uN6BI|yK9tJ98^P91VVu=0#SDg56x?Su
zi(o0M-mX~!6MZeHLJN2Iz;pymuRpq((yR#UApw;SL&6_D`zIp2OM~Dkz#p9e=8c;|
z$E|w}jFF}TDl!&!r{?8%i}H4rkT@Tv39r9Wjrl+2=&<bOHKJ{~a$K6eCoSSUGLPyp
zdbkF5keqvxNrH5G&%nw(!2QvBDPiwK@#wLl{JpP{q+1G;ytKUuPmnO?U(ac2END9U
zHbotFd8H2f8igOC4uugbj!Tw(b;v-eU|*XCnM%<+KT<!<AX>CAB84h@LU%=V)%v4b
zN_X}pH2xfeYrlX7M`DDR;`Jz|*@gzvB3~lUA6=k?iGFxYYO%jT*fxc||D$BypBz13
zNl0)g{nS{{1+UgLD~?I)_BWbZ2RR5ju|T7Rwe%6my-wQz`>f_M295ssqfh^Uk|!rR
z3N&}Xu*%Yu!|AN%Dw4{C;g~u_^FIpYzvjJ<-CMd6vAzJoO8P-+;@Vp~uM6IljK+b0
z7$c11qFqSi9(_g^>Aq`fO+s_&n<?bRq3He2(u{W+^*z%WnC?CLVkoDUah&F75FCDc
zp(2Y1i<Rsp^qf4UzWKd?qN`|`>48utRCHV^p;>_E`F94@NTs=g8WHtJOU45Y#CrzG
zav)ax+#uNxw5q+?0G|cu1?rrLIxirN<9C@sx^iF^sVMa-vZW_~i@BnYeVX|gkjVTT
z^o+i<E{q7r8$y3{JDP9DYpVN2-z2t4RJO;v^ty0+p%w>i=#3>Uk}N$un4C1Em=^hn
z?)LfxVgBev-zWpFK?gHWVU@gnOKNkdZd@GPO3&l)=|<P6W*7Q`5Jfs^`k{o{*ALTX
zUC-%nENFdIv46{H;g7z1OWJZMH7(&5ivEaZdh4RO^j)J}vkG3N$Gr;_fD4pn-eKw9
zp?FeHs(QFyL`yZ^%%vUP+9^GAIJIFSV&H{!m5lTLD+RUkFX#M*rae5Qj7H9+0xXgF
zH9@{PB;_4Wsn%*ImMQ(HL$mvkbntLW&E@bceS4zA`yy?(U9<3zbmwp~c}}WcT$^-|
z(u?(YH8HF>vE`kEaNOX%PA>&^%?+B`;_VPfeMM7elouj_$8vgD9z7_%U0m0?0eKk0
z$h>11>;irMZ#mB)b48GTPbu76Kl}>Qbj5zwe%l}I{2Dv#cOyOjCcuRMzo@^xF`bJZ
zcxO(hV<~cwObc9>N8`PGfu>U+Y|eON0d`g`qdiXQc_a}_WXh5H18)@J4Rs@otM{WP
zN+&K*(2|0N0q_w3ElJl=t=s}{%>XW<esn?tlkBY<z-x-6Ye(wEOjiokrcKMD!#%GZ
z8iMgVnu_;Ft&XN7Rf9w64h-=he<;;HIe_#|q(=nPMGKC)2<`<MzZc&n;T?6nDq}a(
zc#(OlF-C}4HJEdTj#;KZde(Ie(}(uo{n5G`u<qksi$D7N>yrJwsp4Xn^y_;)a7Wty
zSd)||`_X}KF~QzDkCY~qQgDQVUIB1tzqI^VqFB6N+J7vu-5O*ob0*Q6=qQgu{VxY-
z&e(!<fAoF4P48?!O=oM<HN3H>?{+X<W2LIcGh;JU&mP8tbgbpq|D#k|OB#N>Udr8l
zsCpzF^lJfpoq`Ms+62J0ebR>G^~Bx#q+`eHwkbrm(iVE}P@u&E$6nG{12kuRf!-f|
z=L_`ytQ~hc>(DB?aBz(rC28Mpg7;J%-cM~`1>U7AyhVtAdn~Q#_HRmy?!1kvds6U4
z0DMV-iGpVX;ET7VP4BmEu?k#igcFVERuI-b|NK0BGNPFu<m(lVn;ds8?$b0cye(-y
zXqMb2kexG;wsPCmU@HgG_6AxRD-HdiMT;AIQEh)(?MJ^V4ZA?WPzrhlz)678<=(o1
z)UmzNyB~BGr|gyf{6I%~O7+~aY0tt#X<{KAr#MW@71VNuUj4IZ&3KD+${$@r8tHyc
zJh4YQ<W3UT?vcK9*H50l2bD$8%7#BwY9B#C90f-oC}6l$_e3{bcg-g{iuXR3oF|gg
z5<f?E${jJ@-qYJ7fAsr6SSpp3t71Ccj!!<5?wruYT>A|5->20tqouH9(Wt(X?qp2V
z%)gY`@R`*6WXsqzlrh@7hM^AS0*k{H0g1HcWK&W>I(hPWQcG%asuyV}Ej(2p8*Rg>
zWTKJWrxu7?E=%oC+r(v;rT0&F7SCLg$eFM43DT`Iucl^{5aGja@w%qiDet0xILUB}
z()E(kZt`&!-AYX*$A<>-*hT5`hfS+?Kmojz@<%VfC{;PTF1#($%6l(q&)KJ>Ytim=
zbE2Z+f5#i_^WI;7!s?nwgBC_d6t%k9f`||PBTfG5CTU#M<Lj4+`0}qspLptO;zr=j
zXs^PBDPg_rPmKA$86&&lt>ArcP7(RxJ`o@PT=ekAu|$;aN!hoP#i{qCMYo?pHxJ%k
z-Ryn5j>|v)OXRSKk6}S;4k|i3s8774{Ux%I;&I?7Dd$cf@z0;66L)?V7v7Z)l<pG0
zER{yxtuL08N-y0tMcyl=Z?5nG>MxO6&8kxA=H0F&N=p2xg?Rf;(U6~>Bck)RwC`SK
z)XdxTS)|#C$X7Jsv|erW_}kLsdmY8R+fv(~TZun-i!47|E0exOzTX-Vaf?Taf7Dcb
z@U_(EQCIP+uZtXyE)h~y8vFRG#!qetLTBY;BsBlyiIM3ieu=Dsk8iT@ni=gFruh~Q
zzeHw3qm8LWjz4;f;xFr^8-F&7eT)}{#=?<!u*g4ezfzECjO>nuR82~J+BWi%8G~BT
z5l0f1$%gesQ=g{djh-y6@^>Voq!Rxc@!V@`Cz2tg*V<zwwR)d_q3iThM!dycIc@FF
zq)Sr&X+-Fof4-OfiqZZ_ugLDVvy|g>6xwS)gP=vP$%6>->dvpFYvL2-iSE=yd?wHl
z`wh$g%aQaBFuGCk2$9SXW4a9oPI!M3mi{L=72@n)*ju|M$zN3@b%y1AO0U9LdJk41
z7WPa799|{3_)_mL&T4$agtB`%JaU#j*x;rZIrOJ=1HIbPeOD0u5m^4^+?oZN_VNG?
ziM6H$!!K3C$N5We=Z_c7ns8b}^eZSqH}9ze&7+BU0JvOQN}o)W&+F3*G=nW@)wugh
zABi~zdPnLazE?Dz0Fmg2dmAOcAfW@I`|;U+#B^jS#vat+-C=#*??0=l21uWxjfGK%
zabK56V-{AU4^8_VFoQ=2t>hWpo;)A8<*kn!_o0XzxY8b_jrM<9pg9%D&bde3-wqT$
zbyl+znATDHdcc2ahxH(%#hl9Y(Tg4#<Ibb*9e`+tU9DfH_0w-O1U~iD9ieY<(ZkV7
zC3po8JaaI>1qr{eq=h5KB2($(;^*Zvl}Jl*+XVS>C6XiVdrr1gCb44f1leAhq>3}2
zlU<cbhWOri`P<6mEIC=cCydC1G?KekA$cT0K39bdCH>_3RY@a~T->`Vsa=WGmdDp1
zV`HB=hbG%k;BF`-pWY2&Y2aSVB;Tw-609xyA~QH_WlI7p?$5Kd)R#f`;dlX<a}H0b
zh0)EGBQE+;R<PtLytD89a^MU*i7Mz>R;OILg_>Ti<~ItYt*HytjLT}q0abTV`875D
zZaEzc_>0O#)qkv-9;oU%<<h}=hAZ6aPYnjxqB<^6wW#V~z+eMjRr%|xuA=I;d4ZnK
zQuSC>zq&NQUsv^1R$DPtL5Bls#z+5!zN~Ul4P2+3Uog&{C4mZqak>QkRGy@!A0ut0
zbJa)%TU5P7)x%Z2Ajs7KQ&qiM<yFe%4=m@`LQP*&^;p$^%Muc)ES3Xm#;hfBUKHs;
z`pOrgNPUu2TpC4&S0u5;J!+FbNzGkr>5?S3--*I!iP(Yb*UCfcl4eOkzN$um|E~It
zQT=YOmAAvMc96e`1?->?RgDm@Fk<yC`EFfOukq?#f)IFkGwv#TM?>p5j~iB6@1<IS
z_(vtVbv&6K*7z;u*{qSgE1qOnXFYsMzm0*Xj_E0eEc|2it_&jkhh7PGo;!C)R$)%c
zVC<q#we-Cjo)U4fyzlLfTQHp1Es(K0hRtXa$e>?lTFhnCQZjNic#T4@Q5EH33FHN`
zMZS<g#*vP4^LnH<sVMiVM_Pz4tdbYiBXz}ttK`?~kqnY3e_W3&6u(<7_pVPG#va9!
z0PWu52y`#-h+U{b=BvmQkFJ&v)hF4JD=-Fl01iiOA8Hm$a=ea=(k`8gQ;dG@h}Twy
z5kt1ib{*+YTFYPR$iVPRbCe_Q)opUCL?q_~lCNx&S0<7rBtx#5L`KKFhj(?DiHFLw
z&k3Vli+;{sUi?ZD8CjuA8{C|qqL&c*gLxQGF74gK=MO8Fe{_?a+JM}vQG0oygSYTx
zPUD0Zr=*b&G}iE!102gn;ce73!O>0q8V1sVCLldb&A)}K1I_Qn<p*BoeQrZc%p_jk
zg?YWWdGi+CQ|@+;A*1w8pfB{_Ax3#@Q!;?`k`Fc|S>%a~uckDV8#N<S#Q9cvZ8Oq`
zG@-0ZxE-&!jrNEod2*BH<au$-OY+9%*d2!A<ITzIgbb0hGsxf=!(wG58!AtK>PT)_
zB%jP6x3q1V2!S`Hc%dc~M7NcTT97oI2>Pif9Crv|O=%71j3;hYHlFZQG&Vee-c^tv
zw;**$m>k`bq{g(cD&eQ$<6n9$Q6}n>7iCjR5+@#9P&^fy)E$lug}2f92T+Z1@iFB)
zB=k~R5N(h*wj%n}NI2kjp)s-xHAz&FbNTqTB9>5OUY2r~8_`()r4>nSHe``f;fgy<
zh4<&<PT*J-{1f|_zKFq)(nt|s&MWTTn(PrtmVEzN(j<E20;TLDW#rYyR+U?1k_jYL
zUYAM!s5xaK3gTNiP6U`$1B)(O-rk0E7k^2S@3tZJs(h1*+1iiL;c`@4?2-LQ7iiX}
z(C<w~=2-$Q{b;s4xGhPEc{o?8uIcwoQyn?-ine5X-Sa3CtcZT$qO3yKc)4FY(wYpD
z^V*SyRhz@F)P)Ks&XSL`BT4ndWI>?M(*94~iJD)Lz*Ask-t&Q)Q{_kPFe&}#C>1aJ
zmZ`XOmfW&E*%?;@jZ&W6=vNnP^C}8C_|~H4k2&&#_N248bB_E>2a*<NMTF8K+-|00
zV+&r>RT@b%e~z5nfuxdw@*5q<kor$@@j~lov_&0pZ=d^E*N3ktzF+6cksZmx*fDTY
z>RT7AuM6tyBX8-5>VD6Wzwb!WI+WncvZedWs(bTuCB#RRE(v~=Q<l3lkh>ST%44it
zqZw{##&#mnn8kUWh>b+azjq>u;x{wocmo+IZki!m3?xRJGoyH!fkamn{Zr)4-AFwW
zS^R!C5-yTx`CJduHse|>oyJ`CO*)<ANvI;{#lWGj-2Q3~D?T~ZkXt%YZrKx~;g*N>
zByYqVLk=A*{~HnbA|S!Oz(mE$RgC1MSTR=WTw%4f@aCZj6j!DH;HP|gy_#P!kS%Od
z)0L5?vZGx7o^olIny#dlXVW<2tU|Hs5NrUOhJ$cQ&DW>_*fh;QujXT`DL-tQ=6|N<
z<BFmD@aay1@Qvy~Z-VI$o2G;JgPLDW$rXeLYMKTYF^0+3Cn^b!5u2t_$yb3f4mN>J
z(=w52K8;9!%BSPhe0uoPpK@vW>po;mMkCcJI8No$dNsd#AcmlqU&tcOt({aHY&)CA
zqpr|R&8Krsf6C8ymYPp}=?~j?+LWPceoZBpPh(A31>d#6-~@-ie0oZ`3d*Nvm&-4o
zUZmy+*9V`*mRP1b1V?~P(-|pL^MkWfKK)v`{PO9|YJPC`xU`(mk5sKO?sI+&#>s8^
zk+j5j)RMs|E1!1Di~Et-VIP&NpnUp<njc)iv(>4%t@7Z`d!(j&sQEYK`!sx~uLF$>
z7B{Ks4ApIknhvgRd~B=yILeiCmMeEz9@C%1HuRJ$?o-n()G*1OK=sw-&bx`us-{}2
znm+te$yC$rR82Q7<sH;?(TzZqp#L6q)fpInTBeJdW;rd>UFBAzYS7g{3k*=x<@uJY
zfeHt!`N4{xQ`5s$9c<`GH9eZ)G;fTW9v{&1Tob8nrJIdr=BSx-%N3fhrWdN3ZeHr2
zr>0*~b+A#})yBT6@?fKutLc?IuPdxl!5UQu1IZq_(E!rG8cc6d^S77t+ouk{@ypP(
z&`NizetT3MY{)yR|3Jo{*73IL=TbF2M8K`WK@}9MI@q8MYER!)IbHj-k`LAN`Evdr
ztLclX4mRkLn*OYu|5YW8Q{`H@jGJoOqv~LwZ`3q9g|xBXtK6$<%4nHVHGNOj^o*sw
zeyFDZLp8n72YdWj&0s60f&Nsva4Rqclqro;(;8LN;8eoZbTw56<43CLnhftwGow`y
zr)niQcpWvJz!aeVIyIdf^q289rdX>wr9u-GH)o2`kS)p=1EYMWI@7Hge_G8Rm1nA)
z`qDbus_72Azf~}(psT8b4eF_;d#gIwzbrM~U)8~Z+N@SQQ02i*Ib2Pb=c5!}R}jpq
zL-5KzQB6;g!-tTbHEnMnoPhS1{b&cvV~3ELR#Uye#0E3;egChfi~A2H#FV1V3e@`F
z=~anQ;l6hRel~g44w4pLk{(F9<r6zdbE44L+8&j9q61ylHx77t<ixi~^Qgb812<?X
z@rL&Te!eu-U)8h#b?9YM9dv31f~tKj0tJMY0j+Ny&?TyNs9LWNaF<+TC#fH0P>btT
zT~?1xt;eEfnEqisZZ*C(BT$c49<z(Y)^@7lv`qroqmGA-W~bG5tJx+sTc>JAAlsv6
zyVcIQRPChM&1=}&1cI7X?ULW5*r_HRs&>n_fE&7lUaBrXawY0WdX&10&AW+{$Z>m#
zQO@2=j%55g7*8}q{C*q60-@=f<wOsj2r<+A;?8fAi^Tftn5TYUIiZXdVeC^s73vqX
z|GzXXf9SsuCXSU0NDI-xw4e(@9Vw$a7>shts0159^UDj(3$mbHzML?&ZYUTVP$?ic
zbdh9hx5-caN#$fb(v-JUrF{NBN&j8kzbR+sD*uOt${P1K0l9eP^Zy#(8tCcYInK_R
zHD%@`-SjCr6K0K>F3ipuF9>1yn$GH}csV*Pps5{{KU6#D6XaB1fQ-q_QEq+bJ^$2S
zCRR34&VGI7Q~!S@ufUh)#aN#Dw?e4h6?%?pmoIk{oK~9q!c+ei2+h9;ZGD1&hR=HH
z-vB9Jh!!Z%g6S{e|4)Sam-h?CfVP%p)<k9H9celN-%gx4<9}Z+&i*H5F#l}uLrkGu
z*uS9i18M_G&=?8A`cu2LT1Ly1?F+wP10G?7r%%E95ynjy#^(r@9N`7LU=q6KKlN9#
zF2z6pKSW1^p!`pH0sXnE|7lF?KXv@C{C-8{|3)J^E(ypX#@+}!pGgOO7;RMw&VW;Y
z)iLA0FHlwy6U6@jy=K$YKK(bWyidm^QGYGCHm`W-AyP-QzU{#3Q>D!c?4QD?{^pQ<
z%dssWqae2mp897%?!WrfzX(Dgh4!cZ8jy|4p869ZZ@==?p8+}k@>73j$Oq`*Bt`_-
z<)vgjwg&zw%jgW-@cL7K7<9}g1l{=5|HX!Yetj((1WABwT!Ts>Z%a@8>mkD-9U=HN
zHvci|uS(x_PyJLrm2oYCEP@<=?Ww;L<oFwC=o^`sSX4;IaWHfS3ck1cssH3EI6)3#
z;;Hm^J@t2hG=xM$h)dpag!Hgh#2eqw4*#E%yyB<+D8yU?VeP1+PyIb0;~{GxQSU;(
z`?T&~Dvx?E(3pzF#V;Qvn>5xY__}v#SU{?&_7i-~hqC3Wrgj$WCThAG^xbL!pJPn<
zV4VLAZB;6IQw=g*)mhL_AUD)>d}N?98u(+i;=ik8CgT^(&-icrOT(;cPgSQ4RZ%Hq
zBqW~NRs8<F5XzQA)1YIZ+d~M12LCub)VSrasUKTu(5AfC%!yNGPRW@s^c&Mpz}J;~
z)~JD7I&DB)ux&Nu18#CqGF8wPPdq{HO|#CA5rlPSQLsVZgg9Y)pudCch3$hr5GM#O
z*ly@EkkhbBpudNlqdw4m>j=Wfuuaf^#0!E4wvZqQTOmH!F6i@+N3ctvZ$qA#MZ9~2
zQMVq>>M^3AgHDH3gsq3pgoMF1K+ml&2-RTQpfBn00v5Ih`u8M3NP$g%p)MU_fUSrA
z5n_bxgRb5{5C+56Lho%P2=idOpg(Jjr}R7|JdIHiKGkwiC+Itn4X}OCk<IW)2j$Rl
z5FczEbRy&-Y(4Zr$RpTp=yuJ~fw5>bbR;Gr3bqzH4KM3bVC$hXsZbv)3?rmH5+>*&
zt<VG54(J-KQFsC>gB}ZsgKdGH|BN8S!?r=U%M^qruno|=Agy4#prhL$4s0Ft3`jTF
z7U-jpEZA=7^tO0QGZ+ayjA@XO)Ct<yP7ub!HbIv_EU>9=*<KJ9!Ztv^53#{^Ll5g9
z2+Lucp+D$|k)s^?dMCUBfbD^<(G8;nTL*nJ3u}n-EW9P@*bno7gaP^?!~<LCF9@p#
z3c_93PUzLySS-|r?lepgv=iYEy$cc#+XdZhG<pPE5B&tv9=2e{-($ch(OIy~(1nok
zupQ75uM5KDiFiw<h2hzVo*{$kkxr}wS^#>?RzcVX+XB6EJ9<D1L$}+39>6w0H-8Hq
zfUSqt?m;ZrRQKPDH38cMJr@!-2~!5$=xzAH)<bu*;-5GqOwiQUQ77ozkaXBS=m(Hi
zu!VhCSddKETIeW9d)PYYIS>PE8}v>WdJNkI{dy4w0k#wRb4U(s547PRIt<%NjggRL
zNSL7;AHrP1)<ZWwjJc#X^yOk~9oQb|kB?v^V3$C@{VqlVwhKDpJ**elI_S+14{RrN
zr(@VPuno{xA&+2tpsOCIZ^<U3H^;F*Ar)bpp?`ve!S+F?zmJ~6)<c^i@ze*p1d;-q
z>i<BRz!pA0&mpZ~o1njf7+`y#*SiJ51ltL{6_O3x<+ch!F%lz@a6^9rF~cr_9(MwZ
z1-1n`4`PAsfZhhlf$f5R44DU8IEiV5*kJ3RS3~k(JE4z29I)Ncn@$PB8p@&DpT=ox
zMZy4M@fjSkupQ9#J`@BuY#p=*at=1tcOhTE_CZ%TD+o7WYoX&I9_kO>1o9nhJ@g=m
z7q%ICD&#I~3-mmQ54H{3x)lFBM8W|rK_0<&LT`mUf$f4Wf(TR41L&6LF-@=y(0x9_
zN``HM?s5T(m)g){K1M@eTcBTtWWshpyZ?<|!=}3VCzz@!IREu9ERbwk09t~KhwX&^
zH)J~O66gnzd9a0xSeOtSY&~>G$THXlsv*l^JD}f$tby%<{syuRwhy{t35FfE9{O|%
z=6@#=B}gP+!m6ej&~qWjVB4VofSiUcT*k%bQ!G5#rqA#x8pI3R3_THY7q$g@6~qVI
z3H>?b5o{0i{?9RrQ_&#k%2%+!VQZ~0{17b?!c{>y4$;AOLl6H#5cIIk(9N%77-8$7
zn|_5On%dCuUt__-)<G}+1`89m1Nymdu>fJ4p*w$v1qj;&{loXz(y)Edv3D^4JCV@A
zxCl80y9B!PLo7O40J<iA%gRH2pf^LFz;;4^4XHQ{J%j!TzXPU)T>_mIL4*|8Cg{Tu
zJ#07hsp>>9P#@^Vkwh2_TOWy!!_7#HM}q1i$aGo&`UYekY!9@#1`!rgALtv9HIzfQ
zuSo<aYy<RT$WGWoEh0359E7cho&`Aq+Xg*2iU@AlX6VC^kEh}Mcf*(-O@z;oVS#=P
z@*Qj^bWscu?!tCMKZ-?<r=x;6BK!)8qIPW};LB!0I&2fPy$&je?SP(Bmk61#ZP5Ag
z`0WJBp?5+|uwBr*tqEuqO+ep=m|+X`h)@MG9<~;`CuA~g6ZF>*3v4}pd8jpHA#4Nm
zAczgN8G0ThWjrc|UI)>^c0!+o9KlUW33S~gB4m%n`LBa96;cgO7U*9g%aI`@<NL3W
zk+3b$V^UBVwV}O`HL!iq(^Jtn%Aws51L9D9tpOSe?twm=MuffNP%-ok$Z6Of=%3Rt
z|Lc(OA@K(!54M1>mehen!PY@HhiGBzp*um=z&1elfh>b<f}RTbj5Y$=3MqkYgI))D
zNP7=`1oDJ74*DWQPe&r%N`&i3*vx1V^cRg#7#SYu=8cKqf~|+12iXbR2E7Gx4z>&W
z62wjYp({4QS6)$p7P>xUJZv3wH^_9@Cg{<S$*|4Pzc(Y;fAnsrIVyuJM1~%E1tc9k
zb3mVkRD@ju-B6E3h@R=8w?pE=UC<vu1lVrq$P5fIe6-MEEzoOfL%#sIOGgEI86+EZ
zIiRiU@XtsjoX|TV4jL5t2*d;KhCT;bP8$LJIphm)5A?T?bFh8T4<K&XLQ5i4fSiV{
zh3*3>fsJo|3G*PW=qN((gqX+R{CC0l0OF)QfW82+(aNBkKZ65>_87W<CWaA(P0&*z
zX82g3H$X<hc0xC5gPy_GL-&M?hi!r$4Vetv47~v2MT2b6E8AfHzeB=-#Ae6_8VGt1
zWFc%9^aqfS;p2wB067M`1o}71;Ul!gh(JDr?SaPEu>=onH}plw4eAg514MxBgSNMa
zAAB5E7;7O$B%II(Aepo<^z$8X!ojvcuj`1Bpgzze4QMC=nW3NUf?WgK0DS`DgHH)`
z#jZry23rgLeK%}BjG_-Zr8~Ad)|?)C0K}RDCo_y2kVmjR(DQm?eh}0Koq#_U;DD`z
zPKDfsj~@D3Z_FjQ2U?qj1q++%49Il&7@$`|OyCaaCVkOK*!X2|q4^+8H=Wi&q?^zV
z2_G^H(0w3}V4I*vL&9L2p*KO|U^}6YLCmn-(03pQ$BXhG?Zi#;41*XZuWv7A%Ngy(
zC^@2om@aqdAg+<mcMwO)yV{HK#hp8fVT1^Bk4|E8@r+KQT&2RWsLgWa-eO_{`glhl
z>*ymNeWat0a`cIeKE~0<H~QFS$dLQ>76(=llHmu@Cl~MTEsl*ClCuZB*(wU>-o$!P
zf0l#Uwqb-A7Qa^%)`9u9g#0qWc5WAiIFt|mWPz2)W3t6qs~1`H=b@^_9f5RBRX0#|
zM^z71^;lKUQuWKK-k|COsy?aeE2{RYT6{~X$12ne7(z2ucTx3lRZms5P1Ucfdbg_I
zSM_JA_NrRk8R$risvD@fo2s)EjT<zx3Z|=ij;ixiy;{}#RP9!EiK>54b#QQ>sOd_(
z0u2aqt(vZ<>LyfYA-BB>daHV{s?DmNtm;{+Ua0CkRWDcdYx02Mm{FISJfiB8s{UBj
z*HrzTs_&`#k*dYrfp%9@b)2e`RNX|?&#2m<>a2ja3PV+3R&{UyrmE?eRP9i;vz*@n
zHGQ%i|7S}TGx|TYR{z;jMg7A6%v$|tOO@6y{Ew_v#Qg_LwE?YP_<v)q_WnP&R*TP%
z5{oNF&JemjKX}aSX?-Wm=rL=;gktMhaV;s<ju*cta_xy?Y_;H5IZXIUNAcpJ<TN=v
zSqu}&qvG(XVt6IeMy_QMlf{xaS^uI~PabL!v#jno`ezSxLSSDG!1vN@mFPEMf+P>b
z!;x(uK8{=jaYI6-9w1f1kw*B^nU5pSftajS*kVh8gb0@G0C92T6i5k2z6SAegdnP}
zIvXb)M9+~PAf{y8M1@+N3uNG&9DgBuKx~n0=r2G#T9(}BNVADkrcXe>Iz#Y*jW7xK
zQi4#WD*acesr(!GX8=XD1UchHF`@69Na$;^QSX7+@Hi7{Z-Z*^!9z-j3<mL)l?v9}
zOMZKnSl_%4nc5gO<Yf?79hUqI;;G9Lf|2D(Ef8%2>yxSwxyfv?Ufi>=`JX%xeO+bE
zS=Ye!;0ZI-<ZU2MJP?P-dmyg5EV&IrpG8AH^)O8yZs~Rdp)ce^K5u|%>#^j%6^Op6
z4>|S5T+;XTA+iO;&5=hShWf0}K+LyR$CBM3`b3sI1u<}BKn;w32{(mvYG4&67B9&W
ztC1)@?v_LCxQ8rlOL<GK*h<tUD#O?Bb*vW)*X`4PA@@K`oKGB9gj>hPwt;Aq<Zg2i
zyQF?#YT}|W?3~wV5J!EsoC`$9#lHF%@)U%=XbANrH5y~XMRrh97Fk)Ra_n3&jX32_
zbH$#u+)aYzgKK!XJbIp(OdK>nnXHu8Ly4BAa=&?E9r=s7Vja<$uJog;fI+5D)1mrX
zgV1N~5E%!eZ^#k{^$8Mr<2<pcsBNzVtaOn&x0ZeLFj&rpfx-G6%o%i7mU~1j2AP}N
z27e))Kzw)?6Kcr#zYsf!fg8R9e<9cZ1>{a*13dt7azq=4W^;ksfOxp-{{`aUx-kpH
zB_}QrTZ<(vWW!uBNnWr(Oc~+9Yot)KPr=KF7Y8BoDM$$y`#+R$vBPU)r0{woR4NI?
zBmYio)3u=^o0Mw6(|E{XA{@-ESuzKtM4tO1ikP}8lhJP{b;8qPsMxz8HttZlMtwN)
z5QIMThDue%QK)Yt*I6jGigMs7Hk8v4IfnM~SmfZ#gm1ni*0)Xqa&QB_9z+|@7CQrC
z;>ZIK9Y+#z+IqONtuKgBwmInHS_EQymW{l+A&?WVVM1*@L<4a{^%;m+FaK*17Oq=e
zxFjAchntmX5Fgi(Oc44KEfjksh==oe6U4>EIRv8RO8pz8q^wk6muI{rrit#xft9uJ
zB{2nG2*7wIH?VQR+TtYVNk0&CL;222=#0Lrth0(qqAgDDW<}Z%SO}W$;p3DyTCq0F
z@$zRh%hxJURTG<-5~Y2EJ)q~~kT-3R$J@kK6>J*>x$|7Hc9k*s{~S!o!8+I|zi$(>
zYuPrkMT$_wCpTOy4yzz+3S6lxT?Er^l6Nk~+HlD?7mKYcIJXA!;;Q1R;n^CDFnaWi
zF;iw@C2f;?FG1VP+hp4kbVI*g-iCAq{f<Df*fF%&Tft&<1<;R>OXSF<;;;s~J#5Av
zWH>o;0mQIZUa?fnuHe}lh-j^(LnGg23r2&OInoG(erOk(_MRa6eJmMGOL1ftNC`)l
zfC&59Qk!FdOdL7^;*sCT6I<iVzm$hF-6{V{Q!bjSyGmct`T#C&7aOMvE~l1vSds$b
z;7B_V;Q;G16vW993kd!6Fx1nRX`DkW*<=Os9A?p85Fbb01JM?<KIcJn9Jvaj=g4gk
zGe`adV&O<^k`+6EL(P)VMvi2GI5{#7#Kn;XAa0Jl24XnMHrfSZdY2`qlY}(E^d5`8
zg_GqNOa1_H9Fy<8jJ4}NuCBED^ySj~tlP677LN1>adKob2>m!TG$V^a=!c>qvIRuX
zk>el+j(k2E$iX4{w#&tlDk+#pj<g2RyV=T~11aIiLh5ru)-A)%6;8@Smx-q<m`*Fl
zMxxx&E~Zp42U9Q8lqHz@gr=OqRLrY5^Gf7)ui~7*$6EB%NtD+B)^a{(8*mrZdE^Ul
zOEvw;X8eW>cNv*6cGmO>I8#dG)B;4*`vcR^FftWu%+Hpq58~!XBM^_g73D-TQ7)yL
zNecQC$ZD&=UIA9ncokXlI*rGXogfws>vI6a$&ur<R3+BuV-O*XC0|m~E1X5&0+~2+
z4}|_5#nAeA1Y)bo60re%s>zR+D@SwlLYy)#c~GHvTh!N3`Wu@K4@22)LGWg?r#yRw
zm~5q=<psizp8ou}X=s$Cj7*x4GhyZ&d_-PG=8l`K%tTxnK>=YpDhMkhGbYR!XPJ*P
zBSgkbM{LXkK3ojcHF4tf+}V=_L1!&<8Z-9!S-2(%>1AY`TFg;K=FY-5k>O)J9h~&p
zQzp&CH<N{BWj^@M^2~8FEW)}nGHXI0P<9!iO@s@+095vD3^aQJ>UWkoA&}yPk3rQ|
z&$i&}&^Z&8&q6~}G8et~mh}ulg(V>8%1TYN<mRCBf}xC1pXKn`Nk3o>1(Jatl?9rp
zb~dxD7zTfQE?P~$kf2W4gjus@K98+m<})Ve`6)E~7i9$9P^Qepl5vw~VLO4~;{^H^
zgtl=uiW$qCXplG2pm}9vbnZ-Lh1kl-M7*J)e!k+X4zXbc;*rT3T-|cyXV-{DVpuo%
z?i%s2XiJg3YsDmTPOkbIu(pQmeof5AUm~b2V^bQmvPl-b#9Z8Fop@ZV<*SIbgqR`?
zEKF*F&(({=-w-nhIal0ngNR?!wxr0tH;PX3NG{zdF2cte#Zxzlg9%ps2b;x3WS!i>
zDfT4U#raOWG!lgx#nZRo!IPMZ=WnIO1&zFHn>dwtiyv$gKc&Ua?hvn%BgLEF5{D2n
zx%k(e;t4`@a`A3#rOe{%yYZMrY{lVk)6!wu;<$Zc7qmhvkK8XF5VN(i)+Jsc^W-00
z;%!n=eCZu=J`wd=IjabbTqgfigon6gDRRw&s8lO2Iw%e!&f=>F#avMoD$4ze#nZ%B
zT<eH9P9*N)x$n|}+$q0#T>OLVEZ+FOIEj!<S>r}*r~I>9Tq#c07TZpU6Y*!J<R4F>
ziOb}wr^KFOx>g>13Jsc^B8Qz8ACs`+3TJ5lzL2keh$@Y8##xM(Q7gO7imj|>9I&Kp
zm`#(ggf;BIj|8z`ax0Yi%mNWmDn#-@Oy<B;1*S^^@pWZ=c7V_?%Y{lE1+iGOSoATF
zFpecZf_MhA<WCUy43<RV{18U7)wic7N`2O61c(iXTB!O3Af}O47Oey_aJ}C^o$zQE
zDz=XX8qbmsXsNC&DFN|dH-<`m58~)|c!D37q`(MO!0t2+#`mg1PBB1E+|-9idk{-H
zOR_+8jagy_arI=$91zC>mb?Pu#DNitydFf4Qf0p~h#)}pF*@XQ7R11js~{!ySf9Hf
z9<DNBDw>$h`b2>Eny@4h#6r7)@mB}rSs*RfkLN(>CwQR-O#sp9STYyHz%9n*v{WMN
zvkAn~fhGGW$)p7J2j=4(kc$g+g*xHj3srvy#59p5VOUZ&JX(i*bRYs|J49N5xVUNU
z2cjLS_*m8I%|I4zU~?&H$p(6r22xrbZ1e^YA8HCioq=u~261*_OML`l!n1LxK^_pj
zI%UdlALDQ6(PFs3hn&K2Ep?k%QWr!&B2ZDFvW6hGvi&k>`h*GeQtDAI3&93u!bgXj
zfKcQCAoLrk3Ze5a2or!xxHirO@fp}+D?sR1enWxY1ThR?$q^cd8?#Fw7H;K#2cmyA
zSW2n?4<Hv8C<zCQj+@t(AO_SO8tNV(PVPh-3}WWC>kR5MH&_|%>KaPSWur*ze-p?(
zk99gq$tae53{o<jC0~PhwDgW7IMjEkPaoFjPZ|f6g~lufchBa=A%gnT=?!)F5E6to
zlmynNx~!f9i7T6F)F_MxaW-K~<$}-;-$RwH0r4rXs)9}20#agNeDKu`x#uUi{d^xe
zTBc$6jwgt#KI1Fg1`)U&NpQ+)7qUKD5JN|nq=9%Evg8>M-)xp-S%I8QSu`9(=)@9w
zgXPh&WHI$=%aU~<Zf;g~(NcX`pCcd^?m+nDdCY@{+qU1p$-(W&M<80R`Wke*;U}~v
z8-ti}feg(-4-mskEEx%+GqPl=MaUK$T&rKCp}8&b28f<plkd<#scaxOh^3YwR6^mv
z5%ICysRXn8BQiXlS=T>69Nbl+)(dFqNY*C}MBAJt&r&jwB|Smh16VSalCCUSWCaqq
z({(L~E{1j52I7ik$w`nnZd5LU&<}$`!+Q(Fz#Re)K|BW5r^2jctT%3L*O`T4y;!Hl
z^3qEfs4mFRaW#wp!I{EL@@!hTYS|HjyaEs{bT}k1?r(s&(%1^zASUi?yb5CBw)q1q
zkggG1OvFB+zh4mQay*EKTL{f5na28<KuS8WWC4f`uSi32UZVtSIz)EPrrUrUmiMU>
zMl|G90;0oZC`7&mad0#D8;Eu+>r){IL&Hr$42X|gfK797J7DG}yfd8WFS3Lx8w%pi
zVhMhYQ7{i<$$StkS86qgiMuJ;24X-nLy?bzSbYOo^f8d51xvmK@o>lPZy+{orcj`$
zTo7){r-FF6)9o1$7k9-S1fsW2VFQf=a^Tt+3cUb?{?bQ?yaM9mZre7{Qru=c0AlOM
zmO24q;7+$oAm(Y9|4?WjP&SgG<E<)+xVYo34v3x`*j6Bx3^vXn5c6o3Oa^gtt7-v=
zPpdqI2e(ijb!x*FlRz9jSh5?Wgsc8Eh>hELSEvs+Wp}9$8br5hV7vYag3TdVLnmh#
zZX2{*u>=s)7`FPBAcih1=|M>?_5>aUV&V4G3=n!!hemoah=)!Y#$RpGCLrNO)~N`@
z#GMUiL7d#3gO`@VPv{_e4C3PARKu-~j~k(uAUa&zncMM!Kn?{38#E2X(uZx36-3}J
zWXnNJ*{qKfgnqLiG_LzV%-rtyfR-AflnUOCUjUlNExqq)G446%F^G#>)f(LAYPlxX
z1o3d^U<!zn8^ufzgSyMq+wtB&I_{ofBuL3~Y|rSMH50c!7Sd9B)~5i(z*WBmM9W=d
z4}s`gs-@`s3&I5;Cyv<A`uq*V$A#8lEOgx5*9CEM=XnzlLjv2N-juXq$!L(0e+7wB
z{|i7`Y>3eMTtbU+7Z3V;>xP7UHXv2P?G6`6dPVm9I193lo7Nj3mZY*cwEl-cS{yy0
z(3P-$OBS*u3WUG2O$O0%L!AlY;nw+3keytErhvGHha#i?#k5%K5W*WmN=C3`D~NU?
zOOAoKI<n+55FG|KG>K0@4BXYE7CL2Nk1wl`4rJ!;^jm{yxmFuNJayR0MuM2Q>Suyj
zxD{gqF>?!c9f*_bs&yB2;;w-wK|BN4%Dx7%^k&H;O1S+}c@bu^F6&bt#8aCkZ9v?y
zEE!}4vT@sNEQp1>PR|B0b36DI5P`e@Sr6hG$%ftzVi?PkA`tfomYi6G`S);l)R$<W
z(X7)g5FK|7BroBt<W_YY2>l7YZfXo-L1m%UFbL!euG9-J;r_?XonLl1IlHmdZvruK
zKKrQ8c-H3}NJ$n;u7L=cq|l!F0YpEGC67R?woxpqO2>m+u{sbRyJCe*5DT|F2ZHF@
zv2n(NxVYPvc_0F}&R(U&+LbM~0mu{2k`o{{?)<s|V&HDA9)q}tv85tx2>lF8QbBxy
zOO7%nc)1O-OoO7KyPfVpB~#gA6F~%SsON!rl31TY5bYS2I6)jbmb?REj$z3MAifmL
ze`toTQ^Z~0?t$pJv*8cwGoK9<xfnw|nI&l;dTs}`12K(eeX^-fD~x}r`k6q!hOE<K
z5c+%7A)nPC=58!;g4ooHDP8OMO+66Pi>%Kj5Etk3J%|(c(ainNZ$Kqn@57fMPy!n$
z9fUqsg&NeI67-B#O$EPw2x8)nuNfdVGwYKFLf!GdN)Hy3fqWg=(0f2U+}s}padN|W
z0mQ)F+1&<lC9-iIfjGDY8@CiICa~{<_dgART<BJ4G4=wn)MW#W0x>sd$qW$s+DZ&`
z2meYSPHygZQXlRZeh<W_c1*qh`3UG7_aJr!#5IDg%nM>}$C5umbliPITpp_DPLxI<
z0=I@bfjEMfX^cO9rUALRrMCpc#jSjq2Fhit-v#1KVafX-+Hm&f^AgBB_z)DPql761
zF_lGD>c0nM<CayWe1vYyhE4*}n_2QKh?~1C^#NJNjp76lfjdugKzyMqC#^pp=!k}$
z`}H7ZZZGTuvCUwscY}B<u%)hoXuGjK4?$cREUEM|A~U-K^(O%d-0tiOVt9cqHUz{u
zlqI<!x*;qn1hI`_$z~7-_q?zlL}0sN6+Q!UbBm~y1{%Z$dP)OzW=WM-FpSMuQWwO~
zi6zZJJSLX(0kPF%iFFu7Q&=<&q@+Ge3TPnC=XDTgPu6EQh=IFy90M_Nm!<O{6)^yz
zyM(W-KmvFFQwpNzmW;3r>w}x=SP+5Rih2-N6ShHJK}trlWEhB^8|j(LF#jdVtWzE>
zW@O1a5DRzLwjadFReu^phsQItQr%{^s1LUq?o%JGK~I<A`e)$gqlO(r%`L_Z5K|8}
z^bint5=*9n7}#Yc*g(wVSf4c@4(=e@0b+H9_9EK;4v>jEWKL1ig$;BS#MhoBUJyNZ
z?RW~J?alhsd=;a}-NL7WIIUb|nLuW)ST7J$LpIP<>ciauya=M@cE@TE!(6sh5r~7k
zE_?{0r`O-GvN`(<$iyv1FNllVRKHUnZgWNyV9K)C%922Q6Is#@#K~QRhJpxvxci^+
z)M*l1Y!--)JDBsR54Slt(Lht#QtyD6vsv;9h%1gIH$f~0?*8Xz8Yq)>dIDnL`a%B>
z7-sH3)q^<dvZZ=}_~^Y2!UZll*&yykELjS&j$SDympM6rO1Mksb`TF&*<lbHw;IlX
zm`1R70Hu_0ar~6X{k`~FalJweUmDwz43M1~b`=<@PcPPIB#4U}hgl%HXILLQNE{Bg
z&}!NPqU9QU+6v_6X74KyfxC>9f|PJqF+T|XBRHV}t-S)(b6YS2#Mhnm=?r2?Vad=H
zSna-<ELsRB6L%=Aq=Ck=K3iy@(JXlf#MYN3XFv?xk#rrz&8>pFE3n#4c-Il?haXNZ
zt{-(*qF5)^r!k0@+m!7n;f|z1AOd&6o&e&T!N!>jVs&uKX*Ey@H?LbjEZi_2q(0od
zo&*uvu%T~&XuGoHA@#xIMX0M!L7Y}@In;2VvYxC{8YNuMGC^$I(Q2YT|6)sx2XS!K
z&!s-xNG}5k3&;FdLc>G|{tyq4mJ4(Ug#O8=P^&)#aWrGe*C6znnZ^jjsjv!@$PIop
zh^_|vNpT8@#mJp@EvVD8Y-j_Bo@>xxkTCpmIw`AcEJ#TPTWU6lfosrW5a&YHXFUjg
zxz9Z9?FO<XuujK7Jm`982VVrSaGUdc5HrrK&<OnsqBpW6d^MWL9piOC+%w^W@mB{e
z1IWOwh8`e7b2iXW5IuK}PXe)wV||uT!j;+tqDy3bTp*dsZ8_=>%-IPba}w)x8N|)4
z{BJ>Q{Ph4tH-#;wm2iH<vZMiszCTMkg7^Yg%rLe30dnb2`0Q~ka_HB=LZdks#Km3Q
z3qTxPmp6jwFqxrJ2S7}8e9MOSBM{pFmfWO-JFy>Hfy^9AScA~qS<?i>sb>Rq1u=6c
z)F=>rAJ*r25X*3u<b%*}3WS=tWesK{jN2uL;p7;}I-LVCcVWrbAUf_mDg|+NWqpLT
z7;!F64G<l7W;Ixg-RRP>#d^Yt{)N9#8^?moD|?_DJ$l}_(YU3hKjDzTQkn}NgPAS0
z0>r|N;${$SBi83#5cFTmJPUkE191n!Pat}(*i#VttrS{yp!(?7l#gVX2Bm@MxbbKY
zV&)FoLDa{}ovUMkXwO3rCl(M(F5Bu?K-}Cct_N`?vp%~(%=K7ul$PRdkuHJgb?85>
zFwl>$fIJOY@&|~H3lt&4hwE7qhy{Zm8jnsOF3x8Fh^+}5c`S&bBE~;-)a3yAo@Je0
zrp35Hdz}*QE^-HmhwIsC5SM|Ca|J|~!IFm{J{%F+Q15H3!w%NUF~5lQtjVw)+}%Yc
zCENzf0@03UgN_5Cf9)?6b1sORJFD|)9Bwmj1ku-KOS!Bx&=3}#p~X6|<SK}*B};yy
zfjFN(K@8lTY2teHy9HaS9SFU94K;emdaMdvQx;8tlZ|Wj91st8Rel-7(vL0m28fn>
zEI0^K!j0=`5F2;?UR_U51@2kuE}Zn^+0f$a7$ID7L#?g@62~27%|J}ESRVt3g^SaN
z#^EkGqd~0Zxook;K<;)dc^$+yn<cwI99-|+ASTY|A_)C#Hq_|vL4-Oi`31yh9mk@I
zZ(z{4%UL{#nY-YpgV>t0rFzm*F)VqG67CXZ0WokJ-VUNq;7)~gK+CJL_ap~FJX~Kd
zg6OzL-vse-)!zp(rLheP-+=EraMzJ~AYbs`NN5g3|F&yr&^mxP2C-xih^;G2rhxcb
zv1B2LFqS3DLCo9)ZKH9p$rD1A9ihdzUH)&m*KfFS_y!r4+HAb1ATDmbRo{rh%~+pg
z5W^yt^r1f71!fFL3D>S15LYT&YKaxd&F!tNAm-_;(;*NWx85#L(uwuC2_kTF>7#Mt
zS)WRquqd8kN&QV&B5n=4C|bcu;AW*W2o|YO1roTx^aF8qU;|A8v2jZv2PCr=`;cG*
zF->4gZQO(-!pSZ7y)=-Cbvg;+=*5zoASK)c{RW~dySYF+h3cEpd#*u=Aa3q7>;PhQ
zb54DM3|t$hg4nvV)z7DaxHY*JM8^&O7LX`3BlL)L6vUOo#`ze;Y2~WF3FOFRoqhpH
z=O(Cv6UBzJJ~1G!ESBg%Y}|#X1xN`u_XZHpEGt{AKaim<OD2MtaA<^X3SI)yah0tE
zad2cih^HMJ=KzSCyK<kVr6yzkLwoc~ppyA)v0p$e+-j)sCPH)DKMKT_$d+md;^Rsg
zKn&Te&ma&ju7u2E+$4%#WSwjv4(_gP6^NU=sO+MIn~wKDEXiz~Pe4rEIe#6*L6<Pb
zUm09MxKEw9o>kt0&|HIRgJ|orp<96Hxi!=o#KdjR!5}5A*-|q=9O;yxei2Q;-%th8
zzQ8(d0TH;nwj&_s1lH#Z5W_T<{0GD~f?YAXtte$+eVT%l1STl>p<Op1-9Xl97|3L<
zXR|>}+zu`P@o^`?n;;HuzwD<z+{*tD#5^-lm-?aI_Y`r5%&#CO?qIIE4MSarZDKr#
zj~i+|h@&Cv(+7n9gq{V)fmo)fK6L)^hmwFiJ=kI^L0sG#-a&oFus$b1oX@i45{P9X
zOTGdTxCQ$F#MC|Lqtst<JLZEsKI1@~ZGuj;iLF5BPpBW=LG(>npW)PpI|*ihSTyYQ
zWdVpGRH`CMtdej2DMnk5a4pzL{gT<}he7npq7AOuPe6PVSfB4e+?<cN12u3<BnrgY
zo-LIMV&T6&(ULl~V4Zq{xVUT87!U(@>o5nz*MKdx5=6`0^lbuhv}AqugXj&Ii3(_{
z2oZ!6K+cIQxeDSL$?mJ~XfYgNp;EunQVUoT{ub6X*NqfPus=hkGC{PN+)3OGi2gQq
z$mw4o!fE!y-)SIvZW!$#mg#IMCndvJvIoS#9jR^*4}TJ01~Ls~i`@Y+a(5HLPWW(F
z;Ybh{w;CFQ7`V$|XApO2^`TEgs1IGUbSDG`e-e<uU99GV;D7hRjK`}W=2(_EK}_6^
zEv9j}-k%0>&0tGi0dXiB4fO}A{|RWFhTSudK|GV#VpVrxrnx)P+8}0bU^75$Tob#4
zlvvm}&w*$I`!0AAPX*F<W}W6yG9XAsKR;9X!yA*iUzL*JgT=tS2G|Ya<ZdQD0CBt&
zj00!k5+x}C5<H24Y}}>#cMuadXjONkA6(B;Kpfn>wxvFCY-PPb4BP=a9K<$Q^-)ej
zVJ1*kHMSqGf|$9jxF5vH?dg*sUheq12%_bVom(Kj-fV+>Ao}S+qSP<$!TKyibcmur
z9M1=xC}~K2X0xOXh>mMeUl1*~^2dRgxHt<zETJ7l>wg7^F2c|uzm+=uud41fHi{|=
z;P~J|TN9K`ga}gFu|^*9aEd%iC9tin6cxHEuM)7sLo5PekpcoGyCGDffn*U)QA6A>
zU@%aYmlcGviHVPf(2WU(5FcY|j2Z)DkbnsW|F^r_J*P>({Cdv0Gxy#(a~nc;xg6{w
za)-8EL|kUWUP97p!~TqzuY8@`h_AX{;ZZhqW4<!umq2l~(hd@%>*X6!4U%q>vIx1V
zE@+jh<7O@|bBSA!M48Omk9cy<qSi?hlsy+@(z=YOL(vaNxL6kQk+f>4{f{wxwTu~x
zq(@4bj3iWVh|Y#Qb#iJ%+}`Gpo9YPSKPwBhnyg2q>_gc2Rsr9c+c<)xZ5h*vSgKid
zN1>E@UVlQus>$3kF-i*B5p@KbfOx8TS0c%&a`+m=QSX;m+gX2im<-xMP-vx;{fMm|
z#ZQrh+UK1}aDvRbjD*$N|B3jkWz4;H-hbu~?BzGwpyL#pEu{=`wo93Tq(@6xgZRUx
zv?6w2_hj0wkBqo7<`@!9t8Mi))TAD&D@afkx`o8meH12{#WAw<Xe9Nrlu9IBA*BIH
zMAf$10L9duy@R;wQ9Ot^Ps&24kdS(Je2K(W*Sl&&E!j;|X9Me>pZvlT46n{DrASB>
znuH{tmszt-7MEyteP-t`Lp-&q&0i(5)G1*H;@j%{vj>XgUJS(Z87C%foE+>35>gwj
z8;RA)m>wjxK+3;}t2Xt6C#k$t{U$mJvbV{!X^6K_N*&^=M`$S$QH$7&q->eB7m3f3
za?r$>i)Q|_lXeD5Pn1Djh^waY7sOs8W2{pQ|AdrMB&<$N<w#0hbhXLq?VgOES+nI(
zP<6d+h&4x+eisSPlyVetUYF8|_)0D#o?81Jla<*qx%1CICP-a%!D$A2T$V0F{8yw*
zLhLP479;KpQr04gxl(o^k?bKQd;WRfkUAtCMndZDFCuA27V1V~YBT<ZB-EpL)6}V#
zS^dvY=cTNe_2<u=Lay3G<B{YFnHEA)>h2esLTbs@BJq(jYrlzkM#?8htnbv+JN^a8
zl+HiFzay3!>_5bPLlzqJ8HH5ywvjslc}S^1{0%beImCOaPt5p>q14zuLe`r!S4t}q
zR+E1KiA<C+NyJib#cz;0bx65}_~M1f_<uv*Vp*uLgF<SsVMf%tjz&Dys-H%JYRAk+
z+-6yM6%uO{616r%Y1Pl)GHGhkJ}@zA_)|zi4c3KN;?DSxF2q?N2D5G;ev_2wT}c0W
zQ1UtVF+~PdAn{dF<{(aP4>K;GlY>~bGNu{vCP~?e*y_d(M4_N+4u_4XZFSnDscGy&
z{AyYHnu$?a*AYvdBm!rdMb%LTpEdhWl^#V<SZ%B6h!c^6%|$%bbeAB0jf{B>iKypg
zD-u)tEPj^vU${i3B?ubKH5KulY0T%4_;eZb72=mkxrTVE>E1v>56hT>bHu2V#Bd}U
zTq}ddK_T_rS0O3&TW~$%EX!q8tz22vynbEPoxYaBm0JzOge!9~M%Ey8syFOJ{HU7P
z_n?RhI*PdKWub1w9x9~=iBFYs9SN)V{XG*?EMtOS&|$~3{*0HM>QX4NLP`Y^R_nS5
zv6XBzS!xmYAhFG|j`_^Av@4|(ab~LX&lSjgMn(RD{xE6k1#=fks>5gSeC8jD?(e$|
z8%b`GbtWPyl~s#`TGaVxo=KZ0)0QDlgOp~I_NJ7#k+A9(hmeW^atohC5-R39#5HdL
z^ZaG@`3)#oDN7e#U>YBjQjFNDSC%7@=`yAkNso}S1c|9;wH0xC8ye$hhTjLdVVQQ!
zq%D_n9!aX>*N;f?KzXmXk+5pjgF3k&)#An?UQ2J~-1(;-a@9&VnV=bR_!h*fma-Q~
zPL}d960enV8i}lvatTRi7dm_X`4w{1+TTLFX)>+oBHL4Sf?<faK*p3KiASWEzdxCH
zQA)kZnxB;@x5R%?gW@3>v<Y$D%;IDgXtzn5DP!7@lsYvXM;soXeD~}`EVc8$MeM!>
zD(A=6_fUF_Ed3XfERixWWg_`%JF)$~;r(jbMhyv+_S@JoYe=BAsH0~@z#h<cX+&UX
oNB_qHyBZ$QA4RacB`~Grp~lA5>mrT%C+9y5v{$wrDh-VPAJSaWaR2}S

delta 47088
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

diff --git a/lib/native/windows/jndirectshow.dll b/lib/native/windows/jndirectshow.dll
index 3326eec6925c12f6feb090d8b69682b4c8f543a3..594fcdb4dc4b0e0e438b45e3f634daddbc4e631f 100644
GIT binary patch
delta 54521
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

delta 54329
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
Z+pD~|Zhmdi&f+z#8~<>_h+I*h{{fj&Wn2IN

diff --git a/src/native/windows/directshow/DSCaptureDevice.cpp b/src/native/windows/directshow/DSCaptureDevice.cpp
index 2ee47577..d88899c8 100644
--- a/src/native/windows/directshow/DSCaptureDevice.cpp
+++ b/src/native/windows/directshow/DSCaptureDevice.cpp
@@ -63,6 +63,26 @@ STDMETHODIMP_(ULONG) DSGrabberCallback::Release()
     return 1;
 }
 
+static void
+_DeleteMediaType(AM_MEDIA_TYPE *mt)
+{
+    if (mt)
+    {
+        if (mt->cbFormat && mt->pbFormat)
+        {
+            ::CoTaskMemFree((LPVOID) mt->pbFormat);
+            mt->cbFormat = 0;
+            mt->pbFormat = NULL;
+        }
+        if (mt->pUnk)
+        {
+            mt->pUnk->Release();
+            mt->pUnk = NULL;
+        }
+        ::CoTaskMemFree(mt);
+    }
+}
+
 DSCaptureDevice::DSCaptureDevice(const WCHAR* name)
 {
     if(name)
@@ -124,84 +144,89 @@ const WCHAR* DSCaptureDevice::getName() const
     return m_name;
 }
 
-bool DSCaptureDevice::setFormat(const DSFormat& format)
+HRESULT DSCaptureDevice::setFormat(const DSFormat& format)
 {
-    HRESULT ret;
+    HRESULT hr;
     IAMStreamConfig* streamConfig = NULL;
-    AM_MEDIA_TYPE* mediaType = NULL;
 
     /* get the right interface to change capture settings */
-    ret = m_captureGraphBuilder->FindInterface(&PIN_CATEGORY_CAPTURE, &MEDIATYPE_Video,
-        m_srcFilter, IID_IAMStreamConfig, (void**)&streamConfig);
-
-    if(!FAILED(ret))
+    hr
+        = m_captureGraphBuilder->FindInterface(
+                &PIN_CATEGORY_CAPTURE,
+                &MEDIATYPE_Video,
+                m_srcFilter,
+                IID_IAMStreamConfig,
+                (void**) &streamConfig);
+    if(SUCCEEDED(hr))
     {
-        size_t bitCount = 0;
         int nb = 0;
         int size = 0;
-        BYTE* allocBytes = NULL;
-        AM_MEDIA_TYPE* mt;
-        bool found = false;
+        AM_MEDIA_TYPE* mediaType = NULL;
+        size_t bitCount = 0;
 
-        streamConfig->GetNumberOfCapabilities(&nb, &size);
-        allocBytes = new BYTE[size];
- 
-        for(int i = 0 ; i < nb ; i++)
+        hr = streamConfig->GetNumberOfCapabilities(&nb, &size);
+        if (SUCCEEDED(hr) && nb)
         {
-            if(streamConfig->GetStreamCaps(i, &mt, allocBytes) == S_OK)
-            {
-                VIDEOINFOHEADER* hdr = (VIDEOINFOHEADER*)mt->pbFormat;
+            BYTE* scc = new BYTE[size];
 
-                if(hdr)
+            if (scc)
+            {
+                for (int i = 0 ; i < nb ; i++)
                 {
-                    if((long)format.height == hdr->bmiHeader.biHeight && 
-                        (long)format.width == hdr->bmiHeader.biWidth)
+                    AM_MEDIA_TYPE* mt;
+
+                    if (streamConfig->GetStreamCaps(i, &mt, scc) == S_OK)
                     {
-                        mediaType = mt;
-                        if(format.pixelFormat == MEDIASUBTYPE_ARGB32.Data1 || 
-                            format.pixelFormat == MEDIASUBTYPE_RGB32.Data1)
-                        {
-                            bitCount = 32;
-                        }
-                        else if(format.pixelFormat == MEDIASUBTYPE_RGB24.Data1)
+                        VIDEOINFOHEADER* hdr = (VIDEOINFOHEADER*) mt->pbFormat;
+
+                        if (hdr
+                                && ((long) format.height
+                                        == hdr->bmiHeader.biHeight)
+                                && ((long) format.width
+                                        == hdr->bmiHeader.biWidth))
                         {
-                            bitCount = 24;
+                            mediaType = mt;
+                            if ((format.pixelFormat
+                                        == MEDIASUBTYPE_ARGB32.Data1)
+                                    || (format.pixelFormat
+                                            == MEDIASUBTYPE_RGB32.Data1))
+                                bitCount = 32;
+                            else if (format.pixelFormat
+                                    == MEDIASUBTYPE_RGB24.Data1)
+                                bitCount = 24;
+                            else
+                                bitCount = hdr->bmiHeader.biBitCount;
+                            break;
                         }
                         else
-                        {
-                            bitCount = hdr->bmiHeader.biBitCount;
-                        }
-
-                        found = true;
-                        break;
+                            _DeleteMediaType(mt);
                     }
                 }
+
+                delete[] scc;
             }
+            else
+                hr = E_OUTOFMEMORY;
         }
 
-        if(found)
+        if (mediaType)
         {
-            ret = streamConfig->SetFormat(mediaType);
-
-            if(FAILED(ret))
-            {
-                fprintf(stderr, "Failed to set format\n");
-                fflush(stderr);
-            }
-            else
+            hr = streamConfig->SetFormat(mediaType);
+            if (SUCCEEDED(hr))
             {
                 m_bitPerPixel = bitCount;
                 m_format = format;
                 m_format.mediaType = mediaType->subtype;
             }
+            _DeleteMediaType(mediaType);
         }
-        
-        delete allocBytes;
+        else if (SUCCEEDED(hr))
+            hr = E_FAIL;
 
         streamConfig->Release();
     }
 
-    return !FAILED(ret);
+    return hr;
 }
 
 DSGrabberCallback* DSCaptureDevice::getCallback()
@@ -215,7 +240,7 @@ void DSCaptureDevice::setCallback(DSGrabberCallback* callback)
     m_sampleGrabber->SetCallback(callback, 0);
 }
 
-bool DSCaptureDevice::initDevice(IMoniker* moniker)
+HRESULT DSCaptureDevice::initDevice(IMoniker* moniker)
 {
     HRESULT ret = 0;
 
@@ -338,7 +363,7 @@ bool DSCaptureDevice::initDevice(IMoniker* moniker)
         videoControl->Release();
     }
 
-    return setFormat(m_formats.front());
+    return S_OK;
 }
 
 void DSCaptureDevice::initSupportedFormats()
@@ -416,14 +441,14 @@ bool DSCaptureDevice::buildGraph()
         return false;
 }
 
-bool DSCaptureDevice::start()
+HRESULT DSCaptureDevice::start()
 {
-    return m_graphController ? SUCCEEDED(m_graphController->Run()) : false;
+    return m_graphController ? m_graphController->Run() : E_FAIL;
 }
 
-bool DSCaptureDevice::stop()
+HRESULT DSCaptureDevice::stop()
 {
-    return m_graphController ? SUCCEEDED(m_graphController->Stop()) : false;
+    return m_graphController ? m_graphController->Stop() : E_FAIL;
 }
 
 DSFormat DSCaptureDevice::getFormat() const
diff --git a/src/native/windows/directshow/DSCaptureDevice.h b/src/native/windows/directshow/DSCaptureDevice.h
index 6af3ecbe..4c1f9830 100644
--- a/src/native/windows/directshow/DSCaptureDevice.h
+++ b/src/native/windows/directshow/DSCaptureDevice.h
@@ -109,18 +109,18 @@ public:
     /**
      * \brief Initialize the device.
      * \param moniker moniker of the capture device
-     * \return true if initialization succeed, false otherwise (in this
-     * case the capture device have to be deleted)
+     * \return S_OK or S_FALSE on success or an HRESULT value describing a
+     * failure
      */
-    bool initDevice(IMoniker* moniker);
+    HRESULT initDevice(IMoniker* moniker);
 
     /**
      * \brief Set video format.
      * \param format video format
-     * \return true if change is successful, false otherwise (format unsupported, ...)
-     * \note This method stop stream so you have to call start() after.
+     * \return S_OK or S_FALSE on success or an HRESULT value describing a
+     * failure
      */
-    bool setFormat(const DSFormat& format);
+    HRESULT setFormat(const DSFormat& format);
 
     /**
      * \brief Get list of supported formats.
@@ -149,15 +149,17 @@ public:
 
     /**
      * \brief Start capture device.
-     * \return false if problem, true otherwise
+     * \return S_OK or S_FALSE on success or an HRESULT value describing a
+     * failure
      */
-    bool start();
+    HRESULT start();
 
     /**
      * \brief Stop capture device.
-     * \return false if problem, true otherwise
+     * \return S_OK or S_FALSE on success or an HRESULT value describing a
+     * failure
      */
-    bool stop();
+    HRESULT stop();
 
     /**
      * \brief Get current format.
diff --git a/src/native/windows/directshow/DSManager.cpp b/src/native/windows/directshow/DSManager.cpp
index ad90c639..8624777d 100644
--- a/src/native/windows/directshow/DSManager.cpp
+++ b/src/native/windows/directshow/DSManager.cpp
@@ -18,6 +18,7 @@
 #include "DSManager.h"
 #include "DSCaptureDevice.h"
 #include <qedit.h>
+#include <stdio.h>
 
 DSManager::DSManager()
 {
@@ -74,15 +75,21 @@ void DSManager::initCaptureDevices()
     }
 
     /* get the available devices list */
-    ret = CoCreateInstance(CLSID_SystemDeviceEnum, NULL, CLSCTX_INPROC_SERVER,
-            IID_ICreateDevEnum, (void**)&devEnum);
-
+    ret
+        = CoCreateInstance(
+                CLSID_SystemDeviceEnum,
+                NULL,
+                CLSCTX_INPROC_SERVER,
+                IID_ICreateDevEnum,
+                (void**) &devEnum);
     if(FAILED(ret))
         return;
 
-    ret = devEnum->CreateClassEnumerator(CLSID_VideoInputDeviceCategory, 
-            &monikerEnum, 0);
-
+    ret
+        = devEnum->CreateClassEnumerator(
+                CLSID_VideoInputDeviceCategory,
+                &monikerEnum,
+                0);
     /* error or no devices */
     if(FAILED(ret) || ret == S_FALSE)
     {
@@ -119,7 +126,6 @@ void DSManager::initCaptureDevices()
         if(!FAILED(ret))
         {
             VariantInit(&name);
-
             ret = propertyBag->Read(L"FriendlyName", &name, 0);
             if(FAILED(ret))
             {
@@ -129,20 +135,15 @@ void DSManager::initCaptureDevices()
                 continue;
             }
 
-            /* create a new capture device */
+            /*
+             * Initialize a new DSCaptureDevice instance and add it to the list
+             * of DSCaptureDevice instances.
+             */
             captureDevice = new DSCaptureDevice(name.bstrVal);
-            /* wprintf(L"%ws\n", name.bstrVal); */
-
-            if(captureDevice && captureDevice->initDevice(moniker))
-            {
-                /* initialization success, add to the list */
+            if(captureDevice && SUCCEEDED(captureDevice->initDevice(moniker)))
                 m_devices.push_back(captureDevice);
-            }
             else
-            {
-                /* printf("failed to initialize device\n"); */
                 delete captureDevice;
-            }
 
             /* clean up */
             VariantClear(&name);
diff --git a/src/native/windows/directshow/org_jitsi_impl_neomedia_jmfext_media_protocol_directshow_DSCaptureDevice.cpp b/src/native/windows/directshow/org_jitsi_impl_neomedia_jmfext_media_protocol_directshow_DSCaptureDevice.cpp
index 6f7926bf..bd816232 100644
--- a/src/native/windows/directshow/org_jitsi_impl_neomedia_jmfext_media_protocol_directshow_DSCaptureDevice.cpp
+++ b/src/native/windows/directshow/org_jitsi_impl_neomedia_jmfext_media_protocol_directshow_DSCaptureDevice.cpp
@@ -351,46 +351,69 @@ JNIEXPORT void JNICALL Java_org_jitsi_impl_neomedia_jmfext_media_protocol_direct
  * \param ptr native pointer of DSCaptureDevice
  * \param format DSFormat to set
  */
-JNIEXPORT void JNICALL Java_org_jitsi_impl_neomedia_jmfext_media_protocol_directshow_DSCaptureDevice_setFormat
-  (JNIEnv* env, jobject obj, jlong ptr, jobject format)
+JNIEXPORT jint JNICALL
+Java_org_jitsi_impl_neomedia_jmfext_media_protocol_directshow_DSCaptureDevice_setFormat
+    (JNIEnv* env, jobject obj, jlong ptr, jobject format)
 {
-    DSCaptureDevice* dev = reinterpret_cast<DSCaptureDevice*>(ptr);
-    DSFormat fmt;
+    DSCaptureDevice* thiz = reinterpret_cast<DSCaptureDevice*>(ptr);
     jclass clazz = env->GetObjectClass(format);
+    HRESULT hr;
 
-    if(clazz)
+    if (clazz)
     {
-        jfieldID fieldH = env->GetFieldID(clazz, "height", "I");
-        jfieldID fieldW = env->GetFieldID(clazz, "width", "I");
-        jfieldID fieldF = env->GetFieldID(clazz, "pixelFormat", "J");
-        jlong f = env->GetLongField(format, fieldF);
-        jint w = env->GetIntField(format, fieldW);
-        jint h = env->GetIntField(format, fieldH);
-
-        fmt.width = w;
-        fmt.height = h;
-        fmt.pixelFormat = (unsigned long)f;
-
-        dev->setFormat(fmt);
+        jfieldID heightFieldID = env->GetFieldID(clazz, "height", "I");
+
+        if (heightFieldID)
+        {
+            jfieldID widthFieldID = env->GetFieldID(clazz, "width", "I");
+
+            if (widthFieldID)
+            {
+                jfieldID pixelFormatFieldID
+                    = env->GetFieldID(clazz, "pixelFormat", "J");
+
+                if (pixelFormatFieldID)
+                {
+                    DSFormat format_;
+
+                    format_.height = env->GetIntField(format, heightFieldID);
+                    format_.pixelFormat
+                        = (unsigned long)
+                            (env->GetLongField(format, pixelFormatFieldID));
+                    format_.width = env->GetIntField(format, widthFieldID);
+
+                    hr = thiz->setFormat(format_);
+                }
+                else
+                    hr = E_FAIL;
+            }
+            else
+                hr = E_FAIL;
+        }
+        else
+            hr = E_FAIL;
     }
+    else
+        hr = E_FAIL;
+    return hr;
 }
 
-JNIEXPORT void JNICALL
+JNIEXPORT jint JNICALL
 Java_org_jitsi_impl_neomedia_jmfext_media_protocol_directshow_DSCaptureDevice_start
     (JNIEnv *env, jobject obj, jlong ptr)
 {
     DSCaptureDevice *thiz = reinterpret_cast<DSCaptureDevice *>(ptr);
 
-    thiz->start();
+    return (jint) (thiz->start());
 }
 
-JNIEXPORT void JNICALL
+JNIEXPORT jint JNICALL
 Java_org_jitsi_impl_neomedia_jmfext_media_protocol_directshow_DSCaptureDevice_stop
     (JNIEnv *env, jobject obj, jlong ptr)
 {
     DSCaptureDevice *thiz = reinterpret_cast<DSCaptureDevice *>(ptr);
 
-    thiz->stop();
+    return (jint) (thiz->stop());
 }
 
 #ifdef __cplusplus
diff --git a/src/native/windows/directshow/org_jitsi_impl_neomedia_jmfext_media_protocol_directshow_DSCaptureDevice.h b/src/native/windows/directshow/org_jitsi_impl_neomedia_jmfext_media_protocol_directshow_DSCaptureDevice.h
index d0a90248..fba28a26 100644
--- a/src/native/windows/directshow/org_jitsi_impl_neomedia_jmfext_media_protocol_directshow_DSCaptureDevice.h
+++ b/src/native/windows/directshow/org_jitsi_impl_neomedia_jmfext_media_protocol_directshow_DSCaptureDevice.h
@@ -66,25 +66,25 @@ JNIEXPORT void JNICALL Java_org_jitsi_impl_neomedia_jmfext_media_protocol_direct
 /*
  * Class:     org_jitsi_impl_neomedia_jmfext_media_protocol_directshow_DSCaptureDevice
  * Method:    setFormat
- * Signature: (JLorg/jitsi/impl/neomedia/jmfext/media/protocol/directshow/DSFormat;)V
+ * Signature: (JLorg/jitsi/impl/neomedia/jmfext/media/protocol/directshow/DSFormat;)I
  */
-JNIEXPORT void JNICALL Java_org_jitsi_impl_neomedia_jmfext_media_protocol_directshow_DSCaptureDevice_setFormat
+JNIEXPORT jint JNICALL Java_org_jitsi_impl_neomedia_jmfext_media_protocol_directshow_DSCaptureDevice_setFormat
   (JNIEnv *, jobject, jlong, jobject);
 
 /*
  * Class:     org_jitsi_impl_neomedia_jmfext_media_protocol_directshow_DSCaptureDevice
  * Method:    start
- * Signature: (J)V
+ * Signature: (J)I
  */
-JNIEXPORT void JNICALL Java_org_jitsi_impl_neomedia_jmfext_media_protocol_directshow_DSCaptureDevice_start
+JNIEXPORT jint JNICALL Java_org_jitsi_impl_neomedia_jmfext_media_protocol_directshow_DSCaptureDevice_start
   (JNIEnv *, jobject, jlong);
 
 /*
  * Class:     org_jitsi_impl_neomedia_jmfext_media_protocol_directshow_DSCaptureDevice
  * Method:    stop
- * Signature: (J)V
+ * Signature: (J)I
  */
-JNIEXPORT void JNICALL Java_org_jitsi_impl_neomedia_jmfext_media_protocol_directshow_DSCaptureDevice_stop
+JNIEXPORT jint JNICALL Java_org_jitsi_impl_neomedia_jmfext_media_protocol_directshow_DSCaptureDevice_stop
   (JNIEnv *, jobject, jlong);
 
 #ifdef __cplusplus
diff --git a/src/org/jitsi/impl/neomedia/codec/video/AVFrameFormat.java b/src/org/jitsi/impl/neomedia/codec/video/AVFrameFormat.java
index 3df0d662..76ecce05 100644
--- a/src/org/jitsi/impl/neomedia/codec/video/AVFrameFormat.java
+++ b/src/org/jitsi/impl/neomedia/codec/video/AVFrameFormat.java
@@ -263,6 +263,12 @@ public boolean matches(Format format)
     @Override
     public String toString()
     {
-        return super.toString() + ", pixFmt= " + pixFmt;
+        StringBuilder s = new StringBuilder(super.toString());
+
+        if (pixFmt != NOT_SPECIFIED)
+            s.append(", pixFmt= ").append(pixFmt);
+        if (deviceSystemPixFmt != NOT_SPECIFIED)
+            s.append(", deviceSystemPixFmt= ").append(deviceSystemPixFmt);
+        return s.toString();
     }
 }
diff --git a/src/org/jitsi/impl/neomedia/device/DeviceSystem.java b/src/org/jitsi/impl/neomedia/device/DeviceSystem.java
index f59fc39a..c55361e9 100644
--- a/src/org/jitsi/impl/neomedia/device/DeviceSystem.java
+++ b/src/org/jitsi/impl/neomedia/device/DeviceSystem.java
@@ -281,9 +281,9 @@ private static void initializeDeviceSystems(String[] classNames)
                     {
                         if (t instanceof ThreadDeath)
                             throw (ThreadDeath) t;
-                        else if (logger.isDebugEnabled())
+                        else
                         {
-                            logger.debug(
+                            logger.warn(
                                     "Failed to initialize " + className,
                                     t);
                         }
@@ -311,9 +311,9 @@ else if (logger.isDebugEnabled())
                     {
                         if (t instanceof ThreadDeath)
                             throw (ThreadDeath) t;
-                        else if (logger.isDebugEnabled())
+                        else
                         {
-                            logger.debug(
+                            logger.warn(
                                     "Failed to reinitialize " + className,
                                     t);
                         }
diff --git a/src/org/jitsi/impl/neomedia/device/DirectShowSystem.java b/src/org/jitsi/impl/neomedia/device/DirectShowSystem.java
index 9d2205e6..a58e8922 100644
--- a/src/org/jitsi/impl/neomedia/device/DirectShowSystem.java
+++ b/src/org/jitsi/impl/neomedia/device/DirectShowSystem.java
@@ -6,6 +6,8 @@
  */
 package org.jitsi.impl.neomedia.device;
 
+import java.util.*;
+
 import javax.media.*;
 
 import org.jitsi.impl.neomedia.*;
@@ -66,47 +68,60 @@ protected void doInitialize()
                     i++)
             {
                 DSCaptureDevice device = devices[i];
-                long pixelFormat = device.getFormat().getPixelFormat();
-                int ffmpegPixFmt
-                    = (int) DataSource.getFFmpegPixFmt(pixelFormat);
-                Format format = null;
+                DSFormat[] dsFormats = device.getSupportedFormats();
                 String name = device.getName();
 
-                if(ffmpegPixFmt != FFmpeg.PIX_FMT_NONE)
+                if (dsFormats.length == 0)
+                {
+                    logger.warn(
+                            "Camera '" + name
+                                + "' reported no supported formats.");
+                    continue;
+                }
+
+                List<Format> formats
+                    = new ArrayList<Format>(dsFormats.length);
+
+                for (DSFormat dsFormat : dsFormats)
                 {
-                    format = new AVFrameFormat(ffmpegPixFmt, (int) pixelFormat);
+                    long pixelFormat = dsFormat.getPixelFormat();
+                    int ffmpegPixFmt
+                        = (int) DataSource.getFFmpegPixFmt(pixelFormat);
+
+                    if (ffmpegPixFmt != FFmpeg.PIX_FMT_NONE)
+                    {
+                        Format format
+                            = new AVFrameFormat(
+                                    ffmpegPixFmt,
+                                    (int) pixelFormat);
+
+                        if (!formats.contains(format))
+                            formats.add(format);
+                    }
                 }
-                else
+                if (formats.isEmpty())
                 {
                     logger.warn(
-                            "No support for this webcam: " + name + "(format "
-                                + pixelFormat + " not supported)");
+                            "No support for the formats of camera '" + name
+                                + "': " + Arrays.toString(dsFormats));
                     continue;
                 }
 
+                Format[] formatsArray
+                    = formats.toArray(new Format[formats.size()]);
+
                 if(logger.isInfoEnabled())
                 {
-                    for(DSFormat f : device.getSupportedFormats())
-                    {
-                        if(f.getWidth() != 0 && f.getHeight() != 0)
-                        {
-                            logger.info(
-                                    "Webcam available resolution for " + name
-                                        + ":" + f.getWidth() + "x"
-                                        + f.getHeight());
-                        }
-                    }
+                    logger.info(
+                            "Support for the formats of camera '" + name
+                                + "': " + Arrays.toString(formatsArray));
                 }
 
                 CaptureDeviceInfo cdi
                     = new CaptureDeviceInfo(
                             name,
-                            new MediaLocator(
-                                    LOCATOR_PROTOCOL + ':' + name),
-                            new Format[] { format });
-
-                if(logger.isInfoEnabled())
-                    logger.info("Found[" + i + "]: " + cdi.getName());
+                            new MediaLocator(LOCATOR_PROTOCOL + ':' + name),
+                            formatsArray);
 
                 CaptureDeviceManager.addDevice(cdi);
                 captureDeviceInfoIsAdded = true;
diff --git a/src/org/jitsi/impl/neomedia/jmfext/media/protocol/directshow/DSCaptureDevice.java b/src/org/jitsi/impl/neomedia/jmfext/media/protocol/directshow/DSCaptureDevice.java
index 4ded2837..631155e2 100644
--- a/src/org/jitsi/impl/neomedia/jmfext/media/protocol/directshow/DSCaptureDevice.java
+++ b/src/org/jitsi/impl/neomedia/jmfext/media/protocol/directshow/DSCaptureDevice.java
@@ -34,6 +34,10 @@ public static abstract class GrabberDelegate
      */
     private static final DSFormat EMPTY_FORMATS[] = new DSFormat[0];
 
+    public static final int S_FALSE = 1;
+
+    public static final int S_OK = 0;
+
     /**
      * Get bytes from <tt>buf</tt> native pointer and copy them
      * to <tt>ptr</tt> byte native pointer.
@@ -141,7 +145,7 @@ public String getName()
      */
     public DSFormat[] getSupportedFormats()
     {
-        DSFormat formats[] = getSupportedFormats(ptr);
+        DSFormat[] formats = getSupportedFormats(ptr);
 
         return (formats == null) ? EMPTY_FORMATS : formats;
     }
@@ -174,10 +178,13 @@ public void setDelegate(GrabberDelegate delegate)
      * Set format to use with this capture device.
      *
      * @param format format to set
+     * @return an <tt>HRESULT</tt> value indicating whether the specified
+     * <tt>format</tt> was successfully set or describing a failure
+     * 
      */
-    public void setFormat(DSFormat format)
+    public int setFormat(DSFormat format)
     {
-        setFormat(ptr, format);
+        return setFormat(ptr, format);
     }
 
     /**
@@ -185,20 +192,22 @@ public void setFormat(DSFormat format)
      *
      * @param ptr native pointer of <tt>DSCaptureDevice</tt>
      * @param format format to set
+     * @return an <tt>HRESULT</tt> value indicating whether the specified
+     * <tt>format</tt> was successfully set or describing a failure
      */
-    private native void setFormat(long ptr, DSFormat format);
+    private native int setFormat(long ptr, DSFormat format);
 
-    public void start()
+    public int start()
     {
-        start(ptr);
+        return start(ptr);
     }
 
-    private native void start(long ptr);
+    private native int start(long ptr);
 
-    public void stop()
+    public int stop()
     {
-        stop(ptr);
+        return stop(ptr);
     }
 
-    private native void stop(long ptr);
+    private native int stop(long ptr);
 }
diff --git a/src/org/jitsi/impl/neomedia/jmfext/media/protocol/directshow/DataSource.java b/src/org/jitsi/impl/neomedia/jmfext/media/protocol/directshow/DataSource.java
index 800c71aa..c26d6111 100644
--- a/src/org/jitsi/impl/neomedia/jmfext/media/protocol/directshow/DataSource.java
+++ b/src/org/jitsi/impl/neomedia/jmfext/media/protocol/directshow/DataSource.java
@@ -417,31 +417,10 @@ protected Format setFormat(
             int streamIndex,
             Format oldValue, Format newValue)
     {
-        if (newValue instanceof AVFrameFormat)
-        {
-            AVFrameFormat avFrameFormat = (AVFrameFormat) newValue;
-            long pixFmt = avFrameFormat.getDeviceSystemPixFmt();
-
-            if (pixFmt != -1)
-            {
-                Dimension size = avFrameFormat.getSize();
-
-                /*
-                 * We will set the native format in doStart() because a
-                 * connect-disconnect-connect sequence of the native capture
-                 * device may reorder its formats in a different way.
-                 * Consequently, in the absence of further calls to
-                 * setFormat() by JMF, a crash may occur later (typically,
-                 * during scaling) because of a wrong format.
-                 */
-                if (size != null)
-                {
-                    // This DataSource supports setFormat.
-                    return newValue;
-                }
-            }
-        }
-
-        return super.setFormat(streamIndex, oldValue, newValue);
+        // This DataSource supports setFormat.
+        return
+            DirectShowStream.isSupportedFormat(newValue)
+                ? newValue
+                : super.setFormat(streamIndex, oldValue, newValue);
     }
 }
diff --git a/src/org/jitsi/impl/neomedia/jmfext/media/protocol/directshow/DirectShowStream.java b/src/org/jitsi/impl/neomedia/jmfext/media/protocol/directshow/DirectShowStream.java
index f338b19e..03f34c6e 100644
--- a/src/org/jitsi/impl/neomedia/jmfext/media/protocol/directshow/DirectShowStream.java
+++ b/src/org/jitsi/impl/neomedia/jmfext/media/protocol/directshow/DirectShowStream.java
@@ -15,6 +15,7 @@
 
 import org.jitsi.impl.neomedia.codec.video.*;
 import org.jitsi.impl.neomedia.jmfext.media.protocol.*;
+import org.jitsi.util.*;
 
 /**
  * Implements a <tt>PushBufferStream</tt> using DirectShow.
@@ -25,6 +26,13 @@
 public class DirectShowStream
     extends AbstractPushBufferStream
 {
+    /**
+     * The <tt>Logger</tt> used by the <tt>DirectShowStream</tt> class and its
+     * instances to print out debugging information.
+     */
+    private static final Logger logger
+        = Logger.getLogger(DirectShowStream.class);
+
     /**
      * The indicator which determines whether {@link #grabber}
      * automatically drops late frames. If <tt>false</tt>, we have to drop them
@@ -132,30 +140,7 @@ private void connect()
         if (device == null)
             throw new IOException("device == null");
         else
-        {
-            Format format = getFormat();
-
-            if (format instanceof AVFrameFormat)
-            {
-                AVFrameFormat avFrameFormat = (AVFrameFormat) format;
-                Dimension size = avFrameFormat.getSize();
-
-                if (size == null)
-                    throw new IOException("format.size == null");
-                else
-                {
-                    device.setFormat(
-                            new DSFormat(
-                                    size.width, size.height,
-                                    avFrameFormat.getDeviceSystemPixFmt()));
-                    this.format = format;
-                }
-            }
-            else
-                throw new IOException("!(format instanceof AVFrameFormat)");
-
             device.setDelegate(grabber);
-        }
     }
 
     /**
@@ -198,6 +183,88 @@ protected Format doGetFormat()
         return (format == null) ? super.doGetFormat() : format;
     }
 
+    /**
+     * {@inheritDoc}
+     *
+     * Overrides the super implementation to enable setting the <tt>Format</tt>
+     * of this <tt>DirectShowStream</tt> after the <tt>DataSource</tt> which
+     * provides it has been connected.
+     */
+    @Override
+    protected Format doSetFormat(Format format)
+    {
+        if (isSupportedFormat(format))
+        {
+            if (device == null)
+                return format;
+            else
+            {
+                try
+                {
+                    setDeviceFormat(format);
+                }
+                catch (IOException ioe)
+                {
+                    logger.error(
+                            "Failed to set format on DirectShowStream: "
+                                + format,
+                            ioe);
+                    /*
+                     * Ignore the exception because the method is to report
+                     * failures by returning null (which will be achieved
+                     * outside the catch block).
+                     */
+                }
+                return format.matches(this.format) ? format : null;
+            }
+        }
+        else
+            return super.doSetFormat(format);
+    }
+
+    /**
+     * Determines whether a specific <tt>Format</tt> appears to be suitable for
+     * attempts to be set on <tt>DirectShowStream</tt> instances.
+     * <p>
+     * <b>Note</b>: If the method returns <tt>true</tt>, an actual attempt to
+     * set the specified <tt>format</tt> on an specific
+     * <tt>DirectShowStream</tt> instance may still fail but that will be
+     * because the finer-grained properties of the <tt>format</tt> are not
+     * supported by that <tt>DirectShowStream</tt> instance.
+     * </p>
+     *
+     * @param format the <tt>Format</tt> to be checked whether it appears to be
+     * suitable for attempts to be set on <tt>DirectShowStream</tt> instances
+     * @return <tt>true</tt> if the specified <tt>format</tt> appears to be
+     * suitable for attempts to be set on <tt>DirectShowStream</tt> instance;
+     * otherwise, <tt>false</tt>
+     */
+    static boolean isSupportedFormat(Format format)
+    {
+        if (format instanceof AVFrameFormat)
+        {
+            AVFrameFormat avFrameFormat = (AVFrameFormat) format;
+            long pixFmt = avFrameFormat.getDeviceSystemPixFmt();
+
+            if (pixFmt != -1)
+            {
+                Dimension size = avFrameFormat.getSize();
+
+                /*
+                 * We will set the native format in doStart() because a
+                 * connect-disconnect-connect sequence of the native capture
+                 * device may reorder its formats in a different way.
+                 * Consequently, in the absence of further calls to
+                 * setFormat() by JMF, a crash may occur later (typically,
+                 * during scaling) because of a wrong format.
+                 */
+                if (size != null)
+                    return true;
+            }
+        }
+        return false;
+    }
+
     /**
      * Process received frames from DirectShow capture device
      *
@@ -484,6 +551,55 @@ void setDevice(DSCaptureDevice device)
         }
     }
 
+    /**
+     * Sets a specific <tt>Format</tt> on the <tt>DSCaptureDevice</tt> of this
+     * instance.
+     *
+     * @param format the <tt>Format</tt> to set on the <tt>DSCaptureDevice</tt>
+     * of this instance
+     * @throws IOException if setting the specified <tt>format</tt> on the
+     * <tt>DSCaptureDevice</tt> of this instance fails
+     */
+    private void setDeviceFormat(Format format)
+        throws IOException
+    {
+        if (format == null)
+            throw new IOException("format == null");
+        else if (format instanceof AVFrameFormat)
+        {
+            AVFrameFormat avFrameFormat = (AVFrameFormat) format;
+            Dimension size = avFrameFormat.getSize();
+
+            if (size == null)
+                throw new IOException("format.size == null");
+            else
+            {
+                int hresult
+                    = device.setFormat(
+                            new DSFormat(
+                                    size.width, size.height,
+                                    avFrameFormat.getDeviceSystemPixFmt()));
+
+                switch (hresult)
+                {
+                case DSCaptureDevice.S_FALSE:
+                case DSCaptureDevice.S_OK:
+                    this.format = format;
+                    if (logger.isDebugEnabled())
+                    {
+                        logger.debug(
+                                "Set format on DirectShowStream: " + format);
+                    }
+                    break;
+                default:
+                    throwNewHResultException(hresult);
+                }
+            }
+        }
+        else
+            throw new IOException("!(format instanceof AVFrameFormat)");
+    }
+
     /**
      * Starts the transfer of media data from this <tt>PushBufferStream</tt>.
      *
@@ -500,6 +616,8 @@ public void start()
 
         try
         {
+            setDeviceFormat(getFormat());
+
             if(!automaticallyDropsLateVideoFrames)
             {
                 if (transferDataThread == null)
@@ -517,8 +635,7 @@ public void run()
                 }
             }
 
-            if (device != null)
-                device.start();
+            device.start();
 
             started = true;
         }
@@ -541,8 +658,7 @@ public void stop()
     {
         try
         {
-            if (device != null)
-                device.stop();
+            device.stop();
 
             transferDataThread = null;
 
@@ -570,4 +686,19 @@ public void stop()
             byteBufferPool.drain();
         }
     }
+
+    /**
+     * Throws a new <tt>IOException</tt> the detail message of which describes
+     * a specific <tt>HRESULT</tt> value indicating a failure.
+     *
+     * @param hresult the <tt>HRESUlT</tt> to be described by the detail message
+     * of the new <tt>IOException</tt> to be thrown
+     * @throws IOException
+     */
+    private void throwNewHResultException(int hresult)
+        throws IOException
+    {
+        throw new IOException(
+                "HRESULT 0x" + Long.toHexString(hresult & 0xffffffffL));
+    }
 }
-- 
GitLab