Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Major enhancements and bugfixes #378

Merged
merged 17 commits into from
Sep 6, 2023
Merged

Major enhancements and bugfixes #378

merged 17 commits into from
Sep 6, 2023

Conversation

abhiTronix
Copy link
Owner

@abhiTronix abhiTronix commented Sep 4, 2023

Brief Description

This PR focuses on improving functionality, fixing bugs, enhancing documentation, and updating tests in the project, making it more robust and user-friendly.

Changes:

This PR includes a series of updates and improvements to different parts of the project:

  • NetGear Module Enhancement:

    • Added a kill argument to the close() method to forcefully terminate the ZMQ context, primarily for use in the receive mode.
    • Added timeout support for pattern=2 in receiver_mode.
      • Introduced the subscriber_timeout optional integer parameter to specify a timeout for Receiver Mode with pattern=2.
    • Updated logging related to this change.
    • Documentation updates to include information about the new kill argument.
  • ScreenGear Module Bug Fix:

    • Fixed a bug where region dimensions were swapped when using the dxcam backend.
    • Addressed a related issue where the "mss" backend was disabled when the monitor parameter was not defined.
  • Stabilizer Class Improvements:

    • Made improvements and fixes in the Stabilizer Class.
  • WriteGear Module Enhancements:

    • Added a feature to enable detached subprocess creation on Windows to prevent the FFmpeg command line window from popping up in silent mode.
      • Introduced the disable_ffmpeg_window optional Boolean flag for this feature.
  • Continuous Integration (CI) Updates:

    • Updated tests related to the subscriber_timeout parameter in NetGear.
    • Updated tests for the disable_ffmpeg_window optional Boolean parameter in WriteGear.
  • Documentation Improvements:

    • Documented the new subscriber_timeout parameter in NetGear.
    • Documented the disable_ffmpeg_window parameter in WriteGear.
    • Updated the ScreenGear documentation with information on supported dimensional attributes.
    • Added new assets and fixed missing information in WriteGear API documentation.
    • Fixed typos and improved context in various documentation sections.

Requirements / Checklist

Related Issue

#361
#372
#374
#377

Context

These changes were required to enhance functionality, fix bugs, improve documentation, and ensure a smoother user experience when working with the project's modules and features. They address various issues and usability concerns that users might encounter during development and usage.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

abhiTronix and others added 14 commits August 5, 2023 17:27
- 🚩 Implemented new `kill` argument to `close()` method to forcefully kill ZMQ context instead of graceful exit only in the `receive` mode.
- 🔊 Updated logging.
…d. (Fixes #372)

- 🩹 Fixed "mss" backend disabled when `monitor` parameter is not defined.

Stabilizer Class:
- 🔥 Removed redundant code
- ✏️ Fixed typos.
…ixes #372)

- 📝 Updated information related to Supported Dimensional Attributes in ScreenGear docs.
- ✏️ Fixed typos and context.
- 🍱 Added new asset `screengear_region.png`.
- 📄 Fixed missing `compression_mode` flags in WriteGear API docs.
…Fixes #374)

- ✨ Added new `subscriber_timeout` integer optional parameter to support timeout with `pattern=2` or PUBLISHER-SUBSCRIBER pattern.
  - 🧑‍💻 Receiver will exit safely if timeout defined(any value(in milliseconds) > 0), and timeout occurs in Receiver Mode with `pattern=2`.
  - 🎨 Note: Default behavior still is to block the thread till infinite time.
- 🔊 Updated logging.
- ✨ Added a new feature to enable detached subprocess creation on Windows within the WriteGear API. 
  - 🧑‍💻 This enhancement enhances the process management capabilities of the module.
  - ♿️ Use Case: This can be useful while creating an exe file for a python script that uses WriteGear API. On windows even after creating the exe file in windowed mode or no-console mode, the ffmpeg.exe command line window would pop up while its being used by WriteGear API.
- 🚩 Added new `ffmpeg_subprocess_creation_window` Boolean flag to enable this feature.
- ⚡️This feature can be enabled both in logging and silent mode.
- ✨ Added new `-disable_ffmpeg_window` optional Boolean flag to enable patch that prevents FFmpeg creation window from opening when building .exe files on Windows OS.
  - ⚡️Note: Now `-disable_ffmpeg_window` optional Boolean flag is only available on Windows OS with logging disabled(`logging=False`) in compression mode.
- 🚩 Removed `ffmpeg_subprocess_creation_window` class parameter.
- 🥅 Disabled this patch for logging mode.
- 🔥 Removed redundant code.
- 🔊 Updated logging.
@abhiTronix abhiTronix self-assigned this Sep 4, 2023
@abhiTronix abhiTronix added BUG 🐛 Vidgear api's error, flaw or fault ENHANCEMENT ⚡ New Feature/Addition/Improvement MAINTENANCE 🏗️ Just sorting things out! WORK IN PROGRESS 🚧 currently been worked on. PENDING TESTS 🧪 Waiting for CI tests to complete successfully. labels Sep 4, 2023
@abhiTronix abhiTronix added this to In progress in VidGear v0.3.2 via automation Sep 4, 2023
@abhiTronix abhiTronix added this to the v0.3.2 milestone Sep 4, 2023
@codecov
Copy link

codecov bot commented Sep 4, 2023

Codecov Report

Patch coverage is 100.00% of modified lines.

Files Changed Coverage
vidgear/gears/netgear.py 100.00%
vidgear/gears/screengear.py 100.00%
vidgear/gears/stabilizer.py 100.00%
vidgear/gears/writegear.py 100.00%

📢 Thoughts on this report? Let us know!.

@abhiTronix abhiTronix merged commit 3c0dd5d into testing Sep 6, 2023
10 checks passed
VidGear v0.3.2 automation moved this from In progress to Done Sep 6, 2023
@abhiTronix abhiTronix deleted the development branch September 6, 2023 19:08
@abhiTronix abhiTronix added SOLVED 🏁 This issue/PR is resolved now. Goal Achieved! and removed WORK IN PROGRESS 🚧 currently been worked on. PENDING TESTS 🧪 Waiting for CI tests to complete successfully. labels Sep 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
BUG 🐛 Vidgear api's error, flaw or fault ENHANCEMENT ⚡ New Feature/Addition/Improvement MAINTENANCE 🏗️ Just sorting things out! SOLVED 🏁 This issue/PR is resolved now. Goal Achieved!
Projects
No open projects
2 participants