Merge "Update the input duration to reduce the number of samples to process" into main
diff --git a/bluetooth/audio/aidl/vts/VtsHalBluetoothAudioTargetTest.cpp b/bluetooth/audio/aidl/vts/VtsHalBluetoothAudioTargetTest.cpp
index 66cca0b..e83cb9e 100644
--- a/bluetooth/audio/aidl/vts/VtsHalBluetoothAudioTargetTest.cpp
+++ b/bluetooth/audio/aidl/vts/VtsHalBluetoothAudioTargetTest.cpp
@@ -4374,19 +4374,6 @@
ASSERT_NE(configuration.numBis, 0);
ASSERT_FALSE(configuration.subgroupsConfigurations.empty());
VerifyBroadcastConfiguration(one_subgroup_requirement, configuration);
-
- IBluetoothAudioProvider::LeAudioBroadcastConfigurationRequirement
- two_subgroup_requirement =
- GetBroadcastRequirement(true /* standard*/, true /* high */);
-
- // Check empty capability for source direction
- aidl_retval = audio_provider_->getLeAudioBroadcastConfiguration(
- empty_capability, two_subgroup_requirement, &configuration);
-
- ASSERT_TRUE(aidl_retval.isOk());
- ASSERT_NE(configuration.numBis, 0);
- ASSERT_FALSE(configuration.subgroupsConfigurations.empty());
- VerifyBroadcastConfiguration(two_subgroup_requirement, configuration);
}
TEST_P(BluetoothAudioProviderLeAudioBroadcastHardwareAidl,
@@ -4405,7 +4392,7 @@
IBluetoothAudioProvider::LeAudioBroadcastConfigurationRequirement
requirement =
- GetBroadcastRequirement(true /* standard*/, true /* high */);
+ GetBroadcastRequirement(true /* standard*/, false /* high */);
IBluetoothAudioProvider::LeAudioBroadcastConfigurationSetting configuration;
diff --git a/common/aidl/Android.bp b/common/aidl/Android.bp
index 431059b..1f5742d 100644
--- a/common/aidl/Android.bp
+++ b/common/aidl/Android.bp
@@ -13,7 +13,6 @@
vendor_available: true,
product_available: true,
double_loadable: true,
- vndk_use_version: "2",
srcs: [
"android/hardware/common/*.aidl",
],
diff --git a/graphics/allocator/aidl/Android.bp b/graphics/allocator/aidl/Android.bp
index 0b916bf..7bb6b50 100644
--- a/graphics/allocator/aidl/Android.bp
+++ b/graphics/allocator/aidl/Android.bp
@@ -12,7 +12,6 @@
name: "android.hardware.graphics.allocator",
vendor_available: true,
double_loadable: true,
- vndk_use_version: "2",
srcs: ["android/hardware/graphics/allocator/*.aidl"],
imports: [
"android.hardware.common-V2",
diff --git a/graphics/common/aidl/Android.bp b/graphics/common/aidl/Android.bp
index c1bb1ef..1eee5bf 100644
--- a/graphics/common/aidl/Android.bp
+++ b/graphics/common/aidl/Android.bp
@@ -13,7 +13,6 @@
host_supported: true,
vendor_available: true,
double_loadable: true,
- vndk_use_version: "5",
srcs: [
"android/hardware/graphics/common/*.aidl",
],
diff --git a/graphics/composer/aidl/Android.bp b/graphics/composer/aidl/Android.bp
index 9b6b196..5165060 100644
--- a/graphics/composer/aidl/Android.bp
+++ b/graphics/composer/aidl/Android.bp
@@ -30,7 +30,6 @@
vendor_available: true,
double_loadable: true,
frozen: false,
- vndk_use_version: "1",
srcs: [
"android/hardware/graphics/composer3/*.aidl",
],
diff --git a/media/bufferpool/aidl/default/Accessor.cpp b/media/bufferpool/aidl/default/Accessor.cpp
index 3d206ac..423fd84 100644
--- a/media/bufferpool/aidl/default/Accessor.cpp
+++ b/media/bufferpool/aidl/default/Accessor.cpp
@@ -16,6 +16,8 @@
#define LOG_TAG "AidlBufferPoolAcc"
//#define LOG_NDEBUG 0
+#include <android-base/no_destructor.h>
+
#include <sys/types.h>
#include <stdint.h>
#include <time.h>
@@ -41,7 +43,25 @@
#endif
static constexpr uint32_t kSeqIdMax = 0x7fffffff;
-uint32_t Accessor::sSeqId = time(nullptr) & kSeqIdMax;
+
+Accessor::ConnectionIdGenerator::ConnectionIdGenerator() {
+ mSeqId = static_cast<uint32_t>(time(nullptr) & kSeqIdMax);
+ mPid = static_cast<int32_t>(getpid());
+}
+
+ConnectionId Accessor::ConnectionIdGenerator::getConnectionId() {
+ uint32_t seq;
+ {
+ std::lock_guard<std::mutex> l(mLock);
+ seq = mSeqId;
+ if (mSeqId == kSeqIdMax) {
+ mSeqId = 0;
+ } else {
+ ++mSeqId;
+ }
+ }
+ return (int64_t)mPid << 32 | seq | kSeqIdVndkBit;
+}
namespace {
// anonymous namespace
@@ -239,13 +259,14 @@
uint32_t *pMsgId,
StatusDescriptor* statusDescPtr,
InvalidationDescriptor* invDescPtr) {
+ static ::android::base::NoDestructor<ConnectionIdGenerator> sConIdGenerator;
std::shared_ptr<Connection> newConnection = ::ndk::SharedRefBase::make<Connection>();
BufferPoolStatus status = ResultStatus::CRITICAL_ERROR;
{
std::lock_guard<std::mutex> lock(mBufferPool.mMutex);
if (newConnection) {
int32_t pid = getpid();
- ConnectionId id = (int64_t)pid << 32 | sSeqId | kSeqIdVndkBit;
+ ConnectionId id = sConIdGenerator->getConnectionId();
status = mBufferPool.mObserver.open(id, statusDescPtr);
if (status == ResultStatus::OK) {
newConnection->initialize(ref<Accessor>(), id);
@@ -255,11 +276,6 @@
mBufferPool.mConnectionIds.insert(id);
mBufferPool.mInvalidationChannel.getDesc(invDescPtr);
mBufferPool.mInvalidation.onConnect(id, observer);
- if (sSeqId == kSeqIdMax) {
- sSeqId = 0;
- } else {
- ++sSeqId;
- }
}
}
diff --git a/media/bufferpool/aidl/default/Accessor.h b/media/bufferpool/aidl/default/Accessor.h
index 85e2fa7..0ebe347 100644
--- a/media/bufferpool/aidl/default/Accessor.h
+++ b/media/bufferpool/aidl/default/Accessor.h
@@ -189,7 +189,14 @@
private:
// ConnectionId = pid : (timestamp_created + seqId)
// in order to guarantee uniqueness for each connection
- static uint32_t sSeqId;
+ struct ConnectionIdGenerator {
+ int32_t mPid;
+ uint32_t mSeqId;
+ std::mutex mLock;
+
+ ConnectionIdGenerator();
+ ConnectionId getConnectionId();
+ };
const std::shared_ptr<BufferPoolAllocator> mAllocator;
nsecs_t mScheduleEvictTs;
diff --git a/media/bufferpool/aidl/default/Android.bp b/media/bufferpool/aidl/default/Android.bp
index 72cd903..3c31446 100644
--- a/media/bufferpool/aidl/default/Android.bp
+++ b/media/bufferpool/aidl/default/Android.bp
@@ -29,6 +29,9 @@
export_include_dirs: [
"include",
],
+ header_libs: [
+ "libbase_headers",
+ ],
shared_libs: [
"libbinder_ndk",
"libcutils",