NickeManarin / ScreenToGif

🎬 ScreenToGif allows you to record a selected area of your screen, edit and save it as a gif or video.

Home Page:http://www.screentogif.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Bug] Insert Screen Recording - Not Working (Frames not found)

LazyEti opened this issue · comments

Describe the bug
Hello, it seems like the "Insert Screen Recording" feature is not working at all on my end which makes it very difficult to edit footage after recording.

To Reproduce
Steps to reproduce the behavior:

  1. Create a recording.
  2. Add a new recording to it (Insert Screen Recording)
  3. When you end the 2nd recording, an error window appears saying that the frames files can't be found.

Expected behavior
No crash :')

Screenshots
error

Desktop (please complete the following information):

  • OS: Win 10.0.17763
  • V. 2.40.1

Additional context
I tried looking up the path and there's indeed no temp frames in the folder.
Tested on version 2.37.2 and 2.40.1 but the issue is happening on both.

Logs:
Could not find file 'C:\Users\LazyEti\AppData\Local\Temp\ScreenToGif\Recording\2024-03-15 06-31-53\1.png'.

at Microsoft.Win32.SafeHandles.SafeFileHandle.CreateFile(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options)
at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable1 unixCreateMode) at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable1 unixCreateMode)
at System.IO.Strategies.FileStreamHelpers.ChooseStrategyCore(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable1 unixCreateMode) at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share) at ScreenToGif.Util.Extensions.ImageExtensions.SourceFrom(String fileSource, Nullable1 size) in C:\Users\nicke\source\ScreenToGif\ScreenToGif.Util\Extensions\ImageExtensions.cs:line 17
at ScreenToGif.Windows.Other.Insert.Window_Loaded(Object sender, RoutedEventArgs e) in C:\Users\nicke\source\ScreenToGif\ScreenToGif\Windows\Other\Insert.xaml.cs:line 277
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.BroadcastEventHelper.BroadcastEvent(DependencyObject root, RoutedEvent routedEvent)
at System.Windows.BroadcastEventHelper.BroadcastLoadedEvent(Object root)
at System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()
at System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget)
at System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget)
at System.Windows.Media.MediaContext.Resize(ICompositionTarget resizedCompositionTarget)
at System.Windows.Interop.HwndTarget.OnResize()
at System.Windows.Interop.HwndTarget.HandleMessage(WindowMessage msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Interop.HwndSource.HwndTargetFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)

I'm unsure what's causing the frame to be missing.

Have you tried setting the cache folder in the exception list of your Anti-virus?

image

Or perhaps you can try using the memory cache option in Options > Recorder

image

@NickeManarin Actually I think the issue occurs when the memory cache is selected. In that case there are no files stored on the disk but the code assumes there are and they to move them and the exception happens. I'll try to see if there's a solution to that