Skip to content

Conversation

@1313
Copy link
Collaborator

@1313 1313 commented Nov 30, 2025

🤖 New release

  • screencapturekit: 1.3.0 -> 1.4.0
Changelog

1.4.0 - 2025-12-04

Added

  • (cpal) add zero-copy audio stream
  • (cpal) add audio input stream and cpal integration
  • (cpal) add optional cpal audio adapter
  • (screenshot) add multi-format image saving support
  • (cm) add frame info accessors to CMSampleBuffer

Other

  • fix formatting in pixel_buffer.rs
  • remove cpal dependency and update dev dependencies
  • (cpal) add cpal adapter tests and example
  • update README to use macos_26_0 as latest feature
  • fix rustfmt formatting issues
  • (tests) rename sync_completion_tests to completion_tests


This PR was generated with release-plz.

- Add 'cpal' feature flag with optional cpal dependency
- Add cpal_adapter module with AudioSamples and CpalAudioExt trait
- Add audio format description APIs to CMFormatDescription:
  - audio_sample_rate()
  - audio_channel_count()
  - audio_bits_per_channel()
  - audio_bytes_per_frame()
  - audio_format_flags()
  - audio_is_float()
  - audio_is_big_endian()
- Add Swift FFI functions for audio format description
- Add AudioFormat struct for cpal StreamConfig conversion
@1313 1313 force-pushed the release-plz-2025-11-30T22-49-49Z branch from e9a6dc1 to 679bf66 Compare November 30, 2025 22:52
1313 added 6 commits November 30, 2025 23:53
- Add tests/cpal_adapter_tests.rs with AudioFormat tests
- Add examples/17_cpal_audio.rs demonstrating audio capture playback
- Update examples/README.md with new example
- Add SckAudioInputStream for cpal-style callback-based audio capture
- Add SckAudioConfig for configuring audio capture parameters
- Add AudioRingBuffer for thread-safe audio transfer between SCK and cpal
- Add create_output_callback helper for easy cpal output integration
- Add SckAudioCallbackInfo for callback metadata
- Update example to use new simplified API
- Add ring buffer tests for write/read, wrap-around, and edge cases
- Add ZeroCopyAudioStream that calls callback directly from SCStream thread
- Callback receives direct pointer to CMSampleBuffer data - no copies
- Update module docs with performance comparison table
- Add example 18_zero_copy_audio demonstrating zero-copy capture
- Update examples README

Zero-copy path:
  SCStream → CMSampleBuffer → callback (direct pointer access)

Buffered path (for cpal output):
  SCStream → CMSampleBuffer → RingBuffer → cpal output callback
- Remove cpal feature flag and optional dependency
- Remove cpal_adapter module and related examples
- Update dev dependencies to latest versions:
  - png: 0.17 -> 0.18
  - metal: 0.29 -> 0.32
  - cocoa: 0.25 -> 0.26
  - core-graphics-types: 0.1 -> 0.2
@1313 1313 force-pushed the release-plz-2025-11-30T22-49-49Z branch from 679bf66 to 7a8ac67 Compare December 4, 2025 18:39
@1313 1313 closed this Dec 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants