From e4af0b9f8fcc24ebb33f7a32e2acd2872666b8c7 Mon Sep 17 00:00:00 2001 From: AnilOsmanTur Date: Thu, 13 Sep 2018 14:05:01 +0300 Subject: [PATCH] stability issues fixed MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Argument exception handled. Co-Authored-By: alpyigit Co-Authored-By: Abdurrahman Akın Aktaş --- KinectRecorder/.vs/KinectRecorder/v14/.suo | Bin 0 -> 76288 bytes KinectRecorder/BodyIndexHandler.cs | 19 ++++++++- KinectRecorder/ColorHandler.cs | 34 +++++++++------ KinectRecorder/DepthHandler.cs | 5 ++- KinectRecorder/InfraredHandler.cs | 4 +- KinectRecorder/KinectRecorder.csproj | 14 ++++--- KinectRecorder/MainWindow.xaml | 2 - KinectRecorder/MainWindow.xaml.cs | 46 +++------------------ KinectRecorder/SkeletonHandler.cs | 21 ++++++---- KinectRecorder/UtilityClass.cs | 6 +-- KinectRecorder/packages.config | 2 +- 11 files changed, 76 insertions(+), 77 deletions(-) create mode 100644 KinectRecorder/.vs/KinectRecorder/v14/.suo diff --git a/KinectRecorder/.vs/KinectRecorder/v14/.suo b/KinectRecorder/.vs/KinectRecorder/v14/.suo new file mode 100644 index 0000000000000000000000000000000000000000..2d77ce7e187e6436e01ac863a777ab20496e85aa GIT binary patch literal 76288 zcmeHw3vgpsnWp6KICeLX4uni#L!yKx33N-AY+1HDbUJ$3?T+1k$nK{aN0zQ^*?Ks7 z_>pwaWFU|X;V}eulVt~nVZsbBEK6pWoh7?01A%3MVZv0w)YjD2)+|+Q)n?H@e%#{X$Cg!?S}EWdua z+tR7K-=RCV9I{w$z%}pv`sJ5j<|8ZM)c{eI15_V>!nim{AN&~9@S+Jt6Y2! z_d&jD@LE>zm$W1-QA-5%PoNBGwKO@LFIX0FFIS9fcDQE~`IApxTTE;Qx#ld(mNDd( zLteA^Re%$DzgFH%;;^N|s^__4vNaDM!_%%}jMw4#D;)yK%QD=IXWam{EAO++Hvwe) z{Wxbj2LaauZUMXj!1sw?9&f~v?_S37R=}G8w*hVk*Z_9`?gYFUa2W6wz+Hg50rvpj z3V0jf2*3wmnmZBvNIL)s0)_!2fRlhxz$w53fHA;0;51+YFbS9fOanrI8Ne*y4B#x_ z9N;|Q0^lMb47db%2Vf5HARq#m2SfoefC7jE766NY1YilU3`hb}fHWWjSOGi)$O1?w zc|ZZM3RnY>lgP~v10Dge9j@T`n}FW}{5Iff^8e4i^J9(w`;a-pZt(wKAm29stLQKB zlfEAyosjRz|KzpT6p!Tp-vE&R8Rt5jQ$AoE$^SfOe?a^)&g+ZM+x)*b`Ja8jJBw}g z7>@4-ya(_&;0eI*0Nx9D67W92`vD&Sd=T)vfDZwl0z3ow2;iRs{srJ^0Nejx;`mX( zzXJRo;Nt+^|3e%<0r&&JCjq?oERLT7{1M=f0iOnZ2Jl(Hp8!4wU_3oMhkJht__u(6 z2lyi3-vj;(@E-tQ0z41+j{v^+WgP!A;46SX2YeOqHNXpiuLJaH^ZZ-5_iey;iqF1_ z<6i<^EM7BCD~ERbH`o5H-rh!9oq)uUSLNR{WQ{cBju5UX2`j2B-U~Xf6)1l)&7+9K zW39OI+3(}zzZNfMk!KRpOa#)80+8~60*Q!{cK~-+EiQ{&zHB%i-GuzjHk8SnL(VCb zU<^mrzJTKb^0cG&{gy$C-_mRGsz>=o`4RbB--2650FBmPpMM%TGC#_0n+dNf;@^sw z8_oX&;)eH$+(N*8Ql$Yg^YN?mAI<}Le*!Y5oD)&PtPGA~{>+=9GDhVc%DYnjDsS%@ zH4L*5arrg9AOZ z7$w+470_3U9`n9UpTITe($&Id^gsUv ziP?$?GXD^ANT{O_#~=l|1CGQo)N>6_6aDCG@Abk z;=Z@o0Zc&qwgj!-0`iiwkH7@Ee~?+!40odb)RWu zta8{4|LO5>8CuNeSB~}cc(M+mmEs>6|_w+iQo}TqcD%rD= zRdPx?AIT>&tc7LWe=IzkQ?j|RH~sbJk`uX9BpnW9qJc*F2KJRV7;&nD8b%$kEGVdkB0PZyHO z`?gpGrnLFMaqNHmw|D*b*_o%FdHl=2eX7}%e$xMo-lzWb{bPT&|A(GiU)uNi8x5ge zdVOj*fB$ClC(XVSnY;_|7~tK2_W-Ktf2jL;3ZU2jP$%?Zz^edEuN_(k1NFw=ogV)| zGFuLMY;QTSO(f9D`ExAL1Lu*Qfa?L25xEX<0B{gM{(d#!H2{wH9CL33ycX~}0LMV; z`#BzRo!}P08vt(v{4>B-*Z+XidI3Iw9}oZp0mFb1z)8R;fSvjSfH8m`SChr-X&gg<8Ne)nWBXaaIly_q z1;9l>7$D!D!})`{Yk6P6y*OY2un0&1mH^9uBp?M~+)VNK5RO?u4v+^F0ILAbS=Ip? zfQJE(04@Xc>wk~pdImYHVE)Bf7gxNw22J^g^C78wbE?`cL^cU;gZ$Gh{j>ZsDe4$j zkhg-InLk(G8`Zrr4bHzvuQmY7fkWLu(eKkFVuW+*ylWCNSQI!Gy1!cUUGbLo%lXGX zT#{cJ&Hq0kZbwo7Q?LIeeb)-ipZVT_NR8(IVZ^q)Cnly z586kJtL>5~-W6|(Uk~!X2dB)NLI14U`8XaF#qW~7SI_}9!OS%aev(?~YN?3(lz-VL z+zMzk{}|$~7V*z~N%2|GT?8C93>r-0I#(*0&_q|0%8#M`>>J3d;>y!q~B|!zlzg(?-_B@<_W>mdatfc9xHSd=B zu>K-v@hk7wI!5tO_AC1N{y54)E)YF|0~|m-6g5&YV1;vWY6;45LjG?yf3_8635Lr4 zhco^t#y(?CBEIq0wu$^BNQANqgE4;}>Zzcn%joqoYW?fle_1K>ybVA+FwJ`59fjKji$o(ft3lF8^10|9{Wn<$uuYZ#Oait2z(jo}pfQ@%dgF|Bd}W=RaI~ zQ|K%@1aKwRpI7>xOw)1SU1;yw9`^>-_EY_|a#&Hpsw%Kq0#|HQX( zO|F(cWUK4{vL0JGHrxJN$;<5Bmd<~CSdyYy)f&F1s*}{8hF?)5avmsO6BbZ8iwzo7 zrz!v9W`?{pe)3Gp8VVz+Q{XVl*6A%Cb3G1)y|w_ zL`f^zMAQ*Ts5c_njR$)#UMxlo<+F+O!cki)hjq+kV*aS@3|2+)-f_3X$-kpEe<7JK zWR>G-rI61?l1FWmh52M6`hc=AlUY{M$L9wIBK^^Rk87yUtvCmVE*+JL>q~Jml3UD2 z=99|yallwc35lfDCUOL9&-oT z;~PK!lhfE;MooL`l-hw&R_yq)-0;{}e&YYWm8%K6U4DsEF=uyROd#hhW94NDrKOHu z2GEcH04}s~>@s9n59Iktzkf`|;!(;*Tw#i%)=B)4`vZ{teb5?=V2x%5`UEd(&s7+) zzH~3<00U|-AkTUcuUG9KxW2=5smc^3PN{kmRT-#06F+>uR@6bP>tt${=x#jAs5T(s zV!4H`L+He7>n^;&iPU{KkS^1vTrcX+yeo5-azCFk1OTG7^amC~t_(JYFOi1S0*6(- zFn6gY(XKNn38_7dnh2`UG_;Z?j$#~TTS;Bs@gj}%;~g*VvfrVMokX3zs5z~^6S(HQ zpEOZk`$qJ1tRH9BlSqkrLgr4)GPQ6;o`S+Mx_l^^)@ni~FR7{7hcDL8R92(Gh(TYTUUAI^MOHTEE`9Z&d%6L(zduOCmSfzU8P zYB5q&xvr8puvNtYXZOT3XITp>j@fgvg{Vy}=Pc%Bq&Z0qT8X&A+!#HHoOVKoTdU0^ zCz$aaSJlLtU$x$a^AwGDsS9qMK1bS5R`xkuvER#WR!i#Ak9u>c1$#pB9e*op%J$Rn zAlr|WO={#S$70ofbh~?le(-xA_&Wk_CzrD~P;kyOH+~23$3B3^d7Q;@?8To8<3|K< zavX`^O5?pdP!IFIj_Vv8x1|n+y=iq$e+|;1rMK7xl?BE)G83N?V-F(6UZxoH(ZP)8 zMenK6L}l-J6Y9!+F){S+93x`D%=%TM63R{<;F_aAKY)5@H>iTTX*Ztr0!SqRoRM+{ zF{1QiObFl|pZYWaI_uT79oJj;a@&!Dxyw%MbQXCyd20rOW25Y^H4F%D z;c7S6_iVtOw70OqmS-K<^uXssSY217WXh7I!37H9mdh+ss;HEc&E@0ja*~vt`;l)5 zG$&RrQ!2+&rikE-a&Ju7LTKiYIvl{%BfnYsh=u0xe?U3gAy2rYj&E6t;YIXarX zQ@@6-!(Zk72yOG&vo=DXSV<_-=hbaR{cMbyKL;cza;16umB+5%au1ejwbx}D_Vq#+ zE9kb7Hv7#|?RK-x&VbK2!=WB*7=PoCuY=HPQFll^db6!sKfU_x&Rqnp*xPE_F?lBR zZM3QsItr-^y|yI-YGpWcYJ>|GTc)k6$-0}X?Ox&e=K5?sch~3R)@j?yS-b;15UmlZ z+S!gwFGq;bGrBEan3oiOpBUi zj%AC01YijupHVZJ24ny$fQJBE+5cN>|Do({q%4iBDuVR?MtT4`8lr#JMJ8mlH5KcL z&G~;JeR4&y(fqkz<^x3rn1GIBtNvfeGhDN3G=J_Fqir37W^2MRn7*b22IPurHM?W+ zw(9>|zJ^9YL7ukB;-%fiZS~8j2Z_4<_<6&^`R_s6b zA;F&k=f*v7lw(|0dO*ynC97sXT1#@``k)IsnQ(E9cnR$*yjqs)Qn^+fMJ=>Fbedh6 z4LzO>Ps(G|e!t$HIw4^^yMjj9A$Kux#=%6e6)KL|&2-oGVHs#O53MTT%4vK&76EANr_fA!>ZfAiTFU-zlAH;h@n_x#V#J#puk zf}cC~gXlB=xK5D=A!Heh-}JR#f9dml>ggET^a7_^EV z01QFD>r?Fzc)X(SI~hk~(z-KIl#gk1SAcXNrDlB%+$c$T4cu7Ap%sGx-on^aM_4cxzDLT~IDd(PIWq`KMv{-P!R*0(w zV&{4#-5lR`th0A1FNe?-*DgmT{cg4Ojpg9DxnZ$^mL_4vR1YurZaZFRVj!r937(y1N~&9w>TF=`~(pR59#e$X~&BjnIm<5)fAdo7ov$HE2G9bkm+05hsP zz*xy0;Hq#3nA5ofw0DcWb5_fjt$|}s{5{g|a}Er7-M#ifpFd!C2Lm3v&*>Ys2fh9Q z|Inb%-8bmFa=F}npd*@Ffn&is`7b2$i-q}cF0qi7ZU!TT@UrTNP~Hfq;AjwT52d5Q z%a~r^B@x3I`3W_hutm zCDwdJ16OAVD~_0(KJ3_deuKf`@N{iY$0LdSNr)C9h!!Q6#2a>GBBNZe? zC5k0mSs=bpl67joE&Ml^1{l%BNRda3xYa4qFd~=eky*;(>9gO;y=Kysc~Xb_D4;p3 zm*&?}h0SCb`d>d3Fi|LX@;K&jjN&MKEAMU@R#6h6jg%IE!duzZEfwd|Nhtc_DqbXh znY?owamYGB{tgr|A$WJ6sHyJ zSohs(;%lko<*1W_`4_E?DuqW+2mLeCLI1>bAUN%SZNl`#smq+Xg@V(eu=n)WpBtM9 zjeAdr0~7w)@!;v1Q25MfXx2Ms3(d?1Mkk8jsKHxEClr35EIlZJkuK&qG6Tc&@VIyM z^x4tVfr+z@bKdc>Zmu6&{|W8Pw(g`k)dzR7CL^OWCue=((CEl%Swb)7pk;NaC?oXm zmi;Vf&1SeB5e|%HBC+8}G@r><3>1ghVE#-@napNZ6ZoD_Y2?_CUN_gNjvcUN*|*Pf z-E{}M%<>wQgT!GIdKj%p|Ho5OwqkvObJJOP^u{3JTp^zc|FG ztWPKH*lr4~V1PQ4P}Uri*+dFXy=Efwom{WHS@%TAM)}pF1;uf`la@xW*Pcye6Y_&d zoh*s&wa{W_O^ujWvYm9&se3l5C3&us&Sh@VlH>=K{DoXTlfuXw>!fLsu9%~_iF7EM zRh0B0)|WNurbST~uTFH+_^!)p?K=3vFYh_gW##!H)?KYJ@nM=&CvEj~#Vad1ZTPCx zm}W=11a&B+!JjU{vii~xuzG#DUT*&8`9o|#)`T^*TDxzv{M5SnnMW(y?hKy0{e^{Z z{NlrZ_r&vWdc$K+e+IZv#aDDNrNDcQ1{%oF#3T%Rfe7Z0@*5ap1}8NEF|6bgTbx;P zpVC(MEU+2%R?qs>S#l|i^PCpYuk4*#GT$>sycuygk9(E8BFv@4p7HJQ^?2LTKjmptE3z=^4&&K zF~eS~(u`Jbu|u?yW@HSrT61?wYxE=Kt*z~b)!#R(VZ23a7{EAD>8VNB)|Pv%(#JEy zK(a+KQ0||@%+C*J!us}ilzmr-yGJ$OKxUX}Rh~Ec0;=SB8N;mB+T38TOHt)*D|b!{ z-lqb@?73Nu7h049WQ~n`#i^AttGfeUgSoQ%P?_Y6$g0fPI@Dgy`9{w?q;~Td#YnX#k{gHf9%`UXY7nu`ud*YXZL6u zR`U=~KL>k}=4w%?eoU?J9i9C*H9VW~fzRb+$%~qwaHdG^ukBg=4#YC&2XbBGe#_~_ zVlTE3>(;18Yf68$eXnm9-*3PFdA7E(f3NJjxq#fbKlQymj%j0*aU9ch#2l6ANkcDh zYTLyHuTcKyxYjx|pz_(B)Zocg11^fUJ(FJ>dW>3ac`dK<)T;NjtFf$A>sIZZq^_}% z-l-K#vto8#lDxRLYsO3fk^D-%eYM)M~rd;V-=`lT&?-a3#DE{<=Cd_sUk( z&xD$_7}M7Bs?p|ykaxt)L(F6LuH8r5Gr90=rnm7kw_0n2nqNs44cA7`RX%Sq+OyQE zW9wM(34KGQZPMmydv!H8 z=SobsJ(H(P{?Ik=ptJDTN0*3=+wM1Kudhj8`o00pS!P2}Zhd>L^jYnl3C6u1=HH|d zG}7Lgz%QW-T(oy4@Cy*-->cVu!NX{Y!~UZcbU*E#36jFwI}^C7#M$g}iR-mhr%LI+ zy)!}VY%$~fSJFJby)%J(OwGQhTxq2&*EP*(ru8-L`q`CP4cj{tuHAJ$TGr~@zr8a- z_6l;f(2OIrHK@I==Pz$tsW}mIgZ9n@{r)70oA%BG>QrRV>&|%2oe3NtX^~gy>A%{p z1X=~IU`9F*IW>*&&zH9#d~x_@m8El`+D&mTYmdbUz6tdCeTHhNQ?PY=FaE(us3%eYNm7zN?_pvX)Mcgj{0W zSKx(qo*ID^dSdp%Vn+{s=R|Rzy04v}_U+$|q*)kimbaC7uvNuF2sq&G9PU9}K+U-q zpBCogi(%Y_reS0+S(8`m8HKgAh6|$=GVxV^CkA6}*6yFaefRqKA=bmq?XZm)+Y9>` z>hA&A32xn)eL&m2AE0%(Qm#Qd(9<~3!)QH=rlmEf$;uv0n|I1ocf$6u)=naAzgxAw z$b6L2*PZi-_AZBE(1Q40xDDSF7GG?8D=b+#AK49mU*(ztbFUuNEG*cX8f~_+PNY^1 z+q)cEt7Xfrll4AU~hYPddo)Y*a|D%wc4ol*Iuewl54%`PLA}I_VJZo zEFI9uIiQgvgfU_zFn0`N-ozP{8(*CbL+;OE{{?reCZUlNvnS13t6B|Phri1E5u=xv zTJ+i8<>0aGrcBe`<cp!r$U&V>G_mfyx&T-`c7SGi=cIlKS8F7pYkPNkjG=4yL& zM_aumbNNoB=4_+&`y=X)ysfi?rPB7^+y`|nZe1v8CiglemvgIeJ-VJeuV1NswCOrm zV!FM{p}otY{r!dJFkrqbVe@^td3vIUZ|`zw?{Y|D#$9bEKzov#g|#&kqbl`lJ0Gmqh2$izXj2E`8Mcs4bO?X0pk|{88H(C7VlR(#PEn zC;yJx{Dow5d0o1AiH)az|DEdjR{H)s3%>6a`4#l`_ut#!fAC#$@7907jy?4o_1viX_DA}C&VeDXyVpMGYqp5p6nw3} zkm=E|{(al@&HFQ>q0x!cV_si45DYyqGcjrS(!G7$8=47D*Zbf-zn6CneDIzEXE$|~ z)+!&o=LhGzxtYnzCg}wHcxvzj?;bdy4io$=K=-fEQt!mcy8w>?-VJyU;BmkcfZqYU z7w{zDeSi-Do&tOj@VkHy0p1VzFyJGAUn9MCXdMjDD}j|PAqj-kbl?C9tDCzfx_<*d zhe&LsnNBW+-4t3$Ch}(z%9>*|H<1oSvx<`Ld;^}`tUU=WX4cfJyprvFBc8opdp40x zDCvA853#3{JLq%?PG%FSNOof;GT(V?d4iKlHp;ga6vw&FH{sbWT7t7VCF?Kb@|jfP zVI|f{e=EA8=-xbkh!tZ^x~x|Gci)cFZX2%;zVOR?PIOsuf~ymU$R}!z@4$(90q?|< zD%o_t8PBTJ_;C4aWr%u9`7>R~&vo8~XVvR`H=gQ>sWr?Yb^)wO_dWO#wd>~YY+|5P zX{+@RyMujz&bQ&`9sXlsVl@|DO;9{dM&`o-CAXZ*A`ZJcXVvhd6J4EOaDC@ncmF7Re^=)-r~H3;C3)%350SA{;2~9^yPwxZ z$^wbu>cp!&_&r;k5(%=%IfgUYRBjt4K-ZCpZDxr(bUh6f5!bIqk_BaM&eFy5FzmPC z=V0;OkwPNI;&#kMI_Bm(=As>Qv5q;VV=mq?x6m=S*fE#rm|NJFT9e?EP=~% z;boQEvPx7{qH?%l{TN==fuE_v<*3Zo#462r2n|BE67fl-u7fnpfVtZ+ULc7m1?03&RN|8Qb@v z4wISj2s(#sBI*bvq8t@40zBAzQBI*l`7GYv-Z}HpivmNFC>n;8@kkoKDU2_U*--~O zK3V>ww(1cz+HD52eXjX<-(bHd66^E0mA?KsZxlQQjs zWZdg;@+hFWZ!$D*3)zd+WGAdm&LF3->TfiUV-9`j?vsCg`U_uq>6_nr(*L9^ z6z8-RA*$vp)B4|dPMHs{SS`0!rZ0B¨~oAAj5$wa^T%fJ!lXHFp85P7V%a^FYN4 z;!9U3Swn>*NXh8teHqB%c0g9a7(c8cna_nwF0l}&efDrrt)W2jqq|;Kw$QV?UJ8dEK+=Cd!p?o(%P7_)ru z`JbPA;?6GxKX>d0(P#c~oyrb`kYzA_)7O6ewcEy?{aEbtPv7?UL)BthER8QBQ6Dl6 zQcHrQ63B!0T3P%SK%BxBVF@vgtFu~qjpJCA@HReUgPZW8RtVE7QmSs zUgiQ856&3JXBoy>Q1w1HfEYt+OgFwO&o{1MG>?H`%k!NO-sW_Cl9yydF zEl2iBf0p-J9R5r)3FQXn|2ao#sl1aDi!WARLHahdPt<&7I0)2sj{yzVeFYj8}4F$QuptqeU&3d;-54_#!9gQfx0};=> z)2{Tn`|a-D!9n|wCl7Lw&4ePlnIMPW^NcE+(31o`yw(cQyrgL(?SdshzFv=i!0q-9+MPkS*X|znd+dXQ z9|J@VMzv&H+J^dN-oN={T zFk)lBBMTWX!s*cLVsLf=XFgtfr~KaYJjMrmh8B6^J$E`Z?Hu)HbMB~TiZ`ayQ?o9_ z_OCCktqz`_n&r(?(ct2R=$h9X$c^K2AmEM0Rv#MS3&B&N*=gUIz~bcjo`*d{O1=lK z=@!nXP9+vbhkJT@-0S0k(T(x6@8Rgfr~QlPy#7-w-o*0A=v3&G%e9aRW-lxz14mZY zXU=;kj>O}uy(is~p7>;X<7DsDg|q(P#?#g?Jsa@)hew0C#o779*oB$%D~Sv9h2Vz0JqshW_a@I4x^f0bKvdQ6@s;82s36Gz_2uNB8wAA=V z@%oP-qf>RYd)h~HPnPTGnN#SSg(3#)Hz@1ROv-vK_xD0!_X(3)(~~Kchr-W)MCD=5 zUiHewT0Cu3E^cL15>oWDCZ%k&ZLU^dq%CKGm=M6U>I^`Wk;<0$np%r9NM207^X=(E zGI^h6XfdB(Io8vYi!LfKm~o^M(QGD{iRT^BOsWSn#`t<593n`|u K-LocL$^Jjcz9lvQ literal 0 HcmV?d00001 diff --git a/KinectRecorder/BodyIndexHandler.cs b/KinectRecorder/BodyIndexHandler.cs index d45c804..c95ea17 100644 --- a/KinectRecorder/BodyIndexHandler.cs +++ b/KinectRecorder/BodyIndexHandler.cs @@ -139,10 +139,23 @@ public void BodyIndexFrameArrival(BodyIndexFrame bif, ref bool frameProcessed, d ProcessBodyIndexFrameData(bodyIndexBuffer.UnderlyingBuffer, bodyIndexBuffer.Size); frameProcessed = true; } - + if (bodyRecording) { - bBitmap = UtilityClass.ByteArrayToBitmap(bodyPixelBuffer, width, height, System.Drawing.Imaging.PixelFormat.Format8bppIndexed); + Bitmap bitmapFrame; + try + { + bitmapFrame = new Bitmap(width, height, System.Drawing.Imaging.PixelFormat.Format8bppIndexed); + } + catch(Exception e) + { + Console.WriteLine("Body Exception"); + Console.WriteLine(e); + System.GC.Collect(); + bitmapFrame = new Bitmap(width, height, System.Drawing.Imaging.PixelFormat.Format8bppIndexed); + } + UtilityClass.ByteArrayToBitmap(ref bitmapFrame, bodyPixelBuffer, width, height); + bBitmap = bitmapFrame; bodyBitmapBuffer.Enqueue(bBitmap); //System.GC.Collect(); frameCount++; @@ -153,6 +166,8 @@ public void BodyIndexFrameArrival(BodyIndexFrame bif, ref bool frameProcessed, d frameCount++; } } + + } } diff --git a/KinectRecorder/ColorHandler.cs b/KinectRecorder/ColorHandler.cs index 0d800c0..ee07784 100644 --- a/KinectRecorder/ColorHandler.cs +++ b/KinectRecorder/ColorHandler.cs @@ -83,8 +83,10 @@ public void Write() //Console.WriteLine("color"); if (colorBitmapBuffer.Count > 0) { + //Console.WriteLine("3"); //Console.WriteLine(colorBitmapBuffer.Count); this.colorWriter.WriteVideoFrame(colorBitmapBuffer.Dequeue()); + //Console.WriteLine("4"); } else if (!colorRecording) { @@ -117,7 +119,6 @@ public void setRecordingState(bool state) public void ColorFrameArrival(ColorFrame colorFrame, ref WriteableBitmap colorBitmap, double fps) { - using (KinectBuffer colorBuffer = colorFrame.LockRawImageBuffer()) { colorBitmap.Lock(); @@ -138,10 +139,27 @@ public void ColorFrameArrival(ColorFrame colorFrame, ref WriteableBitmap colorBi colorFrame.CopyConvertedFrameDataToArray(colorPixelBuffer, ColorImageFormat.Bgra); + if (colorRecording) { - cBitmap = UtilityClass.ByteArrayToBitmap(colorPixelBuffer, width, height, System.Drawing.Imaging.PixelFormat.Format32bppArgb); + //Console.WriteLine("1"); + Bitmap bitmapFrame; + try + { + bitmapFrame = new Bitmap(width, height, System.Drawing.Imaging.PixelFormat.Format32bppArgb); + } + + catch (Exception e) + { + Console.WriteLine("Color Exception"); + Console.WriteLine(e); + System.GC.Collect(); + bitmapFrame = new Bitmap(width, height, System.Drawing.Imaging.PixelFormat.Format32bppArgb); + } + UtilityClass.ByteArrayToBitmap(ref bitmapFrame, colorPixelBuffer, width, height); + cBitmap = bitmapFrame; colorBitmapBuffer.Enqueue(cBitmap); + //Console.WriteLine("2"); frameCount++; //garbageCount++; if (fps < 16.0) @@ -149,20 +167,12 @@ public void ColorFrameArrival(ColorFrame colorFrame, ref WriteableBitmap colorBi Console.WriteLine("fps droped"); colorBitmapBuffer.Enqueue(cBitmap); frameCount++; - //garbageCount++; - } - /* - if (garbageCount > 100) - { - System.GC.Collect(); - garbageCount = 0; } - */ + } } } - - + //Console.WriteLine("5"); } diff --git a/KinectRecorder/DepthHandler.cs b/KinectRecorder/DepthHandler.cs index 47e93fe..6457c32 100644 --- a/KinectRecorder/DepthHandler.cs +++ b/KinectRecorder/DepthHandler.cs @@ -238,6 +238,7 @@ public void DepthFrameArrival(DepthFrame df, ref bool frameProcessed, double fps garbageCount++; this.depthBinaryBuffer.Enqueue((byte[])(depthPixelBuffer.Clone())); this.frameCount++; + if (fps < 16.0) { garbageCount++; @@ -245,11 +246,11 @@ public void DepthFrameArrival(DepthFrame df, ref bool frameProcessed, double fps this.depthBinaryBuffer.Enqueue((byte[])(depthPixelBuffer.Clone())); this.frameCount++; } - if(garbageCount > 500) + /*if(garbageCount > 500) { System.GC.Collect(); garbageCount = 0; - } + }*/ } diff --git a/KinectRecorder/InfraredHandler.cs b/KinectRecorder/InfraredHandler.cs index 9c96387..0d26d04 100644 --- a/KinectRecorder/InfraredHandler.cs +++ b/KinectRecorder/InfraredHandler.cs @@ -245,7 +245,7 @@ public void InfraredFrameArrival(InfraredFrame df, double fps, ref bool processe } } } - private Bitmap IRFrameToBitmap(InfraredFrame frame) + /*private Bitmap IRFrameToBitmap(InfraredFrame frame) { System.Drawing.Imaging.PixelFormat format = System.Drawing.Imaging.PixelFormat.Format24bppRgb; @@ -264,7 +264,7 @@ private Bitmap IRFrameToBitmap(InfraredFrame frame) } return UtilityClass.ByteArrayToBitmap(pixelData, this.Width, this.Height, format); - } + }*/ private unsafe void ProcessInfraredFrameData(IntPtr infraredFrameData, uint infraredFrameDataSize) { // infrared frame data is a 16 bit value diff --git a/KinectRecorder/KinectRecorder.csproj b/KinectRecorder/KinectRecorder.csproj index 4bed495..365deb1 100644 --- a/KinectRecorder/KinectRecorder.csproj +++ b/KinectRecorder/KinectRecorder.csproj @@ -13,7 +13,8 @@ 512 {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 4 - 262bc50c + + AnyCPU @@ -56,6 +57,7 @@ prompt MinimumRecommendedRules.ruleset true + true true @@ -88,8 +90,8 @@ ..\packages\Accord.Video.3.8.0\lib\net45\Accord.Video.dll True - - ..\packages\Accord.Video.FFMPEG.3.8.0\lib\net45\Accord.Video.FFMPEG.dll + + ..\packages\Accord.Video.FFMPEG.x64.3.8.0\lib\net45\Accord.Video.FFMPEG.x64.dll True @@ -196,12 +198,12 @@ - This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - + - +