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

Commit ebfe27b9 authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Snap for 12243189 from ef49519f to 24Q4-release

Change-Id: I93be07cf29943a57e3bda02d495c3f851c8fb7e6
parents 837a55ca ef49519f
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package android.media;
import android.media.AudioPortFw;
import android.media.audio.common.AudioConfig;
import android.media.audio.common.AudioConfigBase;
import android.media.audio.common.AudioAttributes;

/**
 * {@hide}
@@ -32,4 +33,5 @@ parcelable OpenOutputRequest {
    AudioPortFw device;
    /** Bitmask, indexed by AudioOutputFlag. */
    int flags;
    AudioAttributes attributes;
}
+11 −3
Original line number Diff line number Diff line
@@ -2990,7 +2990,8 @@ sp<IAfThreadBase> AudioFlinger::openOutput_l(audio_module_handle_t module,
                                                        audio_config_base_t *mixerConfig,
                                                        audio_devices_t deviceType,
                                                        const String8& address,
                                                        audio_output_flags_t flags)
                                                        audio_output_flags_t flags,
                                                        const audio_attributes_t attributes)
{
    AudioHwDevice *outHwDev = findSuitableHwDev_l(module, deviceType);
    if (outHwDev == NULL) {
@@ -3008,13 +3009,18 @@ sp<IAfThreadBase> AudioFlinger::openOutput_l(audio_module_handle_t module,

    mHardwareStatus = AUDIO_HW_OUTPUT_OPEN;
    AudioStreamOut *outputStream = NULL;

    playback_track_metadata_v7_t trackMetadata;
    trackMetadata.base.usage = attributes.usage;

    status_t status = outHwDev->openOutputStream(
            &outputStream,
            *output,
            deviceType,
            flags,
            halConfig,
            address.c_str());
            address.c_str(),
            {trackMetadata});

    mHardwareStatus = AUDIO_HW_IDLE;

@@ -3083,6 +3089,8 @@ status_t AudioFlinger::openOutput(const media::OpenOutputRequest& request,
            aidl2legacy_DeviceDescriptorBase(request.device));
    audio_output_flags_t flags = VALUE_OR_RETURN_STATUS(
            aidl2legacy_int32_t_audio_output_flags_t_mask(request.flags));
    audio_attributes_t attributes = VALUE_OR_RETURN_STATUS(
            aidl2legacy_AudioAttributes_audio_attributes_t(request.attributes));

    audio_io_handle_t output;

@@ -3105,7 +3113,7 @@ status_t AudioFlinger::openOutput(const media::OpenOutputRequest& request,
    audio_utils::lock_guard _l(mutex());

    const sp<IAfThreadBase> thread = openOutput_l(module, &output, &halConfig,
            &mixerConfig, deviceType, address, flags);
            &mixerConfig, deviceType, address, flags, attributes);
    if (thread != 0) {
        uint32_t latencyMs = 0;
        if ((flags & AUDIO_OUTPUT_FLAG_MMAP_NOIRQ) == 0) {
+2 −1
Original line number Diff line number Diff line
@@ -333,7 +333,8 @@ private:
            audio_config_base_t* mixerConfig,
            audio_devices_t deviceType,
            const String8& address,
            audio_output_flags_t flags) final REQUIRES(mutex());
            audio_output_flags_t flags,
            audio_attributes_t attributes) final REQUIRES(mutex());
    const DefaultKeyedVector<audio_module_handle_t, AudioHwDevice*>&
            getAudioHwDevs_l() const final REQUIRES(mutex(), hardwareMutex()) {
              return mAudioHwDevs;
+2 −1
Original line number Diff line number Diff line
@@ -82,7 +82,8 @@ public:
            audio_config_base_t* mixerConfig,
            audio_devices_t deviceType,
            const String8& address,
            audio_output_flags_t flags) REQUIRES(mutex()) = 0;
            audio_output_flags_t flags,
            audio_attributes_t attributes) REQUIRES(mutex()) = 0;
    virtual audio_utils::mutex& mutex() const
            RETURN_CAPABILITY(audio_utils::AudioFlinger_Mutex) = 0;
    virtual const DefaultKeyedVector<audio_module_handle_t, AudioHwDevice*>&
+3 −1
Original line number Diff line number Diff line
@@ -260,6 +260,7 @@ status_t PatchPanel::createAudioPatch_l(const struct audio_patch* patch,
                    if (patch->sinks[0].config_mask & AUDIO_PORT_CONFIG_FLAGS) {
                        flags = patch->sinks[0].flags.output;
                    }
                    audio_attributes_t attributes = AUDIO_ATTRIBUTES_INITIALIZER;
                    const sp<IAfThreadBase> thread = mAfPatchPanelCallback->openOutput_l(
                                                            patch->sinks[0].ext.device.hw_module,
                                                            &output,
@@ -267,7 +268,8 @@ status_t PatchPanel::createAudioPatch_l(const struct audio_patch* patch,
                                                            &mixerConfig,
                                                            outputDevice,
                                                            outputDeviceAddress,
                                                            flags);
                                                            flags,
                                                            attributes);
                    ALOGV("mAfPatchPanelCallback->openOutput_l() returned %p", thread.get());
                    if (thread == 0) {
                        status = NO_MEMORY;
Loading