Loading media/jni/audioeffect/Visualizer.cpp +19 −14 Original line number Original line Diff line number Diff line Loading @@ -34,21 +34,9 @@ namespace android { // --------------------------------------------------------------------------- // --------------------------------------------------------------------------- Visualizer::Visualizer (const String16& opPackageName, Visualizer::Visualizer (const String16& opPackageName) int32_t priority, : AudioEffect(opPackageName) 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) { { initCaptureSize(); } } Visualizer::~Visualizer() Visualizer::~Visualizer() Loading @@ -58,6 +46,23 @@ Visualizer::~Visualizer() setCaptureCallBack(NULL, NULL, 0, 0); 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() void Visualizer::release() { { ALOGV("Visualizer::release()"); ALOGV("Visualizer::release()"); Loading media/jni/audioeffect/Visualizer.h +21 −13 Original line number Original line Diff line number Diff line Loading @@ -65,14 +65,22 @@ public: /* Constructor. /* Constructor. * See AudioEffect constructor for details on parameters. * See AudioEffect constructor for details on parameters. */ */ Visualizer(const String16& opPackageName, explicit Visualizer(const String16& opPackageName); int32_t priority = 0, effect_callback_t cbf = NULL, void* user = NULL, audio_session_t sessionId = AUDIO_SESSION_OUTPUT_MIX); ~Visualizer(); ~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(). // Declared 'final' because we call this in ~Visualizer(). status_t setEnabled(bool enabled) final; status_t setEnabled(bool enabled) final; Loading Loading @@ -163,15 +171,15 @@ private: uint32_t initCaptureSize(); uint32_t initCaptureSize(); Mutex mCaptureLock; Mutex mCaptureLock; uint32_t mCaptureRate; uint32_t mCaptureRate = CAPTURE_RATE_DEF; uint32_t mCaptureSize; uint32_t mCaptureSize = CAPTURE_SIZE_DEF; uint32_t mSampleRate; uint32_t mSampleRate = 44100000; uint32_t mScalingMode; uint32_t mScalingMode = VISUALIZER_SCALING_MODE_NORMALIZED; uint32_t mMeasurementMode; uint32_t mMeasurementMode = MEASUREMENT_MODE_NONE; capture_cbk_t mCaptureCallBack; capture_cbk_t mCaptureCallBack = nullptr; void *mCaptureCbkUser; void *mCaptureCbkUser = nullptr; sp<CaptureThread> mCaptureThread; sp<CaptureThread> mCaptureThread; uint32_t mCaptureFlags; uint32_t mCaptureFlags = 0; }; }; Loading media/jni/audioeffect/android_media_AudioEffect.cpp +10 −11 Original line number Original line Diff line number Diff line Loading @@ -337,8 +337,13 @@ android_media_AudioEffect_native_setup(JNIEnv *env, jobject thiz, jobject weak_t } } // create the native AudioEffect object // create the native AudioEffect object lpAudioEffect = new AudioEffect(typeStr, lpAudioEffect = new AudioEffect(String16(opPackageNameStr.c_str())); String16(opPackageNameStr.c_str()), if (lpAudioEffect == 0) { ALOGE("Error creating AudioEffect"); goto setup_failure; } lpAudioEffect->set(typeStr, uuidStr, uuidStr, priority, priority, effectCallback, effectCallback, Loading @@ -347,12 +352,6 @@ android_media_AudioEffect_native_setup(JNIEnv *env, jobject thiz, jobject weak_t AUDIO_IO_HANDLE_NONE, AUDIO_IO_HANDLE_NONE, device, device, probe); probe); if (lpAudioEffect == 0) { ALOGE("Error creating AudioEffect"); goto setup_failure; } lStatus = AudioEffectJni::translateNativeErrorToJava(lpAudioEffect->initCheck()); lStatus = AudioEffectJni::translateNativeErrorToJava(lpAudioEffect->initCheck()); if (lStatus != AUDIOEFFECT_SUCCESS && lStatus != AUDIOEFFECT_ERROR_ALREADY_EXISTS) { if (lStatus != AUDIOEFFECT_SUCCESS && lStatus != AUDIOEFFECT_ERROR_ALREADY_EXISTS) { ALOGE("AudioEffect initCheck failed %d", lStatus); ALOGE("AudioEffect initCheck failed %d", lStatus); Loading media/jni/audioeffect/android_media_Visualizer.cpp +5 −5 Original line number Original line Diff line number Diff line Loading @@ -382,15 +382,15 @@ android_media_visualizer_native_setup(JNIEnv *env, jobject thiz, jobject weak_th } } // create the native Visualizer object // create the native Visualizer object lpVisualizer = new Visualizer(String16(opPackageNameStr.c_str()), lpVisualizer = new Visualizer(String16(opPackageNameStr.c_str())); 0, android_media_visualizer_effect_callback, lpJniStorage, (audio_session_t) sessionId); if (lpVisualizer == 0) { if (lpVisualizer == 0) { ALOGE("Error creating Visualizer"); ALOGE("Error creating Visualizer"); goto setup_failure; goto setup_failure; } } lpVisualizer->set(0, android_media_visualizer_effect_callback, lpJniStorage, (audio_session_t) sessionId); lStatus = translateError(lpVisualizer->initCheck()); lStatus = translateError(lpVisualizer->initCheck()); if (lStatus != VISUALIZER_SUCCESS && lStatus != VISUALIZER_ERROR_ALREADY_EXISTS) { if (lStatus != VISUALIZER_SUCCESS && lStatus != VISUALIZER_ERROR_ALREADY_EXISTS) { Loading Loading
media/jni/audioeffect/Visualizer.cpp +19 −14 Original line number Original line Diff line number Diff line Loading @@ -34,21 +34,9 @@ namespace android { // --------------------------------------------------------------------------- // --------------------------------------------------------------------------- Visualizer::Visualizer (const String16& opPackageName, Visualizer::Visualizer (const String16& opPackageName) int32_t priority, : AudioEffect(opPackageName) 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) { { initCaptureSize(); } } Visualizer::~Visualizer() Visualizer::~Visualizer() Loading @@ -58,6 +46,23 @@ Visualizer::~Visualizer() setCaptureCallBack(NULL, NULL, 0, 0); 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() void Visualizer::release() { { ALOGV("Visualizer::release()"); ALOGV("Visualizer::release()"); Loading
media/jni/audioeffect/Visualizer.h +21 −13 Original line number Original line Diff line number Diff line Loading @@ -65,14 +65,22 @@ public: /* Constructor. /* Constructor. * See AudioEffect constructor for details on parameters. * See AudioEffect constructor for details on parameters. */ */ Visualizer(const String16& opPackageName, explicit Visualizer(const String16& opPackageName); int32_t priority = 0, effect_callback_t cbf = NULL, void* user = NULL, audio_session_t sessionId = AUDIO_SESSION_OUTPUT_MIX); ~Visualizer(); ~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(). // Declared 'final' because we call this in ~Visualizer(). status_t setEnabled(bool enabled) final; status_t setEnabled(bool enabled) final; Loading Loading @@ -163,15 +171,15 @@ private: uint32_t initCaptureSize(); uint32_t initCaptureSize(); Mutex mCaptureLock; Mutex mCaptureLock; uint32_t mCaptureRate; uint32_t mCaptureRate = CAPTURE_RATE_DEF; uint32_t mCaptureSize; uint32_t mCaptureSize = CAPTURE_SIZE_DEF; uint32_t mSampleRate; uint32_t mSampleRate = 44100000; uint32_t mScalingMode; uint32_t mScalingMode = VISUALIZER_SCALING_MODE_NORMALIZED; uint32_t mMeasurementMode; uint32_t mMeasurementMode = MEASUREMENT_MODE_NONE; capture_cbk_t mCaptureCallBack; capture_cbk_t mCaptureCallBack = nullptr; void *mCaptureCbkUser; void *mCaptureCbkUser = nullptr; sp<CaptureThread> mCaptureThread; sp<CaptureThread> mCaptureThread; uint32_t mCaptureFlags; uint32_t mCaptureFlags = 0; }; }; Loading
media/jni/audioeffect/android_media_AudioEffect.cpp +10 −11 Original line number Original line Diff line number Diff line Loading @@ -337,8 +337,13 @@ android_media_AudioEffect_native_setup(JNIEnv *env, jobject thiz, jobject weak_t } } // create the native AudioEffect object // create the native AudioEffect object lpAudioEffect = new AudioEffect(typeStr, lpAudioEffect = new AudioEffect(String16(opPackageNameStr.c_str())); String16(opPackageNameStr.c_str()), if (lpAudioEffect == 0) { ALOGE("Error creating AudioEffect"); goto setup_failure; } lpAudioEffect->set(typeStr, uuidStr, uuidStr, priority, priority, effectCallback, effectCallback, Loading @@ -347,12 +352,6 @@ android_media_AudioEffect_native_setup(JNIEnv *env, jobject thiz, jobject weak_t AUDIO_IO_HANDLE_NONE, AUDIO_IO_HANDLE_NONE, device, device, probe); probe); if (lpAudioEffect == 0) { ALOGE("Error creating AudioEffect"); goto setup_failure; } lStatus = AudioEffectJni::translateNativeErrorToJava(lpAudioEffect->initCheck()); lStatus = AudioEffectJni::translateNativeErrorToJava(lpAudioEffect->initCheck()); if (lStatus != AUDIOEFFECT_SUCCESS && lStatus != AUDIOEFFECT_ERROR_ALREADY_EXISTS) { if (lStatus != AUDIOEFFECT_SUCCESS && lStatus != AUDIOEFFECT_ERROR_ALREADY_EXISTS) { ALOGE("AudioEffect initCheck failed %d", lStatus); ALOGE("AudioEffect initCheck failed %d", lStatus); Loading
media/jni/audioeffect/android_media_Visualizer.cpp +5 −5 Original line number Original line Diff line number Diff line Loading @@ -382,15 +382,15 @@ android_media_visualizer_native_setup(JNIEnv *env, jobject thiz, jobject weak_th } } // create the native Visualizer object // create the native Visualizer object lpVisualizer = new Visualizer(String16(opPackageNameStr.c_str()), lpVisualizer = new Visualizer(String16(opPackageNameStr.c_str())); 0, android_media_visualizer_effect_callback, lpJniStorage, (audio_session_t) sessionId); if (lpVisualizer == 0) { if (lpVisualizer == 0) { ALOGE("Error creating Visualizer"); ALOGE("Error creating Visualizer"); goto setup_failure; goto setup_failure; } } lpVisualizer->set(0, android_media_visualizer_effect_callback, lpJniStorage, (audio_session_t) sessionId); lStatus = translateError(lpVisualizer->initCheck()); lStatus = translateError(lpVisualizer->initCheck()); if (lStatus != VISUALIZER_SUCCESS && lStatus != VISUALIZER_ERROR_ALREADY_EXISTS) { if (lStatus != VISUALIZER_SUCCESS && lStatus != VISUALIZER_ERROR_ALREADY_EXISTS) { Loading