Skip to content

feat(realtime): rename feature, make default, and report RT denials#1187

Open
roderickvd wants to merge 16 commits intomasterfrom
feat/update-thread-priority
Open

feat(realtime): rename feature, make default, and report RT denials#1187
roderickvd wants to merge 16 commits intomasterfrom
feat/update-thread-priority

Conversation

@roderickvd
Copy link
Copy Markdown
Member

@roderickvd roderickvd commented May 2, 2026

  • Rename the audio_thread_priority feature to realtime-dbus and make it default.
  • Gate AAudio PERFORMANCE_MODE_LOW_LATENCY and PipeWire RT_PROCESS.
  • Rename ErrorKind::RealtimeUnavailable to RealtimeDenied.
  • Add RealtimeDenied error reporting to AAudio, PipeWire and JACK.
  • Fix AAudio error_callback not being forwarded to the caller.

- Rename the `audio_thread_priority` feature to `realtime` and make it default.
- Gate AAudio PERFORMANCE_MODE_LOW_LATENCY and PipeWire RT_PROCESS.
- Rename ErrorKind::RealtimeUnavailable to RealtimeDenied.
- Add RealtimeDenied error reporting to AAudio, PipeWire and JACK.
- Fix AAudio error_callback not being forwarded to the caller.

This comment was marked as resolved.

This comment was marked as resolved.

This comment was marked as resolved.

This comment was marked as resolved.

This comment was marked as resolved.

This comment was marked as resolved.

This comment was marked as resolved.

This comment was marked as resolved.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 22 out of 22 changed files in this pull request and generated 3 comments.

Comments suppressed due to low confidence (1)

src/host/pipewire/stream.rs:420

  • This metadata listener is registered with add_listener_local, so it runs on PipeWire's mainloop thread. emit_error_or_warn can still invoke the user callback here, and if the application drops the stream from that callback Stream::drop will try to join the current thread and deadlock.
                                            &error_callback_cb,
                                            Error::with_message(
                                                ErrorKind::DeviceChanged,
                                                "default device changed",
                                            ),
                                        );
                                    } else if !invalidated_cb.swap(true, Ordering::Relaxed) {

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/host/pipewire/stream.rs
Comment thread src/host/pipewire/stream.rs
Comment thread UPGRADING.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants