Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 94c963cb authored by Jakub Tyszkowski's avatar Jakub Tyszkowski Committed by Automerger Merge Worker
Browse files

LeAudio/multicodec: Fix the async data path getter API am: 4856308c am: c5dc2882

parents cfe18a69 c5dc2882
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -45,7 +45,7 @@ interface IBluetoothAudioProvider {
  void setCodecPriority(in android.hardware.bluetooth.audio.CodecId codecId, int priority);
  List<android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioAseConfigurationSetting> getLeAudioAseConfiguration(in @nullable List<android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioDeviceCapabilities> remoteSinkAudioCapabilities, in @nullable List<android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioDeviceCapabilities> remoteSourceAudioCapabilities, in List<android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioConfigurationRequirement> requirements);
  android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioAseQosConfigurationPair getLeAudioAseQosConfiguration(in android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioAseQosConfigurationRequirement qosRequirement);
  android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioDataPathConfigurationPair getLeAudioAseDatapathConfiguration(in android.hardware.bluetooth.audio.AudioContext context, in android.hardware.bluetooth.audio.LeAudioConfiguration.StreamMap[] streamMap);
  android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioDataPathConfigurationPair getLeAudioAseDatapathConfiguration(in @nullable android.hardware.bluetooth.audio.IBluetoothAudioProvider.StreamConfig sinkConfig, in @nullable android.hardware.bluetooth.audio.IBluetoothAudioProvider.StreamConfig sourceConfig);
  void onSinkAseMetadataChanged(in android.hardware.bluetooth.audio.IBluetoothAudioProvider.AseState state, int cigId, int cisId, in @nullable android.hardware.bluetooth.audio.MetadataLtv[] metadata);
  void onSourceAseMetadataChanged(in android.hardware.bluetooth.audio.IBluetoothAudioProvider.AseState state, int cigId, int cisId, in @nullable android.hardware.bluetooth.audio.MetadataLtv[] metadata);
  android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioBroadcastConfigurationSetting getLeAudioBroadcastConfiguration(in @nullable List<android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioDeviceCapabilities> remoteSinkAudioCapabilities, in android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioBroadcastConfigurationRequirement requirement);
@@ -146,6 +146,10 @@ interface IBluetoothAudioProvider {
    @nullable android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioDataPathConfiguration inputConfig;
    @nullable android.hardware.bluetooth.audio.IBluetoothAudioProvider.LeAudioDataPathConfiguration outputConfig;
  }
  parcelable StreamConfig {
    android.hardware.bluetooth.audio.AudioContext context;
    android.hardware.bluetooth.audio.LeAudioConfiguration.StreamMap[] streamMap;
  }
  @Backing(type="byte") @VintfStability
  enum AseState {
    ENABLING = 0x00,
+24 −1
Original line number Diff line number Diff line
@@ -518,15 +518,38 @@ interface IBluetoothAudioProvider {
        @nullable LeAudioDataPathConfiguration outputConfig;
    }

    /**
     * Stream Configuration
     */
    parcelable StreamConfig {
        /**
         * Streaming Audio Context.
         * This can serve as a hint for selecting the proper configuration by
         * the offloader.
         */
        AudioContext context;
        /**
         * Stream configuration, including connection handles and audio channel
         * allocations.
         */
        StreamMap[] streamMap;
    }

    /**
     * Used to get a data path configuration which dynamically depends on CIS
     * connection handles in StreamMap. This is used if non-dynamic data path
     * was not provided in LeAudioAseConfigurationSetting. Calling this during
     * the unicast audio stream establishment might slightly delay the stream
     * start.
     *
     * @param sinkConfig - remote sink device stream configuration
     * @param sourceConfig - remote source device stream configuration
     *
     * @return LeAudioDataPathConfigurationPair
     */
    LeAudioDataPathConfigurationPair getLeAudioAseDatapathConfiguration(
            in AudioContext context, in StreamMap[] streamMap);
            in @nullable StreamConfig sinkConfig,
            in @nullable StreamConfig sourceConfig);

    /*
     * Audio Stream Endpoint state used to report Metadata changes on the remote
+8 −5
Original line number Diff line number Diff line
@@ -229,14 +229,17 @@ ndk::ScopedAStatus BluetoothAudioProvider::getLeAudioAseQosConfiguration(
};

ndk::ScopedAStatus BluetoothAudioProvider::getLeAudioAseDatapathConfiguration(
    const ::aidl::android::hardware::bluetooth::audio::AudioContext& in_context,
    const std::vector<::aidl::android::hardware::bluetooth::audio::
                          LeAudioConfiguration::StreamMap>& in_streamMap,
    const std::optional<::aidl::android::hardware::bluetooth::audio::
                            IBluetoothAudioProvider::StreamConfig>&
        in_sinkConfig,
    const std::optional<::aidl::android::hardware::bluetooth::audio::
                            IBluetoothAudioProvider::StreamConfig>&
        in_sourceConfig,
    ::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::
        LeAudioDataPathConfigurationPair* _aidl_return) {
  /* TODO: Implement */
  (void)in_context;
  (void)in_streamMap;
  (void)in_sinkConfig;
  (void)in_sourceConfig;
  (void)_aidl_return;
  return ndk::ScopedAStatus::fromExceptionCode(EX_UNSUPPORTED_OPERATION);
}
+6 −4
Original line number Diff line number Diff line
@@ -71,10 +71,12 @@ class BluetoothAudioProvider : public BnBluetoothAudioProvider {
      ::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::
          LeAudioAseQosConfigurationPair* _aidl_return) override;
  ndk::ScopedAStatus getLeAudioAseDatapathConfiguration(
      const ::aidl::android::hardware::bluetooth::audio::AudioContext&
          in_context,
      const std::vector<::aidl::android::hardware::bluetooth::audio::
                            LeAudioConfiguration::StreamMap>& in_streamMap,
      const std::optional<::aidl::android::hardware::bluetooth::audio::
                              IBluetoothAudioProvider::StreamConfig>&
          in_sinkConfig,
      const std::optional<::aidl::android::hardware::bluetooth::audio::
                              IBluetoothAudioProvider::StreamConfig>&
          in_sourceConfig,
      ::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::
          LeAudioDataPathConfigurationPair* _aidl_return) override;
  ndk::ScopedAStatus onSinkAseMetadataChanged(