summaryrefslogtreecommitdiffstats
path: root/media/libmedia/Visualizer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'media/libmedia/Visualizer.cpp')
-rw-r--r--media/libmedia/Visualizer.cpp19
1 files changed, 8 insertions, 11 deletions
diff --git a/media/libmedia/Visualizer.cpp b/media/libmedia/Visualizer.cpp
index f91e3e4..f5c1b1f 100644
--- a/media/libmedia/Visualizer.cpp
+++ b/media/libmedia/Visualizer.cpp
@@ -34,11 +34,12 @@ namespace android {
// ---------------------------------------------------------------------------
-Visualizer::Visualizer (int32_t priority,
+Visualizer::Visualizer (const String16& opPackageName,
+ int32_t priority,
effect_callback_t cbf,
void* user,
int sessionId)
- : AudioEffect(SL_IID_VISUALIZATION, NULL, priority, cbf, user, sessionId),
+ : AudioEffect(SL_IID_VISUALIZATION, opPackageName, NULL, priority, cbf, user, sessionId),
mCaptureRate(CAPTURE_RATE_DEF),
mCaptureSize(CAPTURE_SIZE_DEF),
mSampleRate(44100000),
@@ -53,12 +54,8 @@ Visualizer::Visualizer (int32_t priority,
Visualizer::~Visualizer()
{
ALOGV("Visualizer::~Visualizer()");
- if (mCaptureThread != NULL) {
- mCaptureThread->requestExitAndWait();
- mCaptureThread.clear();
- }
- mCaptureCallBack = NULL;
- mCaptureFlags = 0;
+ setEnabled(false);
+ setCaptureCallBack(NULL, NULL, 0, 0, true);
}
status_t Visualizer::setEnabled(bool enabled)
@@ -98,14 +95,14 @@ status_t Visualizer::setEnabled(bool enabled)
}
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) {
return BAD_VALUE;
}
Mutex::Autolock _l(mCaptureLock);
- if (mEnabled) {
+ if (force || mEnabled) {
return INVALID_OPERATION;
}
@@ -429,4 +426,4 @@ bool Visualizer::CaptureThread::threadLoop()
return false;
}
-}; // namespace android
+} // namespace android