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

Commit 071a1d27 authored by ganxiaolin's avatar ganxiaolin Committed by android-build-merger
Browse files

Remove force argument to ensure mCaptureThread exit within Visualizer destructor am: 2e5b5704

am: 52435431

Change-Id: Ie415398b2a6b603c8ada1e89fafe865cddfe2ac9
parents a91abe17 52435431
Loading
Loading
Loading
Loading
+1 −2
Original line number Original line Diff line number Diff line
@@ -95,8 +95,7 @@ public:


    // install a callback to receive periodic captures. The capture rate is specified in milliHertz
    // install a callback to receive periodic captures. The capture rate is specified in milliHertz
    // and the capture format is according to flags  (see callback_flags).
    // and the capture format is according to flags  (see callback_flags).
    status_t setCaptureCallBack(capture_cbk_t cbk, void* user, uint32_t flags, uint32_t rate,
    status_t setCaptureCallBack(capture_cbk_t cbk, void* user, uint32_t flags, uint32_t rate);
                                bool force = false);


    // set the capture size capture size must be a power of two in the range
    // set the capture size capture size must be a power of two in the range
    // [VISUALIZER_CAPTURE_SIZE_MAX. VISUALIZER_CAPTURE_SIZE_MIN]
    // [VISUALIZER_CAPTURE_SIZE_MAX. VISUALIZER_CAPTURE_SIZE_MIN]
+8 −10
Original line number Original line Diff line number Diff line
@@ -55,7 +55,7 @@ Visualizer::~Visualizer()
{
{
    ALOGV("Visualizer::~Visualizer()");
    ALOGV("Visualizer::~Visualizer()");
    setEnabled(false);
    setEnabled(false);
    setCaptureCallBack(NULL, NULL, 0, 0, true);
    setCaptureCallBack(NULL, NULL, 0, 0);
}
}


status_t Visualizer::setEnabled(bool enabled)
status_t Visualizer::setEnabled(bool enabled)
@@ -77,15 +77,13 @@ status_t Visualizer::setEnabled(bool enabled)


    status_t status = AudioEffect::setEnabled(enabled);
    status_t status = AudioEffect::setEnabled(enabled);


    if (status == NO_ERROR) {
    if (t != 0) {
    if (t != 0) {
            if (enabled) {
        if (enabled && status == NO_ERROR) {
            t->run("Visualizer");
            t->run("Visualizer");
        } else {
        } else {
            t->requestExit();
            t->requestExit();
        }
        }
    }
    }
    }


    if (t != 0) {
    if (t != 0) {
        t->mLock.unlock();
        t->mLock.unlock();
@@ -95,14 +93,14 @@ status_t Visualizer::setEnabled(bool enabled)
}
}


status_t Visualizer::setCaptureCallBack(capture_cbk_t cbk, void* user, uint32_t flags,
status_t Visualizer::setCaptureCallBack(capture_cbk_t cbk, void* user, uint32_t flags,
        uint32_t rate, bool force)
        uint32_t rate)
{
{
    if (rate > CAPTURE_RATE_MAX) {
    if (rate > CAPTURE_RATE_MAX) {
        return BAD_VALUE;
        return BAD_VALUE;
    }
    }
    Mutex::Autolock _l(mCaptureLock);
    Mutex::Autolock _l(mCaptureLock);


    if (force || mEnabled) {
    if (mEnabled) {
        return INVALID_OPERATION;
        return INVALID_OPERATION;
    }
    }