Merge "Soundpool: use audio attributes instead of legacy stream type" into udc-dev
This commit is contained in:
@@ -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,
|
||||||
|
|||||||
@@ -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)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user