Skip to content

Grab bag of fixes - #234

Open
wmedrano wants to merge 1 commit into
mainfrom
wm
Open

wmedrano wants to merge 1 commit into
mainfrom
wm

Conversation

@wmedrano

Copy link
Copy Markdown
Member
  • Clear every registered callback on deactivate to prevent use-after-free
  • Free RingBuffer when both reader and writer are dropped
  • Handle NULL and non-UTF-8 keys in property change callbacks
  • Return an error instead of panicking when a required JACK symbol is missing
  • Declare variadic JACK functions as variadic in jack-sys
  • Resolve optional JACK functions at runtime when statically linking
  • Skip pkg-config when dynamic_loading is enabled and fix jack-sys default features
  • Stop taking the client creation lock in connect_ports
  • Reject NaN and infinite values in TransportBBT validation
  • Export CodeOrMessage and contrib::ProcessCallbacks
  • Remove deprecated APIs, make set_bbt_offset infallible, and document from_raw safety
  • Fix incorrect documentation, resolve doc TODOs, and implement Client::set_freewheel
  • Mark Error and TransportState non_exhaustive, drop unused error variants, and fix typos
  • Derive common traits for ClientOptions and drop options that need variadic arguments
  • Make NotificationHandler::shutdown a safe method
  • Register the port rename callback and rename ports with jack_port_rename
  • Accept both errno sign conventions from jack_midi_event_write
  • Document that connected audio input and output buffers may alias
  • Return errors instead of panicking on invalid strings and unexpected JACK values
  • Stop calling handlers after Quit or panic, and keep slow-sync clients running when sync returns false
  • Share CallbackContext across JACK threads instead of aliasing &mut
  • Check callback registration results and close the client when activation fails
  • Make tests independent of a shared client and of server timing
  • Defer pthread cancellation inside JACK callbacks so PipeWire cannot abort the process
  • Keep the client open for the duration of Port and Transport calls

- Clear every registered callback on deactivate to prevent use-after-free
- Free RingBuffer when both reader and writer are dropped
- Handle NULL and non-UTF-8 keys in property change callbacks
- Return an error instead of panicking when a required JACK symbol is missing
- Declare variadic JACK functions as variadic in jack-sys
- Resolve optional JACK functions at runtime when statically linking
- Skip pkg-config when dynamic_loading is enabled and fix jack-sys default features
- Stop taking the client creation lock in connect_ports
- Reject NaN and infinite values in TransportBBT validation
- Export CodeOrMessage and contrib::ProcessCallbacks
- Remove deprecated APIs, make set_bbt_offset infallible, and document from_raw safety
- Fix incorrect documentation, resolve doc TODOs, and implement Client::set_freewheel
- Mark Error and TransportState non_exhaustive, drop unused error variants, and fix typos
- Derive common traits for ClientOptions and drop options that need variadic arguments
- Make NotificationHandler::shutdown a safe method
- Register the port rename callback and rename ports with jack_port_rename
- Accept both errno sign conventions from jack_midi_event_write
- Document that connected audio input and output buffers may alias
- Return errors instead of panicking on invalid strings and unexpected JACK values
- Stop calling handlers after Quit or panic, and keep slow-sync clients running when sync returns false
- Share CallbackContext across JACK threads instead of aliasing &mut
- Check callback registration results and close the client when activation fails
- Make tests independent of a shared client and of server timing
- Defer pthread cancellation inside JACK callbacks so PipeWire cannot abort the process
- Keep the client open for the duration of Port and Transport calls

This branch has not been deployed

No deployments
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.

1 participant