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

Commit a16a9df3 authored by Ytai Ben-Tsvi's avatar Ytai Ben-Tsvi
Browse files

Some syntactic cleanup

Mostly, this change renames HeadTrackingMode to
SpatializerHeadTrackingMode in order to avoid name collision with the
HeadTrackingMode type from libheadtracking.

Other nits are included.

Test: m -j
Bug: 188502620
Change-Id: I7f4188c1f401a98044f28c68d9613267d5baa808
parent b2a87e5d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -388,9 +388,9 @@ aidl_interface {
        "aidl/android/media/AudioProductStrategy.aidl",
        "aidl/android/media/AudioVolumeGroup.aidl",
        "aidl/android/media/DeviceRole.aidl",
        "aidl/android/media/HeadTrackingMode.aidl",
        "aidl/android/media/SoundTriggerSession.aidl",
        "aidl/android/media/SpatializationLevel.aidl",
        "aidl/android/media/SpatializerHeadTrackingMode.aidl",
    ],
    imports: [
        "audio_common-aidl",
+10 −9
Original line number Diff line number Diff line
@@ -16,8 +16,8 @@

package android.media;

import android.media.HeadTrackingMode;
import android.media.SpatializationLevel;
import android.media.SpatializerHeadTrackingMode;

/**
 * The ISpatializer interface is used to control the native audio service implementation
@@ -47,22 +47,23 @@ interface ISpatializer {
    /** Gets the selected spatialization level (see SpatializationLevel.aidl) */
    SpatializationLevel getLevel();

    /** Reports the list of supported head tracking modes (see HeadTrackingMode.aidl). The list can
     * be empty if the spatializer implementation does not support head tracking or if no
     * head tracking device is connected.
    /** Reports the list of supported head tracking modes (see SpatializerHeadTrackingMode.aidl).
     * The list can be empty if the spatializer implementation does not support head tracking or if
     * no head tracking device is connected.
     */
    HeadTrackingMode[] getSupportedHeadTrackingModes();
    SpatializerHeadTrackingMode[] getSupportedHeadTrackingModes();

    /** Selects the desired head tracking mode (see HeadTrackingMode.aidl) */
    void setDesiredHeadTrackingMode(HeadTrackingMode mode);
    /** Selects the desired head tracking mode (see SpatializerHeadTrackingMode.aidl) */
    void setDesiredHeadTrackingMode(SpatializerHeadTrackingMode mode);

    /** Gets the actual head tracking mode. Can be different from the desired mode if conditions to
     * enable the desired mode are not met (e.g if the head tracking device was removed)
     */
    HeadTrackingMode getActualHeadTrackingMode();
    SpatializerHeadTrackingMode getActualHeadTrackingMode();

    /** Reset the head tracking algorithm to consider current head pose as neutral */
    void recenterHeadtracker();
    void recenterHeadTracker();

    /** Set the screen to stage transform to use by the head tracking algorithm */
    void setGlobalTransform(in float[] screenToStage);
}
+2 −2
Original line number Diff line number Diff line
@@ -18,12 +18,12 @@ package android.media;


/**
 * The head tracking mode supported by the spatializer stage effect implementation.
 * The head tracking mode supported by the spatializer effect implementation.
 * Used by methods of the ISpatializer interface.
 * {@hide}
 */
@Backing(type="byte")
enum HeadTrackingMode {
enum SpatializerHeadTrackingMode {
    /** Head tracking is active in a mode not listed below (forward compatibility) */
    OTHER = 0,
    /** Head tracking is disabled */
+11 −12
Original line number Diff line number Diff line
@@ -40,8 +40,8 @@ using aidl_utils::statusTFromBinderStatus;
using aidl_utils::binderStatusFromStatusT;
using android::content::AttributionSourceState;
using binder::Status;
using media::HeadTrackingMode;
using media::SpatializationLevel;
using media::SpatializerHeadTrackingMode;

#define VALUE_OR_RETURN_BINDER_STATUS(x) \
    ({ auto _tmp = (x); \
@@ -177,7 +177,7 @@ Status Spatializer::getLevel(media::SpatializationLevel *level) {
}

Status Spatializer::getSupportedHeadTrackingModes(
        std::vector<media::HeadTrackingMode>* modes) {
        std::vector<media::SpatializerHeadTrackingMode>* modes) {
    ALOGV("%s", __func__);
    if (modes == nullptr) {
        return binderStatusFromStatusT(BAD_VALUE);
@@ -186,14 +186,14 @@ Status Spatializer::getSupportedHeadTrackingModes(
    // - The engine capabilities
    // - If a head tracking sensor is registered and linked to a connected audio device
    // - if we have indications on the screen orientation
    modes->push_back(HeadTrackingMode::RELATIVE_WORLD);
    modes->push_back(SpatializerHeadTrackingMode::RELATIVE_WORLD);
    return Status::ok();
}

Status Spatializer::setDesiredHeadTrackingMode(media::HeadTrackingMode mode) {
Status Spatializer::setDesiredHeadTrackingMode(media::SpatializerHeadTrackingMode mode) {
    ALOGV("%s level %d", __func__, (int)mode);
    if (mode != HeadTrackingMode::DISABLED
            && mode != HeadTrackingMode::RELATIVE_WORLD) {
    if (mode != SpatializerHeadTrackingMode::DISABLED
            && mode != SpatializerHeadTrackingMode::RELATIVE_WORLD) {
        return binderStatusFromStatusT(BAD_VALUE);
    }
    {
@@ -203,7 +203,7 @@ Status Spatializer::setDesiredHeadTrackingMode(media::HeadTrackingMode mode) {
    return Status::ok();
}

Status Spatializer::getActualHeadTrackingMode(media::HeadTrackingMode *mode) {
Status Spatializer::getActualHeadTrackingMode(media::SpatializerHeadTrackingMode *mode) {
    if (mode == nullptr) {
        return binderStatusFromStatusT(BAD_VALUE);
    }
@@ -213,7 +213,7 @@ Status Spatializer::getActualHeadTrackingMode(media::HeadTrackingMode *mode) {
    return Status::ok();
}

Status Spatializer::recenterHeadtracker() {
Status Spatializer::recenterHeadTracker() {
    return Status::ok();
}

@@ -259,10 +259,9 @@ status_t Spatializer::attachOutput(audio_io_handle_t output) {
    // create FX instance on output
    AttributionSourceState attributionSource = AttributionSourceState();
    mEngine = new AudioEffect(attributionSource);
    mEngine->set(nullptr, &mEngineDescriptor.uuid, 0,
                 Spatializer::engineCallback /* cbf */, this /* user */,
                 AUDIO_SESSION_OUTPUT_STAGE, output,
                 {} /* device */, false /* probe */, true /* notifyFramesProcessed */);
    mEngine->set(nullptr, &mEngineDescriptor.uuid, 0, Spatializer::engineCallback /* cbf */,
                 this /* user */, AUDIO_SESSION_OUTPUT_STAGE, output, {} /* device */,
                 false /* probe */, true /* notifyFramesProcessed */);
    status_t status = mEngine->initCheck();
    ALOGV("%s mEngine create status %d", __func__, (int)status);
    if (status != NO_ERROR) {
+9 −7
Original line number Diff line number Diff line
@@ -19,7 +19,7 @@

#include <android/media/BnEffect.h>
#include <android/media/BnSpatializer.h>
#include <android/media/HeadTrackingMode.h>
#include <android/media/SpatializerHeadTrackingMode.h>
#include <android/media/SpatializationLevel.h>

#include <media/AudioEffect.h>
@@ -93,10 +93,12 @@ public:
    binder::Status setLevel(media::SpatializationLevel level) override;
    binder::Status getLevel(media::SpatializationLevel *level) override;
    binder::Status getSupportedHeadTrackingModes(
            std::vector<media::HeadTrackingMode>* modes) override;
    binder::Status setDesiredHeadTrackingMode(media::HeadTrackingMode mode) override;
    binder::Status getActualHeadTrackingMode(media::HeadTrackingMode *mode) override;
    binder::Status recenterHeadtracker() override;
            std::vector<media::SpatializerHeadTrackingMode>* modes) override;
    binder::Status setDesiredHeadTrackingMode(
            media::SpatializerHeadTrackingMode mode) override;
    binder::Status getActualHeadTrackingMode(
            media::SpatializerHeadTrackingMode* mode) override;
    binder::Status recenterHeadTracker() override;
    binder::Status setGlobalTransform(const std::vector<float>& screenToStage) override;

    /** IBinder::DeathRecipient. Listen to the death of the INativeSpatializerCallback. */
@@ -190,8 +192,8 @@ private:
    /** Requested spatialization level */
    media::SpatializationLevel mLevel GUARDED_BY(mLock) = media::SpatializationLevel::NONE;
    /** Requested head tracking mode */
    media::HeadTrackingMode mHeadTrackingMode GUARDED_BY(mLock)
            = media::HeadTrackingMode::DISABLED;
    media::SpatializerHeadTrackingMode mHeadTrackingMode GUARDED_BY(mLock)
            = media::SpatializerHeadTrackingMode::DISABLED;
    /** Configured screen to stage transform */
    std::vector<float> mScreenToStageTransform GUARDED_BY(mLock);