1. 30 Jan, 2022 1 commit
    • P V's avatar
      bluez5: probe adapter msbc capability via hci commands · 1da23145
      P V authored
      Using a probe connection to determine adapter msbc capability causes
      problems on some adapters (ff8c3d20, 84bc0490, 71700433,
      #2030) and seems to be a bad idea.
      Go back to probing for transparent msbc transport capability via HCI
      commands. bluetooth/hci.h may be deprecated later, but for now it's
      better to go back to using it.  (In practice, adapters not supporting
      esco appear to be fairly rare; kernel commit in 2013 refers to "older
      devices", so if we can't use HCI, assume the adapter supports the
      necessary modes.)
  2. 28 Dec, 2021 1 commit
  3. 10 Oct, 2021 1 commit
    • P V's avatar
      bluez5: add a dummy AVRCP player as a workaround · 4b831021
      P V authored
      Some devices (Bose Mini Soundlink II, Air 1 Plus, ...) don't enable
      AVRCP volume control, or fail to enable it before a hardware button is
      pressed.  However, these devices appear to enable it, if an AVRCP player
      is present.
      As a workaround, register a dummy AVRCP player for each adapter. It only
      displays the current transport acquisition state as playing/stopped, but
      just its presence appears to be enough to make devices behave.
      Multiple AVRCP players interfere with each other, as BlueZ uses the one
      registered earliest as the default player. So add also a config option
      for disabling this. (It's not common to have mpris-proxy etc. running,
      so defaulting to true should be OK.)
      See #1157
  4. 20 Sep, 2021 2 commits
  5. 19 Sep, 2021 1 commit
    • P V's avatar
      bluez5: move bluez-hardware.conf loading to the plugin · cae15544
      P V authored and Wim Taymans's avatar Wim Taymans committed
      It's not really the responsibility of the session manager to load the
      bluez5 device quirks, and it's easier for eg. Wireplumber if it doesn't
      need to do it.
      Move loading bluez-hardware.conf to be the responsibility of the bluez5
      spa plugin, similarly as the alsa plugin deals with the ACP database.
      Put the configuration to share/spa-0.2/bluez5, mirroring the plugin
      directory structure in lib/spa-0.2/bluez5.
  6. 06 Sep, 2021 1 commit
    • P V's avatar
      bluez5: make codec loading compatible with old conf files · b5ad37c7
      P V authored
      Change codec factory names to api.codec.bluez5.*, so that they won't
      conflict with old config file lib name rules for api.bluez5.*
      Specify the fallback library name when loading the codecs, so that it
      works without the rules in config files.
  7. 03 Sep, 2021 1 commit
    • P V's avatar
      bluez5: split A2DP codecs to separate SPA plugins · 59d572de
      P V authored
      Make easier to package A2DP codecs separately, by splitting each to a
      separate SPA plugin.  Adjust the code to not use a global variable for
      the codec list.
      The A2DP SPA interface API is in the bluez5 private headers, and not
      exposed in installed SPA headers, as it's too close to the
  8. 23 Aug, 2021 1 commit
  9. 22 Jun, 2021 2 commits
  10. 09 Jun, 2021 1 commit
  11. 17 Apr, 2021 1 commit
    • Bao, Huang-Huang's avatar
      bluez5: add hardware volume support · 80f6ddf5
      Bao, Huang-Huang authored
      Add necessary apis to bluez transport.
      Add A2DP(AVRCP) absolute volume support. Source volume can only update to adapter node but not from due to AG nodes don't have route.
      Since A2DP/HSP/HFP volume is already percentage itself, it has been mapped to pulseaudio volume then converting to linear volume.
  12. 15 Apr, 2021 1 commit
  13. 10 Mar, 2021 1 commit
  14. 12 Jan, 2021 2 commits
  15. 04 Jan, 2021 1 commit
    • P V's avatar
      bluez5: rework sco i/o + autodetect mtu · 368182d9
      P V authored
      Move SCO polling to a single place, and abstract mtu handling.
      Autodetect suitable tx packet size based on rx, instead of relying on
      the kernel providing correct values.
  16. 23 Dec, 2020 1 commit
  17. 19 Dec, 2020 1 commit
  18. 04 Dec, 2020 1 commit
  19. 03 Dec, 2020 1 commit
  20. 19 Oct, 2020 1 commit
  21. 19 Aug, 2020 1 commit
  22. 22 Jul, 2020 2 commits
  23. 17 Jul, 2020 1 commit
  24. 29 Jan, 2020 1 commit
  25. 20 Sep, 2019 1 commit
    • Wim Taymans's avatar
      monitor: remove monitor API and use device · 6756a3c8
      Wim Taymans authored
      Remove the monitor API, we can use the device API for it. Make sure
      we support creating devices (like alsa) from another device (udev).
      Use new object.id to store the object id in the object properties. Use
      the port.id/node.id etc to make relations to other objects.
  26. 01 Aug, 2019 1 commit
  27. 16 May, 2019 1 commit
    • Wim Taymans's avatar
      bluez: fix a2dp source · 6cfddde3
      Wim Taymans authored
      Actually compile the codec config and declare the config as extern
      or else it's just all 0.
      Only acquire the transport when ACTIVE.
      Implement transport state_change signal and acquire the transport
      when going to pending/active.
      Try to acquire the transport before we expose the device if we
      Force device expose when we get the device ServicesResolved=1 property
      Free transport when the rfcomm is closed.
      Implement various DBus signals to detect dynamic property updates.
  28. 14 May, 2019 1 commit
  29. 08 Jan, 2019 1 commit
  30. 27 Nov, 2018 1 commit
  31. 26 Nov, 2018 1 commit
    • Wim Taymans's avatar
      monitor: remove enum_items · 57e94f7b
      Wim Taymans authored
      Make the monitor and device emit the info and items when the callbacks
      are set. This makes it easier to implement the monitor because there
      is much less state to keep around and invalidate etc.
      Rework the monitors
      Add bluez5 device
  32. 14 Aug, 2018 3 commits
  33. 13 Aug, 2018 1 commit
  34. 16 Jan, 2018 1 commit