diff --git a/media/jni/soundpool/Stream.cpp b/media/jni/soundpool/Stream.cpp index 4194a22bfb675..45dde74039509 100644 --- a/media/jni/soundpool/Stream.cpp +++ b/media/jni/soundpool/Stream.cpp @@ -282,8 +282,6 @@ void Stream::play_l(const std::shared_ptr& sound, int32_t nextStreamID, priority, loop, rate, playerIId); // initialize track - const audio_stream_type_t streamType = - AudioSystem::attributesToStreamType(*mStreamManager->getAttributes()); const int32_t channelCount = sound->getChannelCount(); const auto sampleRate = (uint32_t)lround(double(sound->getSampleRate()) * rate); size_t frameCount = 0; @@ -328,8 +326,8 @@ void Stream::play_l(const std::shared_ptr& sound, int32_t nextStreamID, attributionSource.token = sp::make(); mCallback = sp::make(this, toggle), // TODO b/182469354 make consistent with AudioRecord, add util for native source - mAudioTrack = new AudioTrack(streamType, sampleRate, sound->getFormat(), - channelMask, sound->getIMemory(), AUDIO_OUTPUT_FLAG_FAST, + mAudioTrack = new AudioTrack(AUDIO_STREAM_DEFAULT, sampleRate, sound->getFormat(), + channelMask, sound->getIMemory(), AUDIO_OUTPUT_FLAG_NONE, mCallback, 0 /*default notification frames*/, AUDIO_SESSION_ALLOCATE, AudioTrack::TRANSFER_DEFAULT, diff --git a/media/jni/soundpool/StreamManager.cpp b/media/jni/soundpool/StreamManager.cpp index acd4badad9b03..52060f1e6209f 100644 --- a/media/jni/soundpool/StreamManager.cpp +++ b/media/jni/soundpool/StreamManager.cpp @@ -109,7 +109,10 @@ StreamManager::StreamManager( int32_t streams, size_t threads, const audio_attributes_t& attributes, std::string opPackageName) : StreamMap(streams) - , mAttributes(attributes) + , mAttributes([attributes](){ + audio_attributes_t attr = attributes; + attr.flags = static_cast(attr.flags | AUDIO_FLAG_LOW_LATENCY); + return attr; }()) , mOpPackageName(std::move(opPackageName)) , mLockStreamManagerStop(streams == 1 || kForceLockStreamManagerStop) {