From 1f7890fbe723b4f03f25b1b00a10f800bd8d20a0 Mon Sep 17 00:00:00 2001 From: Jared Date: Sat, 6 Mar 2021 16:18:22 -0800 Subject: [PATCH] Wait for buffer drain on any RTC DTO. --- Desktop.Core/Services/Viewer.cs | 12 +++--------- Desktop.Core/Services/WebRtcSession.cs | 2 +- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/Desktop.Core/Services/Viewer.cs b/Desktop.Core/Services/Viewer.cs index dd5ab120..0e0b875a 100644 --- a/Desktop.Core/Services/Viewer.cs +++ b/Desktop.Core/Services/Viewer.cs @@ -208,15 +208,9 @@ namespace Remotely.Desktop.Core.Services MessageId = messageId }; - await SendToViewer(async () => - { - await RtcSession.SendDto(fileDto); - await TaskHelper.DelayUntilAsync(() => RtcSession.CurrentBuffer == 0, TimeSpan.FromSeconds(5), 100); - }, - async () => - { - await CasterSocket.SendDtoToViewer(fileDto, ViewerConnectionID); - }); + await SendToViewer( + () => RtcSession.SendDto(fileDto), + () => CasterSocket.SendDtoToViewer(fileDto, ViewerConnectionID)); progressUpdateCallback((double)fs.Position / fs.Length); } diff --git a/Desktop.Core/Services/WebRtcSession.cs b/Desktop.Core/Services/WebRtcSession.cs index bee69405..2f56d61b 100644 --- a/Desktop.Core/Services/WebRtcSession.cs +++ b/Desktop.Core/Services/WebRtcSession.cs @@ -110,7 +110,7 @@ namespace Remotely.Desktop.Core.Services public Task SendDto(T dto) where T : BaseDto { CaptureChannel.SendMessage(MessagePackSerializer.Serialize(dto)); - return Task.CompletedTask; + return TaskHelper.DelayUntilAsync(() => CurrentBuffer < 64, TimeSpan.FromSeconds(5)); } public async Task SetRemoteDescription(string type, string sdp)