diff --git a/ShareX.HelpersLib/Extensions/StreamExtensions.cs b/ShareX.HelpersLib/Extensions/StreamExtensions.cs index 2e7190bf5..51c910248 100644 --- a/ShareX.HelpersLib/Extensions/StreamExtensions.cs +++ b/ShareX.HelpersLib/Extensions/StreamExtensions.cs @@ -76,6 +76,33 @@ public static int CopyStreamTo(this Stream fromStream, Stream toStream, int offs return totalBytesRead; } + public static int CopyStreamTo64(this FileStream fromStream, Stream toStream, long offset, int length, int bufferSize = DefaultBufferSize) + { + fromStream.Position = offset; + + byte[] buffer = new byte[bufferSize]; + int bytesRead; + + int totalBytesRead = 0; + int positionLimit = length - bufferSize; + int readLength = bufferSize; + + do + { + if (totalBytesRead > positionLimit) + { + readLength = length - totalBytesRead; + } + + bytesRead = fromStream.Read(buffer, 0, readLength); + toStream.Write(buffer, 0, bytesRead); + totalBytesRead += bytesRead; + } + while (bytesRead > 0 && totalBytesRead < length); + + return totalBytesRead; + } + public static bool WriteToFile(this Stream stream, string filePath) { if (stream.Length > 0 && !string.IsNullOrEmpty(filePath)) diff --git a/ShareX.ScreenCaptureLib/Properties/Resources.Designer.cs b/ShareX.ScreenCaptureLib/Properties/Resources.Designer.cs index 3fba2e4ae..a3dbe735f 100644 --- a/ShareX.ScreenCaptureLib/Properties/Resources.Designer.cs +++ b/ShareX.ScreenCaptureLib/Properties/Resources.Designer.cs @@ -124,17 +124,7 @@ internal class Resources { return ResourceManager.GetString("FFmpegOptionsForm_UpdateUI_Quality_", resourceCulture); } } - - /// - /// Looks up a localized string similar to Cache file size cannot exceed {0} Bytes. - ///Please use FFmpeg screen recording instead of GIF.. - /// - internal static string HardDiskCache_GetImageEnumerator_Cache_file_size_cannot_exceed { - get { - return ResourceManager.GetString("HardDiskCache_GetImageEnumerator_Cache_file_size_cannot_exceed", resourceCulture); - } - } - + /// /// Looks up a localized string similar to Ctrl: Drawing mode ░ Space: Fullscreen capture. /// diff --git a/ShareX.ScreenCaptureLib/Properties/Resources.de.resx b/ShareX.ScreenCaptureLib/Properties/Resources.de.resx index 49474b8cb..50cb354a0 100644 --- a/ShareX.ScreenCaptureLib/Properties/Resources.de.resx +++ b/ShareX.ScreenCaptureLib/Properties/Resources.de.resx @@ -1,4 +1,4 @@ - +