Merge "Soundpool: use audio attributes instead of legacy stream type" into udc-dev

This commit is contained in:
Andy Hung
2023-05-18 18:13:41 +00:00
committed by Android (Google) Code Review
2 changed files with 6 additions and 5 deletions

View File

@@ -282,8 +282,6 @@ void Stream::play_l(const std::shared_ptr<Sound>& sound, int32_t nextStreamID,
priority, loop, rate, playerIId); priority, loop, rate, playerIId);
// initialize track // initialize track
const audio_stream_type_t streamType =
AudioSystem::attributesToStreamType(*mStreamManager->getAttributes());
const int32_t channelCount = sound->getChannelCount(); const int32_t channelCount = sound->getChannelCount();
const auto sampleRate = (uint32_t)lround(double(sound->getSampleRate()) * rate); const auto sampleRate = (uint32_t)lround(double(sound->getSampleRate()) * rate);
size_t frameCount = 0; size_t frameCount = 0;
@@ -328,8 +326,8 @@ void Stream::play_l(const std::shared_ptr<Sound>& sound, int32_t nextStreamID,
attributionSource.token = sp<BBinder>::make(); attributionSource.token = sp<BBinder>::make();
mCallback = sp<StreamCallback>::make(this, toggle), mCallback = sp<StreamCallback>::make(this, toggle),
// TODO b/182469354 make consistent with AudioRecord, add util for native source // TODO b/182469354 make consistent with AudioRecord, add util for native source
mAudioTrack = new AudioTrack(streamType, sampleRate, sound->getFormat(), mAudioTrack = new AudioTrack(AUDIO_STREAM_DEFAULT, sampleRate, sound->getFormat(),
channelMask, sound->getIMemory(), AUDIO_OUTPUT_FLAG_FAST, channelMask, sound->getIMemory(), AUDIO_OUTPUT_FLAG_NONE,
mCallback, mCallback,
0 /*default notification frames*/, AUDIO_SESSION_ALLOCATE, 0 /*default notification frames*/, AUDIO_SESSION_ALLOCATE,
AudioTrack::TRANSFER_DEFAULT, AudioTrack::TRANSFER_DEFAULT,

View File

@@ -109,7 +109,10 @@ StreamManager::StreamManager(
int32_t streams, size_t threads, const audio_attributes_t& attributes, int32_t streams, size_t threads, const audio_attributes_t& attributes,
std::string opPackageName) std::string opPackageName)
: StreamMap(streams) : StreamMap(streams)
, mAttributes(attributes) , mAttributes([attributes](){
audio_attributes_t attr = attributes;
attr.flags = static_cast<audio_flags_mask_t>(attr.flags | AUDIO_FLAG_LOW_LATENCY);
return attr; }())
, mOpPackageName(std::move(opPackageName)) , mOpPackageName(std::move(opPackageName))
, mLockStreamManagerStop(streams == 1 || kForceLockStreamManagerStop) , mLockStreamManagerStop(streams == 1 || kForceLockStreamManagerStop)
{ {