Skip to content

v1.0.2 - Crash Fix Release

Choose a tag to compare

@github-actions github-actions released this 23 Aug 03:48
· 25 commits to main since this release

What's Fixed in v1.0.2

Critical Bug Fixes

  • Fixed app crash/exit when starting recording - The app would immediately exit when clicking the record button due to thread-affinity issues with mss (screen capture library) and Qt's QThread model.
  • Fixed mss thread-local GDI handle errors ('_thread._local' object has no attribute 'srcdc') at high frame rates (60fps).
  • Rewrote recording pipeline using Python's native threading.Thread with thread-safe queues instead of QThread+QTimer, ensuring mss GDI handles are created and used within the same thread.
  • Fixed pyqtSlot signature mismatch between audio_data signal and write_audio_data slot that prevented audio from being passed to the encoder.
  • Added automatic hardware encoder fallback - When hardware encoders (QSV/NVENC/AMF) are not available, automatically falls back to software libx264 instead of crashing.
  • Improved mss resource cleanup on recording stop, handling thread-local handle errors gracefully.
  • System audio (WASAPI loopback) now works correctly when the microphone is turned off.

Technical Changes

  • New RecordingWorker class using threading.Thread with audio/command queue.Queue for cross-thread communication.
  • Frame timing maintained with time.perf_counter() for precise fps capture.
  • Removed dependency on QThread/QTimer for the capture/encoding loop.
  • Audio data delivered via thread-safe queue instead of relying solely on Qt signals cross-thread.

Installation

  1. Download ScreenRecorder-1.0.2-setup.exe below
  2. Run the installer and follow the prompts
  3. Launch Screen Recorder from the Start Menu

Portable Version

Download ScreenRecorder-v1.0.2-portable.zip for a portable version that doesn't require installation. Just extract and run ScreenRecorder.exe.