Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 95511add authored by Eric Laurent's avatar Eric Laurent
Browse files

audio policy: add support for ro.audio.media_deep_buffer

Bug: 17931716.
Change-Id: Ife170f20f5d02b71059fbd384bd29759fafee826
parent f5ada6ed
Loading
Loading
Loading
Loading
+11 −1
Original line number Diff line number Diff line
@@ -926,6 +926,10 @@ audio_io_handle_t AudioPolicyManager::getOutputForDevice(
    if ((flags & AUDIO_OUTPUT_FLAG_HW_AV_SYNC) != 0) {
        flags = (audio_output_flags_t)(flags | AUDIO_OUTPUT_FLAG_DIRECT);
    }
    if (mForceDeepBufferForMedia && (flags & AUDIO_OUTPUT_FLAG_DIRECT) == 0 &&
            stream == AUDIO_STREAM_MUSIC) {
        flags = (audio_output_flags_t)(flags | AUDIO_OUTPUT_FLAG_DEEP_BUFFER);
    }

    sp<IOProfile> profile;

@@ -2653,8 +2657,14 @@ AudioPolicyManager::AudioPolicyManager(AudioPolicyClientInterface *clientInterfa
    mTotalEffectsCpuLoad(0), mTotalEffectsMemory(0),
    mA2dpSuspended(false),
    mSpeakerDrcEnabled(false), mNextUniqueId(1),
    mAudioPortGeneration(1)
    mAudioPortGeneration(1),
    mForceDeepBufferForMedia(false)
{
    char propValue[PROPERTY_VALUE_MAX];
    if (property_get("ro.audio.media_deep_buffer", propValue, "0")) {
        mForceDeepBufferForMedia = atoi(propValue);
    }

    mUidCached = getuid();
    mpClientInterface = clientInterface;

+2 −0
Original line number Diff line number Diff line
@@ -806,6 +806,8 @@ protected:
        sp<AudioPatch> mCallTxPatch;
        sp<AudioPatch> mCallRxPatch;

        bool mForceDeepBufferForMedia;

#ifdef AUDIO_POLICY_TEST
        Mutex   mLock;
        Condition mWaitWorkCV;