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

Commit 72479c77 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Update Visualizer implementation after changes in AudioEffect" into...

Merge "Update Visualizer implementation after changes in AudioEffect" into rvc-dev-plus-aosp am: 3de6e81e

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12298175

Change-Id: Ide91fb1a65b56e1f2260fdeb03cd62389fcded66
parents 5f1edaf7 3de6e81e
Loading
Loading
Loading
Loading
+19 −14
Original line number Diff line number Diff line
@@ -34,21 +34,9 @@ namespace android {

// ---------------------------------------------------------------------------

Visualizer::Visualizer (const String16& opPackageName,
         int32_t priority,
         effect_callback_t cbf,
         void* user,
         audio_session_t sessionId)
    :   AudioEffect(SL_IID_VISUALIZATION, opPackageName, NULL, priority, cbf, user, sessionId),
        mCaptureRate(CAPTURE_RATE_DEF),
        mCaptureSize(CAPTURE_SIZE_DEF),
        mSampleRate(44100000),
        mScalingMode(VISUALIZER_SCALING_MODE_NORMALIZED),
        mMeasurementMode(MEASUREMENT_MODE_NONE),
        mCaptureCallBack(NULL),
        mCaptureCbkUser(NULL)
Visualizer::Visualizer (const String16& opPackageName)
        :   AudioEffect(opPackageName)
{
    initCaptureSize();
}

Visualizer::~Visualizer()
@@ -58,6 +46,23 @@ Visualizer::~Visualizer()
    setCaptureCallBack(NULL, NULL, 0, 0);
}

status_t Visualizer::set(int32_t priority,
                         effect_callback_t cbf,
                         void* user,
                         audio_session_t sessionId,
                         audio_io_handle_t io,
                         const AudioDeviceTypeAddr& device,
                         bool probe)
{
    status_t status = AudioEffect::set(
            SL_IID_VISUALIZATION, nullptr, priority, cbf, user, sessionId, io, device, probe);
    if (status == NO_ERROR || status == ALREADY_EXISTS) {
        initCaptureSize();
    }
    return status;
}


void Visualizer::release()
{
    ALOGV("Visualizer::release()");
+21 −13
Original line number Diff line number Diff line
@@ -65,14 +65,22 @@ public:
    /* Constructor.
     * See AudioEffect constructor for details on parameters.
     */
                        Visualizer(const String16& opPackageName,
                                   int32_t priority = 0,
                                   effect_callback_t cbf = NULL,
                                   void* user = NULL,
                                   audio_session_t sessionId = AUDIO_SESSION_OUTPUT_MIX);
                        explicit Visualizer(const String16& opPackageName);

                        ~Visualizer();

    /**
     * Initialize an uninitialized Visualizer.
     * See AudioEffect 'set' function for details on parameters.
     */
    status_t    set(int32_t priority = 0,
                    effect_callback_t cbf = NULL,
                    void* user = NULL,
                    audio_session_t sessionId = AUDIO_SESSION_OUTPUT_MIX,
                    audio_io_handle_t io = AUDIO_IO_HANDLE_NONE,
                    const AudioDeviceTypeAddr& device = {},
                    bool probe = false);

    // Declared 'final' because we call this in ~Visualizer().
    status_t    setEnabled(bool enabled) final;

@@ -163,15 +171,15 @@ private:
    uint32_t initCaptureSize();

    Mutex mCaptureLock;
    uint32_t mCaptureRate;
    uint32_t mCaptureSize;
    uint32_t mSampleRate;
    uint32_t mScalingMode;
    uint32_t mMeasurementMode;
    capture_cbk_t mCaptureCallBack;
    void *mCaptureCbkUser;
    uint32_t mCaptureRate = CAPTURE_RATE_DEF;
    uint32_t mCaptureSize = CAPTURE_SIZE_DEF;
    uint32_t mSampleRate = 44100000;
    uint32_t mScalingMode = VISUALIZER_SCALING_MODE_NORMALIZED;
    uint32_t mMeasurementMode = MEASUREMENT_MODE_NONE;
    capture_cbk_t mCaptureCallBack = nullptr;
    void *mCaptureCbkUser = nullptr;
    sp<CaptureThread> mCaptureThread;
    uint32_t mCaptureFlags;
    uint32_t mCaptureFlags = 0;
};


+10 −11
Original line number Diff line number Diff line
@@ -337,8 +337,13 @@ android_media_AudioEffect_native_setup(JNIEnv *env, jobject thiz, jobject weak_t
    }

    // create the native AudioEffect object
    lpAudioEffect = new AudioEffect(typeStr,
                                    String16(opPackageNameStr.c_str()),
    lpAudioEffect = new AudioEffect(String16(opPackageNameStr.c_str()));
    if (lpAudioEffect == 0) {
        ALOGE("Error creating AudioEffect");
        goto setup_failure;
    }

    lpAudioEffect->set(typeStr,
                       uuidStr,
                       priority,
                       effectCallback,
@@ -347,12 +352,6 @@ android_media_AudioEffect_native_setup(JNIEnv *env, jobject thiz, jobject weak_t
                       AUDIO_IO_HANDLE_NONE,
                       device,
                       probe);
    if (lpAudioEffect == 0) {
        ALOGE("Error creating AudioEffect");
        goto setup_failure;
    }


    lStatus = AudioEffectJni::translateNativeErrorToJava(lpAudioEffect->initCheck());
    if (lStatus != AUDIOEFFECT_SUCCESS && lStatus != AUDIOEFFECT_ERROR_ALREADY_EXISTS) {
        ALOGE("AudioEffect initCheck failed %d", lStatus);
+5 −5
Original line number Diff line number Diff line
@@ -382,15 +382,15 @@ android_media_visualizer_native_setup(JNIEnv *env, jobject thiz, jobject weak_th
    }

    // create the native Visualizer object
    lpVisualizer = new Visualizer(String16(opPackageNameStr.c_str()),
                                  0,
                                  android_media_visualizer_effect_callback,
                                  lpJniStorage,
                                  (audio_session_t) sessionId);
    lpVisualizer = new Visualizer(String16(opPackageNameStr.c_str()));
    if (lpVisualizer == 0) {
        ALOGE("Error creating Visualizer");
        goto setup_failure;
    }
    lpVisualizer->set(0,
                      android_media_visualizer_effect_callback,
                      lpJniStorage,
                      (audio_session_t) sessionId);

    lStatus = translateError(lpVisualizer->initCheck());
    if (lStatus != VISUALIZER_SUCCESS && lStatus != VISUALIZER_ERROR_ALREADY_EXISTS) {