Loading bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/current/android/hardware/bluetooth/audio/SessionType.aidl +2 −0 Original line number Diff line number Diff line Loading @@ -44,4 +44,6 @@ enum SessionType { LE_AUDIO_HARDWARE_OFFLOAD_DECODING_DATAPATH = 7, LE_AUDIO_BROADCAST_SOFTWARE_ENCODING_DATAPATH = 8, LE_AUDIO_BROADCAST_HARDWARE_OFFLOAD_ENCODING_DATAPATH = 9, A2DP_SOFTWARE_DECODING_DATAPATH = 10, A2DP_HARDWARE_OFFLOAD_DECODING_DATAPATH = 11, } bluetooth/audio/aidl/android/hardware/bluetooth/audio/SessionType.aidl +8 −0 Original line number Diff line number Diff line Loading @@ -62,4 +62,12 @@ enum SessionType { * Audio broadcast channels. This is a control path only. */ LE_AUDIO_BROADCAST_HARDWARE_OFFLOAD_ENCODING_DATAPATH, /** * A2DP legacy that AVDTP media is decoded by Bluetooth Stack */ A2DP_SOFTWARE_DECODING_DATAPATH, /** * The decoding of AVDTP media is done by HW and there is control only */ A2DP_HARDWARE_OFFLOAD_DECODING_DATAPATH, } bluetooth/audio/aidl/default/A2dpOffloadAudioProvider.cpp +9 −1 Original line number Diff line number Diff line Loading @@ -28,10 +28,18 @@ namespace hardware { namespace bluetooth { namespace audio { A2dpOffloadAudioProvider::A2dpOffloadAudioProvider() { A2dpOffloadEncodingAudioProvider::A2dpOffloadEncodingAudioProvider() : A2dpOffloadAudioProvider() { session_type_ = SessionType::A2DP_HARDWARE_OFFLOAD_ENCODING_DATAPATH; } A2dpOffloadDecodingAudioProvider::A2dpOffloadDecodingAudioProvider() : A2dpOffloadAudioProvider() { session_type_ = SessionType::A2DP_HARDWARE_OFFLOAD_DECODING_DATAPATH; } A2dpOffloadAudioProvider::A2dpOffloadAudioProvider() {} bool A2dpOffloadAudioProvider::isValid(const SessionType& session_type) { return (session_type == session_type_); } Loading bluetooth/audio/aidl/default/A2dpOffloadAudioProvider.h +10 −0 Original line number Diff line number Diff line Loading @@ -40,6 +40,16 @@ class A2dpOffloadAudioProvider : public BluetoothAudioProvider { ndk::ScopedAStatus onSessionReady(DataMQDesc* _aidl_return) override; }; class A2dpOffloadEncodingAudioProvider : public A2dpOffloadAudioProvider { public: A2dpOffloadEncodingAudioProvider(); }; class A2dpOffloadDecodingAudioProvider : public A2dpOffloadAudioProvider { public: A2dpOffloadDecodingAudioProvider(); }; } // namespace audio } // namespace bluetooth } // namespace hardware Loading bluetooth/audio/aidl/default/A2dpSoftwareAudioProvider.cpp +10 −1 Original line number Diff line number Diff line Loading @@ -40,6 +40,16 @@ static constexpr uint32_t kBufferSize = kRtpFrameSize * kRtpFrameCount; static constexpr uint32_t kBufferCount = 2; // double buffer static constexpr uint32_t kDataMqSize = kBufferSize * kBufferCount; A2dpSoftwareEncodingAudioProvider::A2dpSoftwareEncodingAudioProvider() : A2dpSoftwareAudioProvider() { session_type_ = SessionType::A2DP_SOFTWARE_ENCODING_DATAPATH; } A2dpSoftwareDecodingAudioProvider::A2dpSoftwareDecodingAudioProvider() : A2dpSoftwareAudioProvider() { session_type_ = SessionType::A2DP_SOFTWARE_DECODING_DATAPATH; } A2dpSoftwareAudioProvider::A2dpSoftwareAudioProvider() : BluetoothAudioProvider(), data_mq_(nullptr) { LOG(INFO) << __func__ << " - size of audio buffer " << kDataMqSize Loading @@ -48,7 +58,6 @@ A2dpSoftwareAudioProvider::A2dpSoftwareAudioProvider() new DataMQ(kDataMqSize, /* EventFlag */ true)); if (data_mq && data_mq->isValid()) { data_mq_ = std::move(data_mq); session_type_ = SessionType::A2DP_SOFTWARE_ENCODING_DATAPATH; } else { ALOGE_IF(!data_mq, "failed to allocate data MQ"); ALOGE_IF(data_mq && !data_mq->isValid(), "data MQ is invalid"); Loading Loading
bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/current/android/hardware/bluetooth/audio/SessionType.aidl +2 −0 Original line number Diff line number Diff line Loading @@ -44,4 +44,6 @@ enum SessionType { LE_AUDIO_HARDWARE_OFFLOAD_DECODING_DATAPATH = 7, LE_AUDIO_BROADCAST_SOFTWARE_ENCODING_DATAPATH = 8, LE_AUDIO_BROADCAST_HARDWARE_OFFLOAD_ENCODING_DATAPATH = 9, A2DP_SOFTWARE_DECODING_DATAPATH = 10, A2DP_HARDWARE_OFFLOAD_DECODING_DATAPATH = 11, }
bluetooth/audio/aidl/android/hardware/bluetooth/audio/SessionType.aidl +8 −0 Original line number Diff line number Diff line Loading @@ -62,4 +62,12 @@ enum SessionType { * Audio broadcast channels. This is a control path only. */ LE_AUDIO_BROADCAST_HARDWARE_OFFLOAD_ENCODING_DATAPATH, /** * A2DP legacy that AVDTP media is decoded by Bluetooth Stack */ A2DP_SOFTWARE_DECODING_DATAPATH, /** * The decoding of AVDTP media is done by HW and there is control only */ A2DP_HARDWARE_OFFLOAD_DECODING_DATAPATH, }
bluetooth/audio/aidl/default/A2dpOffloadAudioProvider.cpp +9 −1 Original line number Diff line number Diff line Loading @@ -28,10 +28,18 @@ namespace hardware { namespace bluetooth { namespace audio { A2dpOffloadAudioProvider::A2dpOffloadAudioProvider() { A2dpOffloadEncodingAudioProvider::A2dpOffloadEncodingAudioProvider() : A2dpOffloadAudioProvider() { session_type_ = SessionType::A2DP_HARDWARE_OFFLOAD_ENCODING_DATAPATH; } A2dpOffloadDecodingAudioProvider::A2dpOffloadDecodingAudioProvider() : A2dpOffloadAudioProvider() { session_type_ = SessionType::A2DP_HARDWARE_OFFLOAD_DECODING_DATAPATH; } A2dpOffloadAudioProvider::A2dpOffloadAudioProvider() {} bool A2dpOffloadAudioProvider::isValid(const SessionType& session_type) { return (session_type == session_type_); } Loading
bluetooth/audio/aidl/default/A2dpOffloadAudioProvider.h +10 −0 Original line number Diff line number Diff line Loading @@ -40,6 +40,16 @@ class A2dpOffloadAudioProvider : public BluetoothAudioProvider { ndk::ScopedAStatus onSessionReady(DataMQDesc* _aidl_return) override; }; class A2dpOffloadEncodingAudioProvider : public A2dpOffloadAudioProvider { public: A2dpOffloadEncodingAudioProvider(); }; class A2dpOffloadDecodingAudioProvider : public A2dpOffloadAudioProvider { public: A2dpOffloadDecodingAudioProvider(); }; } // namespace audio } // namespace bluetooth } // namespace hardware Loading
bluetooth/audio/aidl/default/A2dpSoftwareAudioProvider.cpp +10 −1 Original line number Diff line number Diff line Loading @@ -40,6 +40,16 @@ static constexpr uint32_t kBufferSize = kRtpFrameSize * kRtpFrameCount; static constexpr uint32_t kBufferCount = 2; // double buffer static constexpr uint32_t kDataMqSize = kBufferSize * kBufferCount; A2dpSoftwareEncodingAudioProvider::A2dpSoftwareEncodingAudioProvider() : A2dpSoftwareAudioProvider() { session_type_ = SessionType::A2DP_SOFTWARE_ENCODING_DATAPATH; } A2dpSoftwareDecodingAudioProvider::A2dpSoftwareDecodingAudioProvider() : A2dpSoftwareAudioProvider() { session_type_ = SessionType::A2DP_SOFTWARE_DECODING_DATAPATH; } A2dpSoftwareAudioProvider::A2dpSoftwareAudioProvider() : BluetoothAudioProvider(), data_mq_(nullptr) { LOG(INFO) << __func__ << " - size of audio buffer " << kDataMqSize Loading @@ -48,7 +58,6 @@ A2dpSoftwareAudioProvider::A2dpSoftwareAudioProvider() new DataMQ(kDataMqSize, /* EventFlag */ true)); if (data_mq && data_mq->isValid()) { data_mq_ = std::move(data_mq); session_type_ = SessionType::A2DP_SOFTWARE_ENCODING_DATAPATH; } else { ALOGE_IF(!data_mq, "failed to allocate data MQ"); ALOGE_IF(data_mq && !data_mq->isValid(), "data MQ is invalid"); Loading