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

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

Snap for 10060019 from 5646799a to udc-release

Change-Id: I0b593076a7d22ca05337785f9c8e00868d9956e6
parents 41678b37 5646799a
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -3407,12 +3407,20 @@ status_t AudioFlinger::DeviceEffectProxy::checkPort(const PatchPanel::Patch& pat
    } else if (patch.isSoftware() || patch.thread().promote() != nullptr) {
        sp <ThreadBase> thread;
        if (audio_port_config_has_input_direction(port)) {
            if ((mDescriptor.flags & EFFECT_FLAG_TYPE_MASK) == EFFECT_FLAG_TYPE_POST_PROC) {
                ALOGI("%s don't create postprocessing effect on record thread", __func__);
                return NAME_NOT_FOUND;
            }
            if (patch.isSoftware()) {
                thread = patch.mRecord.thread();
            } else {
                thread = patch.thread().promote();
            }
        } else {
            if ((mDescriptor.flags & EFFECT_FLAG_TYPE_MASK) == EFFECT_FLAG_TYPE_PRE_PROC) {
                ALOGI("%s don't create preprocessing effect on playback thread", __func__);
                return NAME_NOT_FOUND;
            }
            if (patch.isSoftware()) {
                thread = patch.mPlayback.thread();
            } else {
+0 −1
Original line number Diff line number Diff line
@@ -95,7 +95,6 @@ bool AudioFlinger::MelReporter::shouldComputeMelForDeviceType(audio_devices_t de
        // TODO(b/278265907): enable A2DP when we can distinguish A2DP headsets
        // case AUDIO_DEVICE_OUT_BLUETOOTH_A2DP:
        case AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES:
        case AUDIO_DEVICE_OUT_HEARING_AID:
        case AUDIO_DEVICE_OUT_USB_HEADSET:
        case AUDIO_DEVICE_OUT_BLE_HEADSET:
        case AUDIO_DEVICE_OUT_BLE_BROADCAST:
+3 −2
Original line number Diff line number Diff line
@@ -121,9 +121,7 @@ class SpatializerPoseController : private media::SensorPoseProvider::Listener {
    mutable std::timed_mutex mMutex;
    Listener* const mListener;
    const std::chrono::microseconds mSensorPeriod;
    // Order matters for the following two members to ensure correct destruction.
    std::unique_ptr<media::HeadTrackingProcessor> mProcessor;
    std::unique_ptr<media::SensorPoseProvider> mPoseProvider;
    int32_t mHeadSensor = media::SensorPoseProvider::INVALID_HANDLE;
    int32_t mScreenSensor = media::SensorPoseProvider::INVALID_HANDLE;
    std::optional<media::HeadTrackingMode> mActualMode;
@@ -146,6 +144,9 @@ class SpatializerPoseController : private media::SensorPoseProvider::Listener {
        4 /* vectorSize */, std::chrono::minutes(1), 10 /* maxLogLine */,
        { 3 } /* delimiterIdx */};

    // Next to last variable as releasing this stops the callbacks
    std::unique_ptr<media::SensorPoseProvider> mPoseProvider;

    // It's important that mThread is the last variable in this class
    // since we starts mThread in initializer list
    std::thread mThread;