Merge "audioflinger: fix mmap volume update" into pi-dev

am: bad588e975

Change-Id: I107e1a2048f6e2db11a9126c25f47d06872df13f
gugelfrei
Eric Laurent 6 years ago committed by android-build-merger
commit d57b580b86

@ -7898,7 +7898,9 @@ AudioFlinger::MmapThread::MmapThread(
mSessionId(AUDIO_SESSION_NONE),
mDeviceId(AUDIO_PORT_HANDLE_NONE), mPortId(AUDIO_PORT_HANDLE_NONE),
mHalStream(stream), mHalDevice(hwDev->hwDevice()), mAudioHwDev(hwDev),
mActiveTracks(&this->mLocalLog), mNoCallbackWarningCount(0)
mActiveTracks(&this->mLocalLog),
mHalVolFloat(-1.0f), // Initialize to illegal value so it always gets set properly later.
mNoCallbackWarningCount(0)
{
mStandby = true;
readHalParameters_l();
@ -8065,7 +8067,10 @@ status_t AudioFlinger::MmapThread::start(const AudioClient& client,
return PERMISSION_DENIED;
}
if (!isOutput() && !silenced) {
if (isOutput()) {
// force volume update when a new track is added
mHalVolFloat = -1.0f;
} else if (!silenced) {
for (const sp<MmapTrack> &track : mActiveTracks) {
if (track->isSilenced_l() && track->uid() != client.clientUid)
track->invalidate();
@ -8620,7 +8625,6 @@ AudioFlinger::MmapPlaybackThread::MmapPlaybackThread(
mStreamType(AUDIO_STREAM_MUSIC),
mStreamVolume(1.0),
mStreamMute(false),
mHalVolFloat(-1.0f), // Initialize to illegal value so it always gets set properly later.
mOutput(output)
{
snprintf(mThreadName, kThreadNameLength, "AudioMmapOut_%X", id);

@ -1641,6 +1641,7 @@ class MmapThread : public ThreadBase
sp<DeviceHalInterface> mHalDevice;
AudioHwDevice* const mAudioHwDev;
ActiveTracks<MmapTrack> mActiveTracks;
float mHalVolFloat;
int32_t mNoCallbackWarningCount;
static constexpr int32_t kMaxNoCallbackWarnings = 5;
@ -1692,7 +1693,6 @@ protected:
float mStreamVolume;
bool mMasterMute;
bool mStreamMute;
float mHalVolFloat;
AudioStreamOut* mOutput;
};

Loading…
Cancel
Save