Skip to content

Upgrade CPAL from Kree0 fork to official v0.17.1 #2084

@louis030195

Description

@louis030195

Summary

We're currently using a fork of CPAL (https://github.com/Kree0/cpal.git) for macOS loopback audio capture via ScreenCaptureKit. The official CPAL has now merged loopback support, so we should consider upgrading.

Background

  • Current: Using Kree0/cpal fork (created Jul 2024) for ScreenCaptureKit loopback support (PR #894)
  • Official CPAL: v0.17.1 (Jan 4, 2025) now has loopback support merged via PR #1003

Why Upgrade

  1. Official loopback support merged - PR Fix-transcription-segments-ui #1003 uses Core Audio aggregate devices + taps (different from ScreenCaptureKit approach)
  2. Better stability - The ScreenCaptureKit approach in PR [feature] deepgram through screenpipe cloud #894 had issues:
    • Non-deterministic crashes when capturing loopback devices in parallel
    • Crashes on macOS 15 beta
    • Intermittent sound capture issues
  3. Active maintenance - Bug fixes, security updates, new features
  4. macOS 14.2+ support for loopback

Tasks

  • Test official CPAL 0.17.1 loopback on macOS
  • Compare audio quality/latency with current fork
  • Verify permission handling works correctly
  • Update screenpipe-audio/Cargo.toml to use official cpal
  • Test on different macOS versions (14.x, 15.x)
  • Regression test existing audio capture functionality

References

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions