Skip to content
  1. Sep 15, 2024
  2. Jul 16, 2024
  3. Jun 30, 2024
  4. Jun 17, 2024
  5. May 21, 2024
  6. Apr 12, 2024
  7. Feb 06, 2024
  8. Feb 05, 2024
  9. Jan 18, 2024
    • Thomas Lindner's avatar
      pipewire: Use pipe2 instead of eventfd in Channel<T> · ec087706
      Thomas Lindner authored and Tom Wagner's avatar Tom Wagner committed
      Using pipe2 instead of eventfd increases portability and reduces
      special casing. Due to the channel lock eventfd only counts to 1 and
      a pipe is as efficent as eventfd. Also gets rid of some unsafe blocks.
      ec087706
    • dsee's avatar
      spa: implement boolean Choice values · 9c24229c
      dsee authored and Tom Wagner's avatar Tom Wagner committed
      9c24229c
    • Tom Wagner's avatar
      pw: Improve loop types · 41bf7dda
      Tom Wagner authored
      Makes multiple improvements to the pipewire loop types `Loop`, `MainLoop`, `ThreadLoop`:
      
      - Make each `Inner` type an implementation detail. Those structs are no longer public, and
        all functionality has been moved to the outer types
        This also included changing and renaming the AsLoop trait.
      - Remove long deref chains (outer type -> inner type -> LoopRef)
        Deref should only be used for the "smart pointer"-like outer types to dereference to their ref type.
        `loop_()` methods have been added instead to get the `&LoopRef`.
      - `new` and `with_properties` constructors have been merged into one constructor using an Option.
        Properties are not used rarely enough to warrant a seperate constructor.
      - Conversion functions from/to raw pointers have been added and changed to fit the crate convention
      - Missing crate::init() calls added to avoid UB when using uninitialized library
      - General code style improvements
      41bf7dda
    • Dorinda Bassey's avatar
      Use &CStr instead of &str · 675dab34
      Dorinda Bassey authored and Tom Wagner's avatar Tom Wagner committed
      675dab34
  10. Jan 09, 2024
  11. Dec 26, 2023
    • Tom Wagner's avatar
      pw: Apply ref-struct pattern to pipewire core · 636619a4
      Tom Wagner authored
      Applies the usual ref-struct pattern to pw_core by splitting it into a `Core`
      and a `CoreRef`, so that non-owned cores can be managed through the bindings.
      636619a4
    • Tom Wagner's avatar
      spa: Use ref-struct pattern instead of trait for accessing `spa_dict`s · 26838bc2
      Tom Wagner authored and Tom Wagner's avatar Tom Wagner committed
      Removes the `ReadableDict` and `WritableDict` traits.
      
      Instead, adds a new `DictRef` struct that is a transparent wrapper around `spa_dict` and
      implements reading functionality.
      Things that wrap spa dicts (e.g. `pipewire::properties::Properties` have accessors and AsRef implementations to get a `DictRef`
      for the wrapped dict.
      
      Functions that used to be generic over `ReadableDict` now accept a `&DictRef`, which the caller needs
      to obtain from their wrapper types.
      
      Writing functionality is now specific to wrappers of the spa_dict (same as the C library), so there is
      no direct replacement for the `WritableDict` trait, instead, some wrappers will have their own methods
      for writing.
      26838bc2
  12. Dec 25, 2023
  13. Dec 07, 2023
  14. Nov 20, 2023
    • Marcus's avatar
      Fix spelling · 0869a613
      Marcus authored and marcu5h's avatar marcu5h committed
      0869a613
    • Tom Wagner's avatar
      pipewire: Make PropertiesRef struct into a transparent wrapper · c959adc4
      Tom Wagner authored
      Before this commit, PropertiesRef was not a transparent wrapper like the other ref structs in the crate are,
      so you couldn't use it in places were you just had a pointer to a nonowned pw_sys::pw_properties.
      
      Deref/DerefMut impls are added to the Properties struct so that it can be converted automatically as needed.
      c959adc4
  15. Oct 11, 2023
  16. Oct 02, 2023
  17. Sep 28, 2023
  18. Sep 25, 2023
Loading