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)