Skip to content
Snippets Groups Projects
  1. Oct 14, 2021
    • Grzegorz Kołodziejczyk's avatar
      leaudio: Add BAP and CSIP integration along with audio path · 926fd43c
      Grzegorz Kołodziejczyk authored
      LE Audio implements PAC handling, device grouping into sets,
      audio policy by the content type, group stream management,
      broadcast etc.
      Devices are always part of the group which creates sets.
      Sets can be managed by the LeAudio system service which has an API to add/remove
      specific devices to/from the group.
      
      Any stream operations are done by the LeAudio system service
      with a usage of the group_id.
      
      Note, this group_id is not the same number as the CIG_ID however,
      we might say it has the same meaning.
      
      When devices are part of a coordinated set (CSIS), then LeAudio
      implementation will discover all of them and notify upper layer about them.
      Upper layers are to decide to bond CSIS devices. Native code will
      group them.
      
      Fluoride also integrates Android Audio 2.1 framework and once stream is
      established then Le Audio session is opened and ready to receive
      periodically (up to implementation) audio data from media server
      (16bit, 16kHz/24kHz/32kHz/48kHz PCM - up to policy implementation) from
      the audio system.
      
      PCM frames are encoded by LC3 codec (system/bt/embdrv/lc3) and pushed over HCI to the
      controller.
      
      Bug: 150670922
      Tag: #feature
      Sponsor: jpawlowski@
      Test: atest --host bluetooth_le_audio_test bluetooth_le_audio_client_test
      
      Change-Id: I25d9422fb2b43843a59a9e398fac1e09c7e4869c
      926fd43c
    • Łukasz Rymanowski's avatar
      test: Add IsLinkKeyKnow mock · e9c4ba84
      Łukasz Rymanowski authored
      Needed for leaudio
      
      Bug: 150670922
      Tag: #feature
      Sponsor: jpawlowski@
      Test: compile
      
      Change-Id: I7fe74147dd00565d798c7ed3042556e2f2b80113
      e9c4ba84
    • Treehugger Robot's avatar
      1312d37e
    • Treehugger Robot's avatar
    • Treehugger Robot's avatar
      595da13a
    • Chris Manton's avatar
      legacy: Const-ify sdp callback with user data · ca598e6c
      Chris Manton authored
      Bug: 187830698
      Tag: #refactor
      Test: gd/cert/run
      
      Change-Id: I6897ee83258c9784559f9bfadb9655f9359acda3
      ca598e6c
  2. Oct 13, 2021
    • Chris Manton's avatar
      Set gd_acl_enable as constant => true · 5963f0f7
      Chris Manton authored
      Bug: 199414181
      Tag: #refactor
      Test: gd/cert/run
      
      Change-Id: Iac436764587a0bd404a327385d1e06fde2582eb5
      5963f0f7
    • Chris Manton's avatar
      legacy: Const-ify stack/sdp Api · 84878903
      Chris Manton authored
      Bug: 187830698
      Tag: #refactor
      Test: gd/cert/run
      
      Change-Id: I9932fc8cb293d4ebacaefc024de16da71ea9796f
      84878903
    • Chris Manton's avatar
      c933f347
    • Martin Brabham's avatar
      SMP API check for cached OOB data · e3f38d5e
      Martin Brabham authored
      If OOB data was generated before the pairing was attempted then use the
      cached OOB data information for the pairing.  We don't know if it is the
      data for the particular device we are attempting to pair with, but it'll
      either work or it won't.  And if it doesn't, then it is likely not the
      device we intended to pair with.
      
      This will mean that Pixel will only perform double sided
      OOB pairing IF it has previously created OOB data.
      
      Data is removed on successful pairing or advertisement timeout.
      
      When the device is the connector, it doesn't need to ask the
      app for the OOB data since the OOB data is provided at the time
      of create_bond_out_of_band being called.
      
      This should fix the issue with double OOB data pairing scenarios where
      this device is the device that initiates the bond.
      
      Bug: 200595320
      Test: Manual, test app.
      Tag: #feature
      Change-Id: Idd94a4ebe9ebeed57026fd915f499d509873e4f0
      e3f38d5e
    • Treehugger Robot's avatar
      Merge "Compiler fixes for Msvc & Gcc" · 01c104cb
      Treehugger Robot authored
      01c104cb
    • Chris Manton's avatar
      Final removal of gd_controller_enabled flag · 1c02eb8b
      Chris Manton authored
      Bug: 197478351
      Tag: #refactor
      Test: gd/cert/run
      
      Change-Id: I84824727d7125df15a08a2a450ed2431ff9874c1
      1c02eb8b
    • Treehugger Robot's avatar
      d8e616de
    • Treehugger Robot's avatar
      Merge changes I38afbf6d,Iff42492d · f4796842
      Treehugger Robot authored
      * changes:
        leaudio: Adjust new methods permissions
        btm: set link policy only for BR/EDR cases
      f4796842
    • Treehugger Robot's avatar
    • Łukasz Rymanowski's avatar
      leaudio: Adjust new methods permissions · 98f40f9e
      Łukasz Rymanowski authored
      Bug: 150670922
      Tag: #feature
      Sponsor: jpawlowski@
      Test: Manual
      
      Change-Id: I38afbf6dd2631bd77babdd29ad00ce29d1d7a267
      98f40f9e
    • Łukasz Rymanowski's avatar
      btm: set link policy only for BR/EDR cases · 78148af2
      Łukasz Rymanowski authored
      This fix not necessery HCI command call on the LE connection:
      
      > HCI Event: LE Meta Event (0x3e) plen 31               #244 [hci1] 1150.850737
            LE Enhanced Connection Complete (0x0a)
              Status: Success (0x00)
              Handle: 64
              Role: Master (0x00)
              Peer address type: Random (0x01)
              Peer address: xx:xx:xx:xx:xx:xx (Static)
              Local resolvable private address: yy:yy:yy:yy:yy:yy (Resolvable)
              Peer resolvable private address: 00:00:00:00:00:00 (Non-Resolvable)
              Connection interval: 48.75 msec (0x0027)
              Connection latency: 0 (0x0000)
              Supervision timeout: 5000 msec (0x01f4)
              Master clock accuracy: 0x00
               Device connected
              xx-xx-xx-xx-xx-xx
      <snip>
      < HCI Command: Write Link Polic.. (0x02|0x000d) plen 4  #249 [hci1] 1150.892342
              Handle: 64
              Link policy: 0x0005
                Enable Role Switch
                Enable Sniff Mode
      > HCI Event: Command Complete (0x0e) plen 6             #250 [hci1] 1150.898794
            Write Link Policy Settings (0x02|0x000d) ncmd 1
              Status: Unknown Connection Identifier (0x02)
              Handle: 64
      
      sponsor: jpawlowski@
      test: manual
      
      Change-Id: Iff42492d489bbe3b0cf8b898b7f8fbebb37e3c36
      78148af2
    • Chienyuan's avatar
      GD: Get GD path correctly for controller properties · 1d71e40b
      Chienyuan authored
      Tag: #refactor
      Bug: 197316394
      Test: gd/cert/run
      BYPASS_LONG_LINES_REASON: Bluetooth likes 120 lines
      
      Change-Id: I1a5d9b82920d4549a23f83d39f27e25b30fb32f8
      1d71e40b
    • Treehugger Robot's avatar
      Merge changes I50fd0400,If772cc72,I6f6845d1,Ib6911767,I4c754fd6, ... · e825f809
      Treehugger Robot authored
      * changes:
        floss: Refactor callback registration
        floss: Client checks if manager is valid
        floss: Improve bonding procedure
        floss: ConnectAllEnabledProfiles now connects A2DP
        floss: Implement ConnectAllEnabledProfiles + Disconnect
        floss: Add bond remove and cancel to btclient
        floss: Implement GetConnectionState
        floss: Add support for BtConnectionCallbacks
        floss: Add floss enable/disable to btclient
        floss: Refactor DisconnectWatcher to take id
      e825f809
  3. Oct 12, 2021
    • Abhishek Pandit-Subedi's avatar
      floss: Refactor callback registration · 5876b981
      Abhishek Pandit-Subedi authored
      Rather than have every callback registration mechanism provide its own
      id generator, have RpcProxy::register_disconnection return an id that is
      unique to that instance of DisconnectionWatcher (global for btadapterd).
      
      Bug: 201599762
      Tag: #floss
      Test: Open btclient and monitor dbus returned callback id
      
      Change-Id: I50fd04002cc5122270db48255779f062d2b054ad
      5876b981
    • Erwin Jansen's avatar
      Compiler fixes for Msvc & Gcc · 4463a663
      Erwin Jansen authored
      This contains a series of small changes that enables us to compile root
      canal as part of the android emulator. It contains a set of fixes for
      arm cross compilation using gcc, and some small clang-cl fixes.
      
      - Updates the include headers, they slightly differ.
      - Updates the log messages, some compilers don't like the empty one.
      - The previous test used regex grouping, which is not supported on
        windows, so we relax the regex a bit.
      
      Bug: 202440817
      Tag: #feature
      Test: compile
      Change-Id: Ic0741c583b5a825dd8057441a4c229f5505574c8
      4463a663
    • Jakub Pawlowski's avatar
      Add Fuzzing for Bluetooth LC3 Encoder · 3a031b4b
      Jakub Pawlowski authored
      Test: run liblc3codec_encoder_fuzzer liblc3codec_decoder_fuzzer
      Tag: #feature
      Bug: 150670922
      Change-Id: Ib97ca8936d97be622b55bf516357eeef38d3dd33
      3a031b4b
    • Chris Manton's avatar
      legacy: Remove CONTROLLER_MODULE · 847e4c25
      Chris Manton authored
      Bug: 197478351
      Tag: #refactor
      Test: gd/cert/run
      
      Change-Id: I9381c068323dd9927e181455eea5dcdc7e18f2fd
      847e4c25
  4. Oct 11, 2021
    • Abhishek Pandit-Subedi's avatar
      floss: Client checks if manager is valid · f43df148
      Abhishek Pandit-Subedi authored
      Add a check to make sure the manager is valid before using it in
      btclient. This change doesn't exit right away if it's invalid and
      instead allows the next command to fail (RegisterCallback) which gives
      the reason for the failure.
      
      Bug: 202023404
      Tag: #floss
      Test: Try running btclient with no btmanagerd running
      Change-Id: If772cc729afc3fad3e0abb8aa2351157521d0f1d
      f43df148
    • Abhishek Pandit-Subedi's avatar
      floss: Improve bonding procedure · e96e8c77
      Abhishek Pandit-Subedi authored
      Improve bonding in both the stack and client by doing a few things:
      * Don't automatically accept pairing and let the client handle bonding.
      * Client handles consent based bonding by accepting locally initiated
        bonding.
      * Keep track of client initiated bonding
      * Add stack apis: set_pin, set_passkey, and set_pairing_confirmation
      
      Bug: 196887009
      Tag: #floss
      Test: btclient bond with consent and passkey notification
      Change-Id: I6f6845d1af92e5cd10349c3bdb0b18183430b47f
      e96e8c77
    • Abhishek Pandit-Subedi's avatar
      floss: ConnectAllEnabledProfiles now connects A2DP · b8b6cb24
      Abhishek Pandit-Subedi authored
      Add a MediaActions enum that we can dispatch to the mainloop so that we
      can send actions from one part of the stack to other parts. Use this to
      allow the Bluetooth interface to call Connect/Disconnect on the Media
      interface and support A2DP in ConnectAllEnabledProfiles and
      DisconnectAllEnabledProfiles.
      
      Bug: 196887265
      Tag: #floss
      Test: Connect to audio device from btclient
      Change-Id: Ib6911767b32de0e2f4be944d415f4f99084d273b
      b8b6cb24
    • Abhishek Pandit-Subedi's avatar
      floss: Implement ConnectAllEnabledProfiles + Disconnect · b0deb0dd
      Abhishek Pandit-Subedi authored
      Add implementation for ConnectAllEnabledProfiles and
      DisconnectAllEnabledProfiles. Currently, we only support connecting to
      HID and HOGP devices.
      
      Bug: 196887265
      Tag: #floss
      Test: btclient on ChromeOS with HID device
      
      Change-Id: I4c754fd635779fd04607cdba97ec51754db49bf3
      b0deb0dd
    • Abhishek Pandit-Subedi's avatar
      floss: Add bond remove and cancel to btclient · 3d679ab6
      Abhishek Pandit-Subedi authored
      Refactors the bond command to take "add|remove|cancel" and wires the
      command to take any of those actions by calling the correct dbus
      methods.
      
      Bug: 196887009
      Tag: #floss
      Test: btclient on ChromeOS
      Change-Id: Icfee9edba495f0e13791414485cf124d6b2d952a
      3d679ab6
    • Abhishek Pandit-Subedi's avatar
      floss: Implement GetConnectionState · 923593ad
      Abhishek Pandit-Subedi authored
      Implement the GetConnectionState dbus api and use it in `device show`
      to display the current connection state.
      
      Bug: 196887265
      Tag: #floss
      Test: btclient on ChromeOS
      Change-Id: Ie7dbd71499c2f14c76e5d4a0e356002c555103a0
      923593ad
    • Abhishek Pandit-Subedi's avatar
      floss: Add support for BtConnectionCallbacks · 74d85f37
      Abhishek Pandit-Subedi authored
      Bug: 196887445
      Tag: #floss
      Test: btclient on ChromeOS
      Change-Id: I49aaceaec69d3bb3ac54c4135e7a1a4672c74c43
      74d85f37
    • Abhishek Pandit-Subedi's avatar
      floss: Add floss enable/disable to btclient · e860b8ed
      Abhishek Pandit-Subedi authored
      To make it easier to dogfood, add a enable/disable command to btclient
      so we can easily switch between bluez and floss on ChromeOS.
      
      Bug: 202023404
      Tag: #floss
      Test: Verify with btclient on ChromeOS
      Change-Id: Id8ab1d50a4bf6fdc047e694fdba158870c454d2f
      e860b8ed
    • Abhishek Pandit-Subedi's avatar
      floss: Refactor DisconnectWatcher to take id · 6cf31b86
      Abhishek Pandit-Subedi authored
      Refactor disconnect watcher to associate an id with a callback for
      disconnection. This will allow us to verify that a disconnect request
      for an id is allowed for a specific client.
      
      Bug: 201599762
      Tag: #floss
      Test: Verify btclient continues working on ChromeOS
      Change-Id: Ia019ad2d9af82be6e1e4eb2d7399bdaadb1600ab
      6cf31b86
    • Chris Manton's avatar
      Remove cpp is_gd_controller_enabled because It Is Known · 65526e45
      Chris Manton authored
      Bug: 197513926
      Tag: #refactor
      Test: gd/cert/run
      
      Change-Id: Ie0fc5a7977f1ca9de2756448d9d0f9d4b99fa629
      65526e45
    • Chris Manton's avatar
      Set gd_controller_enable as constant => true · 6488527a
      Chris Manton authored
      Bug: 197513926
      Tag: #refactor
      Test: gd/cert/run
      
      Change-Id: I993973c31d9bc71a457b5e0c193e5f2795a7013f
      6488527a
    • Łukasz Rymanowski's avatar
      leaudio: Expose group node operation to application · 8caf79c1
      Łukasz Rymanowski authored
      Bug: 150670922
      Tag: #feature
      Sponsor: jpawlowski@
      Test: compile
      
      Change-Id: I9e21658f5e2dadf80605d4ac23dc99f6f89e4dee
      8caf79c1
    • Łukasz Rymanowski's avatar
      leaudio: Add missing add/remove group node API · 608c15fa
      Łukasz Rymanowski authored
      Bug: 150670922
      Tag: #feature
      Sponsor: jpawlowski@
      test: compile
      
      Change-Id: Ia4f41cc55f10fb5cb849d2c584473ed9a53b764a
      608c15fa
    • Łukasz Rymanowski's avatar
      leaudio: Add missing RemoveDevice API · 9bfc2a63
      Łukasz Rymanowski authored
      Bug: 150670922
      Tag: #feature
      Sponsor: jpawlowski@
      test: compile
      
      Change-Id: I81db9dc2a14a04fee39a4e7524404099c8523461
      9bfc2a63
    • Łukasz Rymanowski's avatar
      leaudio: Add missing GroupSetActive API · b9ccc4f3
      Łukasz Rymanowski authored
      Bug: 150670922
      Tag: #feature
      Sponsor: jpawlowski@
      test: compile
      
      Change-Id: Ic6aacc788ddb19fa38225214e57d2d34cadde216
      b9ccc4f3
  5. Oct 10, 2021
Loading