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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions