• 1.1.0 68643358c3

    1.1.0 Stable

    Khyretos released this 2026-03-24 20:45:04 +01:00 | 0 commits to main since this release

    Release Notes – Qt-Caster 1.1.0

    We’re pleased to announce the release of Qt-Caster 1.1.0, which brings significant new features and stability improvements. This version focuses on enhancing the audio streaming experience with a robust virtual sink implementation, adding video preview, enabling stream editing, and fixing several long‑standing issues.

    🚀 New Features

    ✏️ Edit Running Streams – Right‑click any active stream in the table to modify its configuration (video or audio). The stream is automatically restarted with the new settings.

    👁️ Video Preview – Right‑click a video stream and select “Visualize Stream” to open a separate window showing the captured video (using the same PipeWire source). Perfect for verifying you are sharing the correct screen/window.

    🎚️ Virtual Sink with PipeWire Linking – When creating an audio stream, enable “Create virtual sink”. The application now:

    • Creates a PulseAudio null sink with media.class=Audio/Source/Virtual, making it appear as a virtual microphone in applications like Discord.

    • Automatically connects the stream’s output to the sink’s input using pw-link, ensuring proper audio routing without extra modules.

    • Supports multi‑channel connections (e.g., stereo, 5.1) based on the selected channel count.

    🔧 Improvements

    Stability – Fixed segmentation faults when stopping or editing streams by properly disconnecting signals before deletion.

    - Node ID Capture – Video preview now correctly obtains the PipeWire node ID from the worker output (parsed from both stdout and stderr).

    • GStreamer Latency Warnings – Added queue elements before pulsesink and udpsink to resolve “Not enough buffering” warnings in audio pipelines.

    • Documentation – Updated README with new feature descriptions, troubleshooting tips, and both CMake and Ninja build instructions.

    🐛 Bug Fixes

    Fixed crashes when double‑clicking a stream to stop it.

    Resolved issue where virtual sink’s monitor was not detected by applications (now correctly sets media.class=Audio/Source/Virtual).

    Corrected pw-link command to use per‑channel port names (e.g., output_FL → input_FL) for multi‑channel audio.

    📦 Platform Support

    • Linux (x86_64) – Fully supported, with an AppImage available.

    • macOS and Windows – Not yet supported; contributions are welcome.

    🔧 Building & Running

    • AppImage – Use the Docker‑based build script (./build-appimage.sh) to create a self‑contained executable.

    • From Source – Use CMake or Ninja (see README for details).

    For a full list of changes, check the commit log.

    🙏 Thank You

    Special thanks to the community for testing and providing feedback. This release is the result of iterative development driven by user requests.

    Enjoy streaming! 🎬

    Downloads
  • 1.0.0 3b055e53a0

    1.0.0 Stable

    Khyretos released this 2026-03-23 18:23:26 +01:00 | 3 commits to main since this release

    Release Notes – Qt-Caster 1.0.0

    We’re excited to announce the first stable release of Qt-Caster, a GStreamer‑based application for streaming your screen and audio over UDP with a Qt GUI. This release focuses on providing a reliable, feature‑rich experience on Linux.

    ✨ New Features

    • Stream Editing – Right‑click any active stream to edit its configuration (video or audio) and restart it with the new settings.
    • Video Preview – For video streams, right‑click and select “Visualize Stream” to open a separate window showing the captured video (uses the same PipeWire source). Great for verifying you’re sharing the correct screen/window.
    • Virtual Sink for Audio – When creating an audio stream, enable “Create virtual sink” to automatically create a PulseAudio null sink and route the stream through it. This allows other applications to use the audio as input or capture the incoming stream.
    • System Tray Icon – The application now properly shows an icon in the system tray (requires AppIndicator extension on GNOME). The icon is bundled inside the AppImage.
    • Persistent Pinned Streams – Saved streams now restore correctly on launch, including their custom names and configurations.

    🔧 Improvements

    • Graceful Shutdown – All GStreamer processes are terminated cleanly when quitting the application.
    • GStreamer Latency Warnings – Added queues in audio pipelines to resolve “Not enough buffering” warnings.
    • AppImage Packaging – The AppImage is now built via a Docker container, ensuring a reproducible environment. It bundles Qt, GStreamer, and all required plugins (~135 MB).
    • Build Instructions – Added Ninja build method and clarified Linux‑only dependencies.

    🐛 Bug Fixes

    • Fixed segmentation faults when stopping or editing streams.
    • Video node IDs are now correctly captured for the preview feature.
    • Virtual sink creation no longer fails with custom sink names.
    • Tray icon now displays correctly inside the AppImage.
    • Resolved missing typing_extensions during Docker build.

    📦 Platform Support

    Linux only – this release depends on PipeWire, xdg-desktop-portal, and PulseAudio. Support for Windows and macOS may be added in future releases.

    🚀 Getting Started

    • Download the AppImage from the Releases page.
    • Make it executable: chmod +x Qt-Caster-x86_64.AppImage
    • Run it: ./Qt-Caster-x86_64.AppImage

    Or build from source using the instructions in the README.

    We’d love to hear your feedback! Please open an issue on GitHub if you encounter any problems or have suggestions for future improvements.

    Downloads