Loading include/media/Visualizer.h +2 −1 Original line number Original line Diff line number Diff line Loading @@ -95,7 +95,8 @@ 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] Loading media/libmedia/Visualizer.cpp +4 −8 Original line number Original line Diff line number Diff line Loading @@ -54,12 +54,8 @@ Visualizer::Visualizer (const String16& opPackageName, Visualizer::~Visualizer() Visualizer::~Visualizer() { { ALOGV("Visualizer::~Visualizer()"); ALOGV("Visualizer::~Visualizer()"); if (mCaptureThread != NULL) { setEnabled(false); mCaptureThread->requestExitAndWait(); setCaptureCallBack(NULL, NULL, 0, 0, true); mCaptureThread.clear(); } mCaptureCallBack = NULL; mCaptureFlags = 0; } } status_t Visualizer::setEnabled(bool enabled) status_t Visualizer::setEnabled(bool enabled) Loading Loading @@ -99,14 +95,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) uint32_t rate, bool force) { { 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 (mEnabled) { if (force || mEnabled) { return INVALID_OPERATION; return INVALID_OPERATION; } } Loading Loading
include/media/Visualizer.h +2 −1 Original line number Original line Diff line number Diff line Loading @@ -95,7 +95,8 @@ 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] Loading
media/libmedia/Visualizer.cpp +4 −8 Original line number Original line Diff line number Diff line Loading @@ -54,12 +54,8 @@ Visualizer::Visualizer (const String16& opPackageName, Visualizer::~Visualizer() Visualizer::~Visualizer() { { ALOGV("Visualizer::~Visualizer()"); ALOGV("Visualizer::~Visualizer()"); if (mCaptureThread != NULL) { setEnabled(false); mCaptureThread->requestExitAndWait(); setCaptureCallBack(NULL, NULL, 0, 0, true); mCaptureThread.clear(); } mCaptureCallBack = NULL; mCaptureFlags = 0; } } status_t Visualizer::setEnabled(bool enabled) status_t Visualizer::setEnabled(bool enabled) Loading Loading @@ -99,14 +95,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) uint32_t rate, bool force) { { 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 (mEnabled) { if (force || mEnabled) { return INVALID_OPERATION; return INVALID_OPERATION; } } Loading