From 40afd7232731e76fffdcca422bb8670ca8cc558e Mon Sep 17 00:00:00 2001 From: atraczyk <andreastraczyk@gmail.com> Date: Thu, 29 Dec 2016 19:33:09 -0500 Subject: [PATCH] video: better video frame copying - uses memcpy instead of nested for loops to copy video buffers, as no operations are done per pixel, this gives a reduced copy time. Change-Id: I43567997313d6aa8c9a0f8a56ccf0b8e6bcf963a Tuleap: #790 --- AboutPage.xaml | 7 +------ Package.appxmanifest | 2 +- RingD.cpp | 1 + RingD.h | 11 +++++++++++ VideoCaptureManager.cpp | 25 +++++++------------------ VideoCaptureManager.h | 2 +- VideoPage.xaml.cpp | 14 +------------- WelcomePage.xaml | 6 +++++- _language-fr.appx | Bin 4193 -> 4191 bytes _scale-100.appx | Bin 44052 -> 44057 bytes _scale-125.appx | Bin 55399 -> 55403 bytes _scale-150.appx | Bin 66478 -> 66479 bytes _scale-400.appx | Bin 220119 -> 220120 bytes ring-client-uwp.sln | 3 --- 14 files changed, 28 insertions(+), 43 deletions(-) diff --git a/AboutPage.xaml b/AboutPage.xaml index 2d7b795..ad8fcf4 100644 --- a/AboutPage.xaml +++ b/AboutPage.xaml @@ -72,18 +72,13 @@ VerticalScrollBarVisibility="Hidden"> <StackPanel MaxWidth="500" Width="310"> - <TextBlock Text="Ring v1.1.15.0_x64" + <TextBlock Text="Ring version: 2016/12/29" TextWrapping="Wrap" TextAlignment="Justify" Margin="0,0,0,24" FontSize="12" FontWeight="Bold" HorizontalAlignment="Center"/> - <TextBlock Text="version: 2016/12/14" - TextWrapping="Wrap" - TextAlignment="Justify" - FontSize="12" - HorizontalAlignment="Center"/> <TextBlock Text="Release: Beta 2 - Gaston Miron" TextWrapping="Wrap" TextAlignment="Justify" diff --git a/Package.appxmanifest b/Package.appxmanifest index 59fedef..209ddd8 100644 --- a/Package.appxmanifest +++ b/Package.appxmanifest @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest" xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3" IgnorableNamespaces="uap uap3 mp"> - <Identity Name="Savoir-faireLinux.GNURing" Publisher="CN=8121A5F7-3CA1-4CAA-92B2-4F595B011941" Version="1.1.15.0" /> + <Identity Name="Savoir-faireLinux.GNURing" Publisher="CN=8121A5F7-3CA1-4CAA-92B2-4F595B011941" Version="1.1.20.0" /> <mp:PhoneIdentity PhoneProductId="2385953f-9019-423d-aa82-d1bbacfa258b" PhonePublisherId="00000000-0000-0000-0000-000000000000" /> <Properties> <DisplayName>GNU Ring</DisplayName> diff --git a/RingD.cpp b/RingD.cpp index b337db9..477a27b 100644 --- a/RingD.cpp +++ b/RingD.cpp @@ -947,6 +947,7 @@ RingD::RingD() localFolder_ = Utils::toString(ApplicationData::Current->LocalFolder->Path); callIdsList_ = ref new Vector<String^>(); currentCallId = nullptr; + WriteLine("XBOX: " + isOnXBox.ToString()); } std::string diff --git a/RingD.h b/RingD.h index da5038f..822ec25 100644 --- a/RingD.h +++ b/RingD.h @@ -19,6 +19,7 @@ #include <dring.h> #include "Ringtone.h" +#include "Utils.h" using namespace concurrency; @@ -89,6 +90,16 @@ public: } } + property bool isOnXBox + { + bool get() + { + auto dev = Utils::toString(Windows::System::Profile::AnalyticsInfo::VersionInfo->DeviceFamily); + std::transform(dev.begin(), dev.end(), dev.begin(), ::tolower); + return !dev.compare("windows.xbox"); + } + } + property bool isInBackground; property StartingStatus _startingStatus; diff --git a/VideoCaptureManager.cpp b/VideoCaptureManager.cpp index e0e961f..2e91f6e 100644 --- a/VideoCaptureManager.cpp +++ b/VideoCaptureManager.cpp @@ -22,6 +22,8 @@ #include "SmartPanel.xaml.h" #include <MemoryBuffer.h> // IMemoryBufferByteAccess +#include <algorithm> +#include <chrono> using namespace RingClientUWP; using namespace RingClientUWP::Views; @@ -58,7 +60,7 @@ VideoCaptureManager::VideoCaptureManager(): }) { deviceList = ref new Vector<Device^>(); - InitializeCopyFrameDispatcher(); + InitializeCopyFrameDispatcher(30); captureTaskTokenSource = new cancellation_token_source(); } @@ -358,11 +360,11 @@ VideoCaptureManager::AddVideoDeviceAsync(uint8_t index) } void -VideoCaptureManager::InitializeCopyFrameDispatcher() +VideoCaptureManager::InitializeCopyFrameDispatcher(unsigned frameRate) { try { TimeSpan timeSpan; - timeSpan.Duration = static_cast<long long>(1e7) / 30; // framerate + timeSpan.Duration = static_cast<long long>(1e7) / frameRate; if (videoFrameCopyInvoker != nullptr) delete(videoFrameCopyInvoker); @@ -437,23 +439,10 @@ VideoCaptureManager::CopyFrameAsync() byte* data; unsigned capacity; byteAccess->GetBuffer(&data, &capacity); - auto desc = buffer->GetPlaneDescription(0); - byte* buf = (byte*)DRing::obtainFrame(capacity); - - if (buf) { - for (int row = 0; row < desc.Height; row++) { - for (int col = 0; col < desc.Width; col++) { - auto currPixel = desc.StartIndex + desc.Stride * row - + BYTES_PER_PIXEL * col; - buf[currPixel + 0] = data[currPixel + 0]; - buf[currPixel + 1] = data[currPixel + 1]; - buf[currPixel + 2] = data[currPixel + 2]; - } - } - } - + if (buf) + std::memcpy(buf, data, static_cast<size_t>(capacity)); DRing::releaseFrame((void*)buf); } delete reference; diff --git a/VideoCaptureManager.h b/VideoCaptureManager.h index 32bc635..0676014 100644 --- a/VideoCaptureManager.h +++ b/VideoCaptureManager.h @@ -94,7 +94,7 @@ internal: DispatcherTimer^ videoFrameCopyInvoker; task<void> CopyFrameAsync(); void CopyFrame(Object^ sender, Object^ e); - void InitializeCopyFrameDispatcher(); + void InitializeCopyFrameDispatcher(unsigned frameRate); event StartPreviewing^ startPreviewing; event StopPreviewing^ stopPreviewing; diff --git a/VideoPage.xaml.cpp b/VideoPage.xaml.cpp index 1ec2c97..d513ebc 100644 --- a/VideoPage.xaml.cpp +++ b/VideoPage.xaml.cpp @@ -361,20 +361,8 @@ VideoPage::WriteFrameAsSoftwareBitmapAsync(String^ id, uint8_t* buf, int width, byte* data; unsigned capacity; byteAccess->GetBuffer(&data, &capacity); - auto desc = buffer->GetPlaneDescription(0); - - for (int row = 0; row < desc.Height; row++) - { - for (int col = 0; col < desc.Width; col++) - { - auto currPixel = desc.StartIndex + desc.Stride * row + BYTES_PER_PIXEL * col; - - data[currPixel + 0] = buf[currPixel + 0]; - data[currPixel + 1] = buf[currPixel + 1]; - data[currPixel + 2] = buf[currPixel + 2]; - } - } + std::memcpy(data, buf, static_cast<size_t>(capacity)); } delete reference; delete buffer; diff --git a/WelcomePage.xaml b/WelcomePage.xaml index ce28060..edb2b53 100644 --- a/WelcomePage.xaml +++ b/WelcomePage.xaml @@ -41,7 +41,7 @@ HorizontalAlignment="Center" Margin="0 10 0 30" Height="150"/> - <TextBlock Text="Ring is free software for universal communication wich respects the freedoms and privacy of its users." + <TextBlock Text="Ring is free software for universal communication which respects the freedoms and privacy of its users." Foreground="#707370" MaxWidth="500" Width="310" @@ -50,6 +50,10 @@ FontSize="12" FontWeight="Bold" HorizontalAlignment="Center"/> + <HyperlinkButton Content="Privacy Policy" + FontSize="12" + NavigateUri="https://ring.cx/en/about/privacy-and-anonymity" + HorizontalAlignment="Center"/> <Button x:Name="_aboutButton_" Margin="0,48,0,0" BorderThickness="0" diff --git a/_language-fr.appx b/_language-fr.appx index 031c4df266ce7edcf453f745c33e0964793301e5..e746d12fb16dffb904cd71b667db035b955953a2 100644 GIT binary patch delta 2276 zcmaE;a9@Epz?+#xmw|(UgF$uX+>N}`S(sI4&YirR#kf9&y*12rs#mDv?&_PTC-?+q z3tMlR8}!fCFLS!iqfO@7&(6;NelOyV?CUO>3s$LHme|MzG+7z%ytH)5?zc+279Od* zU>V}Jc*(5`yPq7Ndc)xxyO&C0jJ4<Yd*<7FcINb(?${AF)AXE(-8rAL3o`rGu&w1P znJ2o8H^=Tx@_Mi5&+4y!-0<Z{@olHi@iC0|)g!0fil|swz-zjT&4}j`Q=3}S%*EeM z?Vq?#^`)^)&!#}eQ;)n}ev`0YQ|^DzM0NJJr9pZ9VV7=3-TR>EuipJS!^FGNWZu$D z6WM$Gi$5kA&Ar2KF~84J)!v@@$;W~VOMkSS+hTS&Rc~ds*3-vaB{$p7)Gs;|G_9l8 zls9Vq1=UAPcFSi~++LIrzdC6hlklEWu}KT2mo%}y4nG?I^>5aFUCW!IZ=x4O%)F$s zviQZ__v!gg77GQ;@6HO=K2xi_`@72O&EB5e)n%uuc37INIIO!#_@G!$XI&rr)Q3!2 zp|S5izka;pqu=Ux#ZIm#7hjrh*xr$>VJGM79($#~z@~iL!{CH}OYdv`DA(Ps@{5mw z;s1YTh5&DNj>3D7nAc5iV3Pz#+8j3J`ny4g3<TWX&;2NC^zoLO?$VIuy2?I`l65%; z1@)b!J(hZU1#5o#!Y0DD_s(3~-Or=f?|p80<6=;1(2oly1}q^eMrV)QYG42P-d^s; zRUICldaPd;PS_xO=U&C!7`54knhnodKPj$W^+-^0s==vFql#%$f=-5}s!UQ25~)r} z6kc5aRPgbVh6D!@>C0Uwzc5`d&Ar0wJT2R{$G0VS$@c8I)<-+8mLxp*x@k@m=fhh| zmUz`o;|z5ROcOY>sW~rdS+=u5)W-Rj@-m(+soM42S^a&>#}^+0%YPQ#P`T~FxB4GX z<nKz8{<#H)UE9vqNo-=g_OZTvmRend#)k_Zf5^A0&#lk)aoM(LmC=@0GczpLW^+ED z&r*GExqjH1OW%*~`ns*tO8T7o-L$($553K2k1xqOzPsX*HOFtI#OQZZnXUHQ|6oIe z?Ga(7=WdJ)U~mvhgEET<0|O+pcut<and1`!1H*Yn1_ogU28L+o{LNMzJdB*GGv|78 z3W=_dn(WUxwf?;I@ogO+=P!?1Tl91DbDyHqZ$ou^>)-KNU6Q_LYo9o^tU0-5^Xcx~ zJ8Y``x?7!h<bTZP?3}kZ^pn{4eP?RL|EGUj`!9WZCQpcP(W>qG58glY&wj7Zb8pl9 z+HG#XpSBvFRphzupE>t(#LH`EUP?TCQvL9s(B|Av<|>btgq55Mt7p&qH}^;6gByFM zcuwB#A-gIg%YMs(&d4JRIwKD(==^w`DNW5yO^s1`{<h$Bd&{jq>i0xTURwNu_Y;Q+ zgXGS}gG=&PWG^^-Oy<-foi#~`87VI^UZt(ee)A?{MfRgNFIHq{K1o@U{U|Lf^HoYh zMn+~*hJyOJ?2NRGgp{m|w1l+!90}GZvzm9fxh3emWHU3=Qncoh*mcIY=MRrVq24mJ zgg-Suem{#AKmWDkek^-T?wxPPKj*&x{WE86=t`;2Tlg-%e;U;F?c4UX|2Dh->z!R} zaXsPP%J-jdt~qye{=LoD%o29LzW(lOEt6HRcZo^)(RI9ew%I>Fd3XhdJQmuvqD!}a zZWuQg>!W#+wl)*9Hzz(j#lQK?dY2M+eevF_QOiq`U#`^kXW_Lnn-#Y9euevs<}249 zdH=cPzsY{@ohjzIUxlnam(Mi+r@kh#Y@zRmA8W7XTdN&ERblzgBHcXy>Bovh>4P2W z;s4}*2U)*0`+x1dp6KW0@>e%oC(o^leKzr9Z+^YD9{bb`+5c6ZJ}*DTh8>-3UflEQ z-T(WOM0Y&D_kQW5quDop%{x0sEU&Ki{rZ33vg_=P_spCjDJdbIEwMuK14DCY*o=uE z?YSp2HaALiEa!UkQKDdDA;V=;ZEb5~<0uy6=B5qL`i~wzd2X7mnfoFiYqb`g*>SNy zR(<Z4dp|4xdVP56v{NhZaqgS6r(pZRqt)Gqf2Hi)7PHd4|2((ubb$-n{JS@-)~$WV z)R<n^sXzIx{c5gjVKSxK`{vy}TK9Q*-SWD*fA{}>>zb*{zHHZ-$iM&nuC1vIH?_Ey za`w}Tc)2bA=Ulm5%zo{?vDTf$Z|lv>9L_jvze;;(yL@NAm(XW(k$TH}&%^Zg?)+L7 zb>D1TvK;%CO8+=9uHvwWvV*aQoo=}u`H<-N=i&9u&$n<-e|zir{JC4J|9{c^-kf`@ zZ++#-9m!W8rEg#NGym!Qy($;)zTR*^aQpMu>HjNh7QTA%N7GQV$k2>mOxkDHl7F7& zwbx#`-*errFJ)%9k8#;@@dHhV4%E+lBGP3mtT>g8JBx>90+*PabHEpmLyH?H-<-g{ zQ^#n6<D)|9Pm&6!yQE$yn{1NM+Nj|%>xlII3q5g{6i*d>`?G4#nalrc_m~Qs)!FHN zx|4ABWB!_qne9tCBhq&Ms=poa?S9T|w`E6c<))wS^tOqZYjRC`O>V7>xMs=zzO71^ z>Z=ycyw^47-?^QhM*IC<ElKyS3|oF=$Nkm6Zkh4fZ?lv&J11+qmua%S>-Er*k5#S} z`oI2dUz@1(+^)Z5=4ZP}r@nvHzqdnf^Ods!ZqC||jvUUE?_YOQ-TrFl-;<TiC(B<g zi`$s>WA~<z;%d3>>&xr*UcEDScKV)I8uyo72|o7Qtp3*rTf@}e&t}%^{#puU9?OkM z(HA?k;aBPMd+n3{zpnm$y1G32kHCiu5rWI=-_$m&*n4N?-rz;a@vd)Q*zB-5d^c_C z7oEcQ<-&1iHYDx|)Z3qYsHul_-M2pPPiNmte#?EmFCxA=@8C{#dBy;5MkZYbcx%G* zlB3<^@X2@ijKC!#q_UFWH<bsKkFetPAR_~V0JxBa5q*<$_~pSBS|7hOqtxV8{7PUQ p;1ZRUfkB6jfk6<a7);wve$DS9c#IFsVF>VMV+XPRPIeGb1OOvRP!RwC delta 2235 zcmcbw@KAv_z?+#xmw|(UgCU}_ZzJz?7Uqb`zRAm3jO(AUw1&A(^$K;|U48TP1fQU6 z;oF<$2K}@3%bc$BXw#>ovnuO8-;?g%og6%wIZA!2mqtJPlm(|s6+@?9xLYQ8H{g-Y z3Z|^J1`E9|@BVUp>J5i~>{==hcNTHpt<KMrEdD7cT~Mf8yn3!)?VQ(bjfU>m8YZb) zo%g!SW+wk^WB5w0`oFI#B&r_m%su!=Jp90S&uLRHiN$5bI5(ej=yQxZa3Ms8J0$Lx z`K7Hwzj)Ynb3>Z8?3lF5_89-`yTJy&CzsW(TzY%4?~9zdcRnbdSL=SAVRE{{WL|2d ziR?Z8#UGQ5=HB7AnBQlqYH!cXlYVLGj~2h}X2(+}2Bc@bd@L1mwe3v(qDw*3x_Ym& zt)2cNsE~1fu<zd7zzyp|4W~D9-m~J)yx?thu<7gSN9%vpZGAs&&Ks_8x&doSmR>$% z`Q_dB&DRy@1a$bCKfA*9e&58qyC+?}nd;<SU3RK!how|VqWI6w1nzB4_Q#vg6f*X% z(f|GP>&7b;%TvBvE?o8`aMk%4>>m|0pFO@<a>ey8$MNEHX**W2_+N9I>W^>oUi6-U zf#LsuW`+Q7b`BR=g{$i)*Rx52V{JB@a(!%mlYvOv`{{4&P40fxaCO+ukS6s<!KrD- znb@!u(>Qg5)Xv54f3>V|w~hL9%jcE-m+hyp-nbm~tZBDEwiU~i<w~c29&26SeKDDz z>88NEiB1Ktob(dz@7`a`*6Oicab?4!oh6FdvtCIm&NPY=S~;~cid*wq@3bzViL0y> zoR3@8N6p<ZDMY}hBSkTH#))+Wx3@*zzUZ<y@UWHJuFflEOFt_}8tO<_ozu|Q=<rzS zlcjYueQwao&{96fN%EnW57-Jf-JJDzN}9W2`qj_2;<t_-n18-c{_TbsR<WB$l`@WT z8u4{k7;gXjROen~^8Iw-*rWgNc5eK~GV%F>%OCBz^tF7$Ju3Ds+jMcttJW8{?nZO| zp6_y4_*wqs3-^xPP53u0;%&jrzC}6m4>jwqM;pJGsKK*;iS1sm8OPQ#@7i<!Hya{k zqc^V!cA3o00S?*C>KqD;oDr3Mo`$xo9>q=$;G9~YU-cpXYJY85`z{&Q_3Qs??^C{~ znSNQB^>dcp-in{+X0F=TCwNZpyH?aQKM$W9Tb4Xq__X<bxx~`znI3cZoZec&cROUO zt9s2h=Bq7pUcKf1QT^lct>4_u+ux+mUwg5xGSR1)<M7wusOKhOyG)C%+$?@>n_Fxi zRq%1G_lo>qQn%~#r>~P0wcK&h;rrRW=XArYpE6C>5;HOEmM}5omM}5=7jfXskrPK$ z5}sTxd-X<rx!C{ya&6}-k-d&`jcf|a<_0sq@Rss!xjDl*az<;Y4o@$Stnb}3rM+`y zc}sog$jX-L_Ri@k@x9}t>pPc+hga8^hxf^mO5U?Pygfd=XL-)l_wX)mh$$AheuCqS z>fHlsZmKEnjLy?{c21nnsB!M-6_%d){Pp*1UO(C?_i^{@hSj~d|5faJTWddm?N+VO z<ayT=f9;L&x_Iy3wyX8uPV6r%=6f!6#`bHi-R!HDzb{u`yTz7M{`c12ef|#13p@Ls zt-G=H;M#QEcsWncuB@0tVxb%BmtM|tT<CDecyYUWQLfpUn4gK$eopOp_u}cIjZv?s z<muRMecHLe@wnUNRbQpwbJR}w6;;z2|J(E1^69fbEn6Fxr2f+6^RfRerl<9`aLVo9 z`YZSNlL$%u<Fe1+JX>ocr=O!N@$t#2`^oWH%kMtB|LgA3q<>!)SCyr&30{BN#%SNi z`rM;W7YMC=9IxN08N2WFs)|o(eSvrX{*T_o^!?87y&;<_c%$!co_YDu+4b-LUcFy; z_I-Mrxv;S^^W!95W>aRlgbk;-jE(-KCmJOf2rz#PakP<R)-&Tv*p-%=nx5v?osbqF zaP7~=9~L)nZaV(VV@l@nmI<ksS98ag)?IuY`}uACuT^J)EU#K044)+a&TL0TeqqFX zo$J%Izdrj|x$vnFQ`OT%@v^N;&&Mi!IHUhDb<^MU(1W+S7UvzkzIpeJ{C`*8Us=ET zfBF8s8f%{(2$^oV`v3itvrONwVmm%-O{Cn{)6L)JPp+zZci>m8TdVb%e^-yObyQ}! z-qqRj+~j+pXVSm6dZpvP@0?m{zWtux>)Xf5&OB}~dw=q@Q{p+U(|S9yBRp<*NZ9Fg z*#D{eHmB_2rr6&<Hg7I_Ki}?Y-3H&=A5HZo%hyExd2`M5|JpyBr>pF$mKC#j^sVOa z8~c9!5ZSr*s%ox!$DSQbYWAFd#s1~8^HG0K?0)gh^|0D8^8;VLFhvAN)LTrR<Fqkd zY00Go$KFPUpo52!IlAOLD@+QEq(3Q4cV#p3u*q|_V@`<-WUg&-6LVG-Yvtc-A2#K$ z(UyOIKJ1uv=~}_LT<-bhrKj|sly=|M*SvY=3%l;;4JL+0XFT$9cLil<JbjX55&y>V zhTcJ0v4i*TZ}N=_EC1&9cA;y$_1^lVeR}>8p;g~M-IQgoziz*OLD|(`UP{+D3r)Q& zlYO2oFDlFa@$IRXd37(I%M9<4|9)@ZJM{-!i|)_d^{Bvno=kY*_LIER_5S|PQ?M*P z-?IL@Sm)mai~7?)tv)Y_Wsj4w3$9C>oK?GC^l`5!`?MUJAJGrq%3b5PK3{A7bj74e zJL~VeWloAubF#iIvwP~=->s9jS?@P_R1tOO-J^f2Cs{8$=kWK$t+ip&zRz+3OSf`e z<hC?PPyKm#-`qyw$ug6a#J)t$SzlRvZi)Y+<v~5izHa(EnL9V;Ty*@_+u>RZ=En+L z`nCK1pG6&Sbbq_w+sY8&&B&z70B<LFUUHm#gU=LPB0{PlF@95dQ27WhHW?Wh4l*(@ z2rwXn{>fSV^5AN!hhLgea`Fm(C9n=~iOR~rpu@(%Ac(Ai!DjMHeiy+Ld=S9^Z#H%i K>;Ggs0Yv}<4oM3D diff --git a/_scale-100.appx b/_scale-100.appx index f1a2d01666bb727d4c4de62593830d5c56639c78..e5105619d48fbbca8f50d68553f2cdf40df24ab3 100644 GIT binary patch delta 2515 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 delta 2531 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 WHW0kK5+WAh&BhL5ZJPXJwITpQo83nM diff --git a/_scale-125.appx b/_scale-125.appx index ffc069be9977f05eb313024bfeaa5a2a4671cc11..14f6ca91f010d745c58dfe653887beacf706f54f 100644 GIT binary patch delta 2396 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 delta 2315 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 diff --git a/_scale-150.appx b/_scale-150.appx index db75963bfbffdbacb116598fcc2172b743cc5ea8..a0ae140e3579481032563623d5c1e1e88351af90 100644 GIT binary patch delta 2364 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 AjsO4v delta 2343 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 VIU^%jG{BpU9mMdN-p9<S2ml?^cSHaH diff --git a/_scale-400.appx b/_scale-400.appx index e6aa98e376ead9f5e7e0811b7d7f2648731b2226..1bfdeab51a14996f145c4c910104b4bfb4e7427e 100644 GIT binary patch delta 2650 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 Xy9h3fgp}+7-fZk3nX>8IqL~!|pMLhw delta 2648 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 Uh=i2v0p4uvAeqwX+oPEk0gl$(?f?J) diff --git a/ring-client-uwp.sln b/ring-client-uwp.sln index b3b09cb..181264f 100644 --- a/ring-client-uwp.sln +++ b/ring-client-uwp.sln @@ -4,9 +4,6 @@ Microsoft Visual Studio Solution File, Format Version 12.00 VisualStudioVersion = 14.0.25420.1 MinimumVisualStudioVersion = 10.0.40219.1 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ring-client-uwp", "ring-client-uwp.vcxproj", "{90928671-346F-42E4-934F-7A7A512A2D11}" - ProjectSection(ProjectDependencies) = postProject - {79F8DE42-595D-49D9-A66F-55244FD9DCC3} = {79F8DE42-595D-49D9-A66F-55244FD9DCC3} - EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ring-daemon", "..\ring-daemon\MSVC\ring-daemon.vcxproj", "{79F8DE42-595D-49D9-A66F-55244FD9DCC3}" EndProject -- GitLab