diff --git a/AboutPage.xaml b/AboutPage.xaml index 2d7b7959ff9d675fa6f8c529645dfdefb5c5316c..ad8fcf41a534a1ad0f605af9fa89f3fdf5896a16 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 59fedefae3e0652c308cfc6eba03a1a64abddea8..209ddd873accf7c3d49f63c1bce82025a345ee3a 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 b337db99c3bc2d27423dff635043b4a1ad50e927..477a27bb2e81ee76e9e5cd86aa496dd8de4c7984 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 da5038f2f2b3c618b3c9da2ecdf1f3dddd9d8c85..822ec25a403bb789cc87aeaba18c3b5079c29b59 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 e0e961f85a64ca766909248fbf9e903e12328980..2e91f6e39790bee126332706db07405db07fb24b 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 32bc635a869d502b2558ebc71446bd35ef41e388..067601420dd7b8a62d60a2b583125d5c8473479f 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 1ec2c97e62acefdb69eaaea23034de426f588aed..d513ebc7c516e7ec8e508db4fe47dd3e238b1533 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 ce280606a3b5bf3885b3e6650cd310b0e7836864..edb2b53f31713f8dd17f69a6004d1d2b2b0beddf 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 Binary files a/_language-fr.appx and b/_language-fr.appx differ diff --git a/_scale-100.appx b/_scale-100.appx index f1a2d01666bb727d4c4de62593830d5c56639c78..e5105619d48fbbca8f50d68553f2cdf40df24ab3 100644 Binary files a/_scale-100.appx and b/_scale-100.appx differ diff --git a/_scale-125.appx b/_scale-125.appx index ffc069be9977f05eb313024bfeaa5a2a4671cc11..14f6ca91f010d745c58dfe653887beacf706f54f 100644 Binary files a/_scale-125.appx and b/_scale-125.appx differ diff --git a/_scale-150.appx b/_scale-150.appx index db75963bfbffdbacb116598fcc2172b743cc5ea8..a0ae140e3579481032563623d5c1e1e88351af90 100644 Binary files a/_scale-150.appx and b/_scale-150.appx differ diff --git a/_scale-400.appx b/_scale-400.appx index e6aa98e376ead9f5e7e0811b7d7f2648731b2226..1bfdeab51a14996f145c4c910104b4bfb4e7427e 100644 Binary files a/_scale-400.appx and b/_scale-400.appx differ diff --git a/ring-client-uwp.sln b/ring-client-uwp.sln index b3b09cb0dead4de1e7e850c651ef3e05e0b9bc3c..181264fe1a544ab22057ba13fe7c8f9712c813ab 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