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

Commit 6340b16e authored by Phil Burk's avatar Phil Burk Committed by android-build-merger
Browse files

Merge "AudioPolicyManager: only modify surround formats for HDMI devices" into nyc-dev am: 88c3cda7

am: d6a6a1aa

* commit 'd6a6a1aa':
  AudioPolicyManager: only modify surround formats for HDMI devices

Change-Id: I4b95f2ee67c25ed3e4f66af920093ea961fd8e6b
parents 6a0a4703 d6a6a1aa
Loading
Loading
Loading
Loading
+7 −4
Original line number Original line Diff line number Diff line
@@ -3733,7 +3733,7 @@ status_t AudioPolicyManager::checkOutputsForDevice(const sp<DeviceDescriptor> de
                    mpClientInterface->setParameters(output, String8(param));
                    mpClientInterface->setParameters(output, String8(param));
                    free(param);
                    free(param);
                }
                }
                updateAudioProfiles(output, profile->getAudioProfiles());
                updateAudioProfiles(device, output, profile->getAudioProfiles());
                if (!profile->hasValidAudioProfile()) {
                if (!profile->hasValidAudioProfile()) {
                    ALOGW("checkOutputsForDevice() missing param");
                    ALOGW("checkOutputsForDevice() missing param");
                    mpClientInterface->closeOutput(output);
                    mpClientInterface->closeOutput(output);
@@ -3971,7 +3971,7 @@ status_t AudioPolicyManager::checkInputsForDevice(const sp<DeviceDescriptor> dev
                    mpClientInterface->setParameters(input, String8(param));
                    mpClientInterface->setParameters(input, String8(param));
                    free(param);
                    free(param);
                }
                }
                updateAudioProfiles(input, profile->getAudioProfiles());
                updateAudioProfiles(device, input, profile->getAudioProfiles());
                if (!profile->hasValidAudioProfile()) {
                if (!profile->hasValidAudioProfile()) {
                    ALOGW("checkInputsForDevice() direct input missing param");
                    ALOGW("checkInputsForDevice() direct input missing param");
                    mpClientInterface->closeInput(input);
                    mpClientInterface->closeInput(input);
@@ -5366,7 +5366,8 @@ void AudioPolicyManager::filterSurroundFormats(FormatVector &formats) {
            __FUNCTION__, supportsAC3, supportsOtherSurround, supportsIEC61937);
            __FUNCTION__, supportsAC3, supportsOtherSurround, supportsIEC61937);
}
}


void AudioPolicyManager::updateAudioProfiles(audio_io_handle_t ioHandle,
void AudioPolicyManager::updateAudioProfiles(audio_devices_t device,
                                             audio_io_handle_t ioHandle,
                                             AudioProfileVector &profiles)
                                             AudioProfileVector &profiles)
{
{
    String8 reply;
    String8 reply;
@@ -5383,7 +5384,9 @@ void AudioPolicyManager::updateAudioProfiles(audio_io_handle_t ioHandle,
            return;
            return;
        }
        }
        FormatVector formats = formatsFromString(reply.string());
        FormatVector formats = formatsFromString(reply.string());
        if (device == AUDIO_DEVICE_OUT_HDMI) {
            filterSurroundFormats(formats);
            filterSurroundFormats(formats);
        }
        profiles.setFormats(formats);
        profiles.setFormats(formats);
    }
    }
    const FormatVector &supportedFormats = profiles.getSupportedFormats();
    const FormatVector &supportedFormats = profiles.getSupportedFormats();
+2 −1
Original line number Original line Diff line number Diff line
@@ -592,7 +592,8 @@ private:
        void filterSurroundFormats(FormatVector &formats);
        void filterSurroundFormats(FormatVector &formats);


        // If any, resolve any "dynamic" fields of an Audio Profiles collection
        // If any, resolve any "dynamic" fields of an Audio Profiles collection
        void updateAudioProfiles(audio_io_handle_t ioHandle, AudioProfileVector &profiles);
        void updateAudioProfiles(audio_devices_t device, audio_io_handle_t ioHandle,
                AudioProfileVector &profiles);


        // updates device caching and output for streams that can influence the
        // updates device caching and output for streams that can influence the
        //    routing of notifications
        //    routing of notifications