Remove AutoQuality and simplify caster throttling.

This commit is contained in:
Jared Goodwin 2021-07-28 14:47:20 -07:00
parent 849a4b73e5
commit 24eb298914
32 changed files with 44 additions and 217 deletions

View File

@ -91,9 +91,6 @@ namespace Remotely.Desktop.Core.Services
case BaseDtoType.CtrlAltDel:
await viewer.SendCtrlAltDel();
break;
case BaseDtoType.ToggleAutoQuality:
ToggleAutoQuality(message, viewer);
break;
case BaseDtoType.ToggleAudio:
ToggleAudio(message);
break;
@ -264,11 +261,6 @@ namespace Remotely.Desktop.Core.Services
var dto = MessagePackSerializer.Deserialize<ToggleAudioDto>(message);
AudioCapturer.ToggleAudio(dto.ToggleOn);
}
private void ToggleAutoQuality(byte[] message, Viewer viewer)
{
var dto = MessagePackSerializer.Deserialize<ToggleAutoQualityDto>(message);
viewer.AutoQuality = dto.ToggleOn;
}
private void ToggleBlockInput(byte[] message)
{

View File

@ -21,8 +21,6 @@ namespace Remotely.Desktop.Core.Services
{
private readonly Conductor _conductor;
private readonly ICursorIconWatcher _cursorIconWatcher;
private readonly int _maxQuality = 75;
private readonly int _minQuality = 10;
private readonly ISessionIndicator _sessionIndicator;
private readonly IShutdownService _shutdownService;
@ -42,13 +40,8 @@ namespace Remotely.Desktop.Core.Services
{
try
{
var sendFramesLock = new SemaphoreSlim(1, 1);
var refreshTimer = Stopwatch.StartNew();
var refreshNeeded = false;
var currentQuality = _maxQuality;
Bitmap currentFrame = null;
Bitmap previousFrame = null;
var sw = Stopwatch.StartNew();
var viewer = ServiceContainer.Instance.GetRequiredService<Viewer>();
viewer.Name = screenCastRequest.RequesterName;
@ -96,7 +89,7 @@ namespace Remotely.Desktop.Core.Services
{
await viewer.SendScreenCapture(new CaptureFrame()
{
EncodedImageBytes = ImageUtils.EncodeJpeg(initialFrame, _maxQuality),
EncodedImageBytes = ImageUtils.EncodeJpeg(initialFrame),
Left = screenBounds.Left,
Top = screenBounds.Top,
Width = screenBounds.Width,
@ -118,9 +111,6 @@ namespace Remotely.Desktop.Core.Services
{
try
{
TaskHelper.DelayUntil(() => sw.Elapsed.TotalMilliseconds > 40, TimeSpan.FromSeconds(5));
sw.Restart();
if (viewer.IsUsingWebRtcVideo)
{
Thread.Sleep(100);
@ -149,12 +139,6 @@ namespace Remotely.Desktop.Core.Services
continue;
}
if (refreshNeeded && refreshTimer.Elapsed.TotalSeconds > 5)
{
viewer.Capturer.CaptureFullscreen = true;
}
var diffArea = ImageUtils.GetDiffArea(currentFrame, previousFrame, viewer.Capturer.CaptureFullscreen);
if (diffArea.IsEmpty)
@ -162,49 +146,12 @@ namespace Remotely.Desktop.Core.Services
continue;
}
if (viewer.Capturer.CaptureFullscreen)
{
refreshTimer.Restart();
refreshNeeded = false;
}
byte[] encodedImageBytes;
if (viewer.Capturer.CaptureFullscreen)
{
// Recalculate Bps.
viewer.AverageBytesPerSecond = 0;
encodedImageBytes = ImageUtils.EncodeJpeg(currentFrame, _maxQuality);
}
else
{
if (!viewer.AutoQuality)
{
currentQuality = _maxQuality;
}
else if (viewer.AverageBytesPerSecond > 0)
{
var expectedSize = diffArea.Height * diffArea.Width * 4 * .1;
var timeToSend = expectedSize / viewer.AverageBytesPerSecond;
currentQuality = Math.Max(_minQuality, Math.Min(_maxQuality, (int)(.1 / timeToSend * _maxQuality)));
if (currentQuality < _maxQuality - 5)
{
refreshNeeded = true;
Debug.WriteLine($"Quality Reduced: {currentQuality}");
}
}
using var clone = currentFrame.Clone(diffArea, currentFrame.PixelFormat);
//var resizeW = diffArea.Width * currentQuality / _maxQuality;
//var resizeH = diffArea.Height * currentQuality / _maxQuality;
//using var resized = new Bitmap(clone, new Size(resizeW, resizeH));
encodedImageBytes = ImageUtils.EncodeJpeg(clone, currentQuality);
}
viewer.Capturer.CaptureFullscreen = false;
await sendFramesLock.WaitAsync();
SendFrame(encodedImageBytes, diffArea, viewer, sendFramesLock);
using var croppedFrame = currentFrame.Clone(diffArea, currentFrame.PixelFormat);
var encodedImageBytes = ImageUtils.EncodeJpeg(croppedFrame);
await SendFrame(encodedImageBytes, diffArea, viewer);
}
catch (Exception ex)
{
@ -237,32 +184,20 @@ namespace Remotely.Desktop.Core.Services
}
}
private static void SendFrame(byte[] encodedImageBytes, Rectangle diffArea, Viewer viewer, SemaphoreSlim sendFramesLock)
private static async Task SendFrame(byte[] encodedImageBytes, Rectangle diffArea, Viewer viewer)
{
_ = Task.Run(async () =>
if (encodedImageBytes.Length == 0)
{
try
{
return;
}
if (encodedImageBytes.Length == 0)
{
return;
}
await viewer.SendScreenCapture(new CaptureFrame()
{
EncodedImageBytes = encodedImageBytes,
Top = diffArea.Top,
Left = diffArea.Left,
Width = diffArea.Width,
Height = diffArea.Height,
});
}
finally
{
sendFramesLock.Release();
}
await viewer.SendScreenCapture(new CaptureFrame()
{
EncodedImageBytes = encodedImageBytes,
Top = diffArea.Top,
Left = diffArea.Left,
Width = diffArea.Width,
Height = diffArea.Height,
});
}
}

View File

@ -19,9 +19,6 @@ namespace Remotely.Desktop.Core.Services
{
public class Viewer : IDisposable
{
private long _bytesSent;
private TimeSpan _timeSpentSending = TimeSpan.Zero;
public Viewer(ICasterSocket casterSocket,
IScreenCapturer screenCapturer,
IClipboardService clipboardService,
@ -42,7 +39,6 @@ namespace Remotely.Desktop.Core.Services
public bool DisconnectRequested { get; set; }
public EncoderParameters EncoderParams { get; private set; }
public bool HasControl { get; set; } = true;
public bool AutoQuality { get; set; } = true;
public bool IsConnected => CasterSocket.IsConnected;
public bool IsStalled
@ -71,7 +67,6 @@ namespace Remotely.Desktop.Core.Services
public string Name { get; set; }
public double AverageBytesPerSecond { get; set; }
public ConcurrentQueue<SentFrame> PendingSentFrames { get; } = new();
public WebRtcSession RtcSession { get; set; }
@ -228,8 +223,6 @@ namespace Remotely.Desktop.Core.Services
var width = screenFrame.Width;
var height = screenFrame.Height;
var sw = Stopwatch.StartNew();
for (var i = 0; i < screenFrame.EncodedImageBytes.Length; i += 50_000)
{
var dto = new CaptureFrameDto()
@ -260,16 +253,6 @@ namespace Remotely.Desktop.Core.Services
await SendToViewer(
() => RtcSession.SendDto(endOfFrameDto),
() => CasterSocket.SendDtoToViewer(endOfFrameDto, ViewerConnectionID));
sw.Stop();
_bytesSent += screenFrame.EncodedImageBytes.Length;
_timeSpentSending += sw.Elapsed;
AverageBytesPerSecond = _bytesSent / _timeSpentSending.TotalSeconds;
Debug.WriteLine($"Mbps: {AverageBytesPerSecond / 1024 / 1024 * 8}");
}
public async Task SendScreenData(string selectedScreen, string[] displayNames)
@ -302,9 +285,15 @@ namespace Remotely.Desktop.Core.Services
public void ThrottleIfNeeded()
{
// Limit to 20 FPS.
TaskHelper.DelayUntil(() =>
!PendingSentFrames.TryPeek(out var result) || DateTimeOffset.Now - result.Timestamp > TimeSpan.FromMilliseconds(50),
TimeSpan.FromSeconds(5));
// Wait for pending frames to be received.
TaskHelper.DelayUntil(() =>
!PendingSentFrames.TryPeek(out var result) || DateTimeOffset.Now - result.Timestamp < TimeSpan.FromSeconds(1),
TimeSpan.FromSeconds(10));
TimeSpan.FromSeconds(5));
}
public void ToggleWebRtcVideo(bool toggleOn)

View File

@ -29,6 +29,13 @@ namespace Remotely.Desktop.Core.Utilities
// return ms.ToArray();
//}
public static byte[] EncodeJpeg(Bitmap bitmap)
{
using var ms = new MemoryStream();
bitmap.Save(ms, ImageFormat.Jpeg);
return ms.ToArray();
}
public static byte[] EncodeJpeg(Bitmap bitmap, int quality)
{
using var ms = new MemoryStream();

View File

@ -132,10 +132,6 @@
</div>
<div>
<button id="autoQualityButton" class="toggled option-button" title="Automatically reduce image quality on slower connections.">
Auto Quality <i class="fas fa-image"></i>
</button>
<button id="streamVideoButton" class="option-button" hidden title="Reduce bandwidth and increase FPS, but increase input delay.">
Stream Mode <i class="fas fa-video"></i>
</button>

View File

@ -31,7 +31,6 @@ export const ViewerApp = {
UI.ViewOnlyButton.classList.add("toggled");
}
ApplyInputHandlers();
UI.UpdateAutoQualityToggled(ViewerApp.Settings.autoQuality);
if (UI.RequesterNameInput.value) {
ViewerApp.RequesterName = UI.RequesterNameInput.value;
}

View File

@ -1 +1 @@
{"version":3,"file":"App.js","sourceRoot":"","sources":["App.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"App.js","sourceRoot":"","sources":["App.ts"],"names":[],"mappings":"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"}

View File

@ -37,8 +37,6 @@ export const ViewerApp = {
ApplyInputHandlers();
UI.UpdateAutoQualityToggled(ViewerApp.Settings.autoQuality);
if (UI.RequesterNameInput.value) {
ViewerApp.RequesterName = UI.RequesterNameInput.value;
}

View File

@ -89,7 +89,6 @@ export class DtoMessageHandler {
}
HandleScreenData(screenDataDto) {
UI.UpdateDisplays(screenDataDto.SelectedScreen, screenDataDto.DisplayNames);
ViewerApp.MessageSender.SendToggleAutoQuality(ViewerApp.Settings.autoQuality);
}
HandleScreenSize(screenSizeDto) {
UI.SetScreenSize(screenSizeDto.Width, screenSizeDto.Height);

View File

@ -1 +1 @@
{"version":3,"file":"DtoMessageHandler.js","sourceRoot":"","sources":["DtoMessageHandler.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"DtoMessageHandler.js","sourceRoot":"","sources":["DtoMessageHandler.ts"],"names":[],"mappings":"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"}

View File

@ -114,7 +114,6 @@ export class DtoMessageHandler {
}
HandleScreenData(screenDataDto: ScreenDataDto) {
UI.UpdateDisplays(screenDataDto.SelectedScreen, screenDataDto.DisplayNames);
ViewerApp.MessageSender.SendToggleAutoQuality(ViewerApp.Settings.autoQuality);
}
HandleScreenSize(screenSizeDto: ScreenSizeDto) {

View File

@ -16,7 +16,6 @@ export var BaseDtoType;
BaseDtoType[BaseDtoType["KeyDown"] = 13] = "KeyDown";
BaseDtoType[BaseDtoType["KeyUp"] = 14] = "KeyUp";
BaseDtoType[BaseDtoType["CtrlAltDel"] = 15] = "CtrlAltDel";
BaseDtoType[BaseDtoType["ToggleAutoQuality"] = 16] = "ToggleAutoQuality";
BaseDtoType[BaseDtoType["ToggleAudio"] = 17] = "ToggleAudio";
BaseDtoType[BaseDtoType["ToggleBlockInput"] = 18] = "ToggleBlockInput";
BaseDtoType[BaseDtoType["ClipboardTransfer"] = 19] = "ClipboardTransfer";

View File

@ -1 +1 @@
{"version":3,"file":"BaseDtoType.js","sourceRoot":"","sources":["BaseDtoType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,WA4BX;AA5BD,WAAY,WAAW;IACnB,6DAAgB,CAAA;IAChB,yDAAc,CAAA;IACd,yDAAc,CAAA;IACd,2DAAe,CAAA;IACf,+DAAiB,CAAA;IACjB,2DAAe,CAAA;IACf,6DAAgB,CAAA;IAChB,6DAAgB,CAAA;IAChB,uDAAa,CAAA;IACb,uDAAa,CAAA;IACb,oDAAY,CAAA;IACZ,4CAAQ,CAAA;IACR,0DAAe,CAAA;IACf,oDAAY,CAAA;IACZ,gDAAU,CAAA;IACV,0DAAe,CAAA;IACf,wEAAsB,CAAA;IACtB,4DAAgB,CAAA;IAChB,sEAAqB,CAAA;IACrB,wEAAsB,CAAA;IACtB,sDAAa,CAAA;IACb,8CAAS,CAAA;IACT,oEAAoB,CAAA;IACpB,kEAAmB,CAAA;IACnB,gEAAkB,CAAA;IAClB,wEAAsB,CAAA;IACtB,kFAA2B,CAAA;AAC/B,CAAC,EA5BW,WAAW,KAAX,WAAW,QA4BtB"}
{"version":3,"file":"BaseDtoType.js","sourceRoot":"","sources":["BaseDtoType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,WA2BX;AA3BD,WAAY,WAAW;IACnB,6DAAgB,CAAA;IAChB,yDAAc,CAAA;IACd,yDAAc,CAAA;IACd,2DAAe,CAAA;IACf,+DAAiB,CAAA;IACjB,2DAAe,CAAA;IACf,6DAAgB,CAAA;IAChB,6DAAgB,CAAA;IAChB,uDAAa,CAAA;IACb,uDAAa,CAAA;IACb,oDAAY,CAAA;IACZ,4CAAQ,CAAA;IACR,0DAAe,CAAA;IACf,oDAAY,CAAA;IACZ,gDAAU,CAAA;IACV,0DAAe,CAAA;IACf,4DAAgB,CAAA;IAChB,sEAAqB,CAAA;IACrB,wEAAsB,CAAA;IACtB,sDAAa,CAAA;IACb,8CAAS,CAAA;IACT,oEAAoB,CAAA;IACpB,kEAAmB,CAAA;IACnB,gEAAkB,CAAA;IAClB,wEAAsB,CAAA;IACtB,kFAA2B,CAAA;AAC/B,CAAC,EA3BW,WAAW,KAAX,WAAW,QA2BtB"}

View File

@ -15,7 +15,6 @@
KeyDown = 13,
KeyUp = 14,
CtrlAltDel = 15,
ToggleAutoQuality = 16,
ToggleAudio = 17,
ToggleBlockInput = 18,
ClipboardTransfer = 19,

View File

@ -1,4 +1,4 @@
import { AudioButton, ChangeScreenButton, HorizontalBars, ScreenSelectBar, ClipboardTransferButton, ClipboardTransferBar, TypeClipboardButton, ConnectButton, CtrlAltDelButton, DisconnectButton, FileTransferButton, FileTransferInput, FitToScreenButton, ScreenViewer, BlockInputButton, InviteButton, KeyboardButton, TouchKeyboardTextArea, MenuFrame, MenuButton, ScreenViewerWrapper, WindowsSessionSelect, RecordSessionButton, DownloadRecordingButton, VideoScreenViewer, StreamVideoButton, FileTransferBar, FileUploadButtton, FileDownloadButton, UpdateStreamingToggled, ViewOnlyButton, FullScreenButton, AutoQualityButton } from "./UI.js";
import { AudioButton, ChangeScreenButton, HorizontalBars, ScreenSelectBar, ClipboardTransferButton, ClipboardTransferBar, TypeClipboardButton, ConnectButton, CtrlAltDelButton, DisconnectButton, FileTransferButton, FileTransferInput, FitToScreenButton, ScreenViewer, BlockInputButton, InviteButton, KeyboardButton, TouchKeyboardTextArea, MenuFrame, MenuButton, ScreenViewerWrapper, WindowsSessionSelect, RecordSessionButton, DownloadRecordingButton, VideoScreenViewer, StreamVideoButton, FileTransferBar, FileUploadButtton, FileDownloadButton, UpdateStreamingToggled, ViewOnlyButton, FullScreenButton } from "./UI.js";
import { Sound } from "./Sound.js";
import { ViewerApp } from "./App.js";
import { UploadFiles } from "./FileTransferService.js";
@ -29,13 +29,6 @@ export function ApplyInputHandlers() {
}
ViewerApp.MessageSender.SendToggleAudio(toggleOn);
});
AutoQualityButton.addEventListener("click", (ev) => {
AutoQualityButton.classList.toggle("toggled");
var toggleOn = AutoQualityButton.classList.contains("toggled");
ViewerApp.Settings.autoQuality = toggleOn;
SetSettings(ViewerApp.Settings);
ViewerApp.MessageSender.SendToggleAutoQuality(toggleOn);
});
ChangeScreenButton.addEventListener("click", (ev) => {
closeAllHorizontalBars("screenSelectBar");
ScreenSelectBar.classList.toggle("open");

File diff suppressed because one or more lines are too long

View File

@ -30,8 +30,7 @@
FileDownloadButton,
UpdateStreamingToggled,
ViewOnlyButton,
FullScreenButton,
AutoQualityButton
FullScreenButton
} from "./UI.js";
import { Sound } from "./Sound.js";
import { ViewerApp } from "./App.js";
@ -66,15 +65,6 @@ export function ApplyInputHandlers() {
}
ViewerApp.MessageSender.SendToggleAudio(toggleOn);
});
AutoQualityButton.addEventListener("click", (ev) => {
AutoQualityButton.classList.toggle("toggled");
var toggleOn = AutoQualityButton.classList.contains("toggled");
ViewerApp.Settings.autoQuality = toggleOn;
SetSettings(ViewerApp.Settings);
ViewerApp.MessageSender.SendToggleAutoQuality(toggleOn);
});
ChangeScreenButton.addEventListener("click", (ev) => {
closeAllHorizontalBars("screenSelectBar");
ScreenSelectBar.classList.toggle("open");

View File

@ -93,12 +93,6 @@ export class ToggleAudioDto {
this.ToggleOn = toggleOn;
}
}
export class ToggleAutoQualityDto {
constructor(toggleOn) {
this.DtoType = BaseDtoType.ToggleAutoQuality;
this.ToggleOn = toggleOn;
}
}
export class ToggleBlockInputDto {
constructor(toggleOn) {
this.DtoType = BaseDtoType.ToggleBlockInput;

View File

@ -1 +1 @@
{"version":3,"file":"Dtos.js","sourceRoot":"","sources":["Dtos.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAuBtD,MAAM,OAAO,oBAAoB;IAC7B,YAAY,IAAY,EAAE,QAAgB;QAO1C,YAAO,GAAgB,WAAW,CAAC,iBAAiB,CAAC;QANjD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;CAKJ;AAGD,MAAM,OAAO,aAAa;IAA1B;QACI,YAAO,GAAgB,WAAW,CAAC,UAAU,CAAC;IAClD,CAAC;CAAA;AASD,MAAM,OAAO,OAAO;IAChB,YAAY,MAAkB,EAC1B,QAAgB,EAChB,SAAiB,EACjB,SAAkB,EAClB,WAAoB;QAexB,YAAO,GAAgB,WAAW,CAAC,IAAI,CAAC;QAbpC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACnC,CAAC;CASJ;AAED,MAAM,OAAO,UAAU;IACnB,YAAY,IAAiB;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACxB,CAAC;CAEJ;AAED,MAAM,OAAO,UAAU;IACnB,YAAY,GAAW;QAKvB,YAAO,GAAgB,WAAW,CAAC,OAAO,CAAC;QAJvC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACnB,CAAC;CAIJ;AAED,MAAM,OAAO,WAAW;IACpB,YAAY,GAAW;QAKvB,YAAO,GAAgB,WAAW,CAAC,QAAQ,CAAC;QAJxC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACnB,CAAC;CAIJ;AAED,MAAM,OAAO,QAAQ;IACjB,YAAY,GAAW;QAKvB,YAAO,GAAgB,WAAW,CAAC,KAAK,CAAC;QAJrC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACnB,CAAC;CAIJ;AAMD,MAAM,OAAO,YAAY;IACrB,YAAY,MAAc,EAAE,QAAgB,EAAE,QAAgB;QAS9D,YAAO,GAAgB,WAAW,CAAC,SAAS,CAAC;QARzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;CAMJ;AAED,MAAM,OAAO,YAAY;IACrB,YAAY,QAAgB,EAAE,QAAgB;QAO9C,YAAO,GAAgB,WAAW,CAAC,SAAS,CAAC;QANzC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;CAKJ;AAED,MAAM,OAAO,UAAU;IACnB,YAAY,MAAc,EAAE,QAAgB,EAAE,QAAgB;QAS9D,YAAO,GAAgB,WAAW,CAAC,OAAO,CAAC;QARvC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;CAMJ;AAED,MAAM,OAAO,aAAa;IACtB,YAAY,MAAc,EAAE,MAAc;QAO1C,YAAO,GAAgB,WAAW,CAAC,UAAU,CAAC;QAN1C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;CAKJ;AAYD,MAAM,OAAO,eAAe;IACxB,YAAY,WAAmB;QAK/B,YAAO,GAAgB,WAAW,CAAC,YAAY,CAAC;QAJ5C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACnC,CAAC;CAIJ;AAED,MAAM,OAAO,MAAM;IACf,YAAY,QAAgB,EAAE,QAAgB;QAO9C,YAAO,GAAgB,WAAW,CAAC,GAAG,CAAC;QANnC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;CAKJ;AAED,MAAM,OAAO,cAAc;IACvB,YAAY,QAAiB;QAK7B,YAAO,GAAgB,WAAW,CAAC,WAAW,CAAC;QAJ3C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;CAIJ;AAED,MAAM,OAAO,oBAAoB;IAC7B,YAAY,QAAiB;QAK7B,YAAO,GAAgB,WAAW,CAAC,iBAAiB,CAAC;QAJjD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;CAIJ;AAED,MAAM,OAAO,mBAAmB;IAC5B,YAAY,QAAiB;QAK7B,YAAO,GAAgB,WAAW,CAAC,gBAAgB,CAAC;QAJhD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;CAIJ;AAED,MAAM,OAAO,oBAAoB;IAC7B,YAAY,QAAiB;QAK7B,YAAO,GAAgB,WAAW,CAAC,iBAAiB,CAAC;QAJjD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;CAIJ;AAGD,MAAM,OAAO,kBAAkB;IAA/B;QAGI,YAAO,GAAgB,WAAW,CAAC,eAAe,CAAC;IACvD,CAAC;CAAA"}
{"version":3,"file":"Dtos.js","sourceRoot":"","sources":["Dtos.ts"],"names":[],"mappings":"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"}

View File

@ -193,14 +193,6 @@ export class ToggleAudioDto implements BaseDto {
DtoType: BaseDtoType = BaseDtoType.ToggleAudio;
}
export class ToggleAutoQualityDto implements BaseDto {
constructor(toggleOn: boolean) {
this.ToggleOn = toggleOn;
}
ToggleOn: boolean;
DtoType: BaseDtoType = BaseDtoType.ToggleAutoQuality;
}
export class ToggleBlockInputDto implements BaseDto {
constructor(toggleOn: boolean) {

View File

@ -1,5 +1,4 @@
export interface Settings {
autoQuality: boolean;
displayName: string;
streamModeEnabled: boolean;
}

View File

@ -1,5 +1,5 @@
import { ViewerApp } from "./App.js";
import { CtrlAltDelDto, KeyDownDto, KeyPressDto, KeyUpDto, MouseDownDto, MouseMoveDto, MouseUpDto, MouseWheelDto, SelectScreenDto, TapDto, ToggleAudioDto, ToggleBlockInputDto, ClipboardTransferDto, FileDto, WindowsSessionsDto, GenericDto, ToggleWebRtcVideoDto, ToggleAutoQualityDto } from "./Interfaces/Dtos.js";
import { CtrlAltDelDto, KeyDownDto, KeyPressDto, KeyUpDto, MouseDownDto, MouseMoveDto, MouseUpDto, MouseWheelDto, SelectScreenDto, TapDto, ToggleAudioDto, ToggleBlockInputDto, ClipboardTransferDto, FileDto, WindowsSessionsDto, GenericDto, ToggleWebRtcVideoDto } from "./Interfaces/Dtos.js";
import { CreateGUID, When } from "./Utilities.js";
import { FileTransferProgress } from "./UI.js";
import { BaseDtoType } from "./Enums/BaseDtoType.js";
@ -85,10 +85,6 @@ export class MessageSender {
dto = new FileDto(null, fileName, messageId, true, false);
this.SendToAgent(() => ViewerApp.RtcSession.SendDto(dto), () => ViewerApp.ViewerHubConnection.SendDtoToClient(dto));
}
SendToggleAutoQuality(toggleOn) {
var dto = new ToggleAutoQualityDto(toggleOn);
this.SendToAgent(() => ViewerApp.RtcSession.SendDto(dto), () => ViewerApp.ViewerHubConnection.SendDtoToClient(dto));
}
SendToggleAudio(toggleOn) {
var dto = new ToggleAudioDto(toggleOn);
this.SendToAgent(() => ViewerApp.RtcSession.SendDto(dto), () => ViewerApp.ViewerHubConnection.SendDtoToClient(dto));

File diff suppressed because one or more lines are too long

View File

@ -16,8 +16,7 @@ import {
FileDto,
WindowsSessionsDto,
GenericDto,
ToggleWebRtcVideoDto,
ToggleAutoQualityDto
ToggleWebRtcVideoDto
} from "./Interfaces/Dtos.js";
import { CreateGUID, When } from "./Utilities.js";
import { FileTransferProgress } from "./UI.js";
@ -130,12 +129,6 @@ export class MessageSender {
() => ViewerApp.ViewerHubConnection.SendDtoToClient(dto));
}
SendToggleAutoQuality(toggleOn: boolean) {
var dto = new ToggleAutoQualityDto(toggleOn);
this.SendToAgent(() => ViewerApp.RtcSession.SendDto(dto),
() => ViewerApp.ViewerHubConnection.SendDtoToClient(dto));
}
SendToggleAudio(toggleOn: boolean) {
var dto = new ToggleAudioDto(toggleOn);
this.SendToAgent(() => ViewerApp.RtcSession.SendDto(dto),

View File

@ -1,7 +1,6 @@
const defaultSettings = {
streamModeEnabled: false,
displayName: "",
autoQuality: true
displayName: ""
};
export function GetSettings() {
try {

View File

@ -1 +1 @@
{"version":3,"file":"SettingsService.js","sourceRoot":"","sources":["SettingsService.ts"],"names":[],"mappings":"AAEA,MAAM,eAAe,GAAG;IACpB,iBAAiB,EAAE,KAAK;IACxB,WAAW,EAAE,EAAE;IACf,WAAW,EAAE,IAAI;CACpB,CAAC;AAGF,MAAM,UAAU,WAAW;IACvB,IAAI;QACA,IAAI,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACvD,IAAI,QAAQ,EAAE;YACV,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SAC/B;KACJ;IACD,OAAO,EAAE,EAAE;QACP,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;KACrB;IAED,WAAW,CAAC,eAAe,CAAC,CAAC;IAC7B,OAAO,eAAe,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,QAAkB;IAC1C,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;AACtE,CAAC"}
{"version":3,"file":"SettingsService.js","sourceRoot":"","sources":["SettingsService.ts"],"names":[],"mappings":"AAEA,MAAM,eAAe,GAAG;IACpB,iBAAiB,EAAE,KAAK;IACxB,WAAW,EAAE,EAAE;CAClB,CAAC;AAGF,MAAM,UAAU,WAAW;IACvB,IAAI;QACA,IAAI,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACvD,IAAI,QAAQ,EAAE;YACV,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SAC/B;KACJ;IACD,OAAO,EAAE,EAAE;QACP,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;KACrB;IAED,WAAW,CAAC,eAAe,CAAC,CAAC;IAC7B,OAAO,eAAe,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,QAAkB;IAC1C,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;AACtE,CAAC"}

View File

@ -2,8 +2,7 @@
const defaultSettings = {
streamModeEnabled: false,
displayName: "",
autoQuality: true
displayName: ""
};

View File

@ -45,7 +45,6 @@ export var RecordSessionButton = document.getElementById("recordSessionButton");
export var DownloadRecordingButton = document.getElementById("downloadRecordingButton");
export var ViewOnlyButton = document.getElementById("viewOnlyButton");
export var FullScreenButton = document.getElementById("fullScreenButton");
export var AutoQualityButton = document.getElementById("autoQualityButton");
export var ToastsWrapper = document.getElementById("toastsWrapper");
export function GetCurrentViewer() {
if (ScreenViewer.hasAttribute("hidden")) {
@ -156,21 +155,11 @@ export function UpdateStreamingToggled(toggleOn) {
StreamVideoButton.classList.add("toggled");
VideoScreenViewer.removeAttribute("hidden");
ScreenViewer.setAttribute("hidden", "hidden");
AutoQualityButton.setAttribute("hidden", "hidden");
}
else {
StreamVideoButton.classList.remove("toggled");
ScreenViewer.removeAttribute("hidden");
VideoScreenViewer.setAttribute("hidden", "hidden");
AutoQualityButton.removeAttribute("hidden");
}
}
export function UpdateAutoQualityToggled(toggleOn) {
if (toggleOn) {
AutoQualityButton.classList.add("toggled");
}
else {
AutoQualityButton.classList.remove("toggled");
}
}
export function UpdateWindowsSessions(windowsSessions) {

File diff suppressed because one or more lines are too long

View File

@ -47,7 +47,6 @@ export var RecordSessionButton = document.getElementById("recordSessionButton")
export var DownloadRecordingButton = document.getElementById("downloadRecordingButton") as HTMLButtonElement;
export var ViewOnlyButton = document.getElementById("viewOnlyButton") as HTMLButtonElement;
export var FullScreenButton = document.getElementById("fullScreenButton") as HTMLButtonElement;
export var AutoQualityButton = document.getElementById("autoQualityButton") as HTMLButtonElement;
export var ToastsWrapper = document.getElementById("toastsWrapper") as HTMLDivElement;
export function GetCurrentViewer(): HTMLElement {
@ -178,22 +177,11 @@ export function UpdateStreamingToggled(toggleOn: boolean) {
StreamVideoButton.classList.add("toggled");
VideoScreenViewer.removeAttribute("hidden");
ScreenViewer.setAttribute("hidden", "hidden");
AutoQualityButton.setAttribute("hidden", "hidden");
}
else {
StreamVideoButton.classList.remove("toggled");
ScreenViewer.removeAttribute("hidden");
VideoScreenViewer.setAttribute("hidden", "hidden");
AutoQualityButton.removeAttribute("hidden");
}
}
export function UpdateAutoQualityToggled(toggleOn: boolean) {
if (toggleOn) {
AutoQualityButton.classList.add("toggled");
}
else {
AutoQualityButton.classList.remove("toggled");
}
}

View File

@ -37,8 +37,6 @@ namespace Remotely.Shared.Enums
KeyUp = 14,
[EnumMember(Value = "CtrlAltDel")]
CtrlAltDel = 15,
[EnumMember(Value = "AutoQuality")]
ToggleAutoQuality = 16,
[EnumMember(Value = "ToggleAudio")]
ToggleAudio = 17,
[EnumMember(Value = "ToggleBlockInput")]

View File

@ -1,15 +0,0 @@
using Remotely.Shared.Enums;
using System.Runtime.Serialization;
namespace Remotely.Shared.Models.RemoteControlDtos
{
[DataContract]
public class ToggleAutoQualityDto : BaseDto
{
[DataMember(Name = "ToggleOn")]
public bool ToggleOn { get; set; }
[DataMember(Name = "DtoType")]
public new BaseDtoType DtoType { get; } = BaseDtoType.ToggleAutoQuality;
}
}