From ebf9528eae8c400c9c1e64a6bca7a8d3613214a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Str=C3=B8mme?= Date: Tue, 1 Apr 2014 19:04:12 +0200 Subject: Android: Fix MediaRecorder wrapper The QJNIObject was never intended to be used as a base class. Change-Id: I8311f909a37aeae6040eba4471b379cfc732297b Reviewed-by: Yoann Lopes --- .../android/src/wrappers/jmediarecorder.cpp | 46 +++++++++++----------- src/plugins/android/src/wrappers/jmediarecorder.h | 3 +- 2 files changed, 25 insertions(+), 24 deletions(-) diff --git a/src/plugins/android/src/wrappers/jmediarecorder.cpp b/src/plugins/android/src/wrappers/jmediarecorder.cpp index 2c3eaeab7..85267286c 100644 --- a/src/plugins/android/src/wrappers/jmediarecorder.cpp +++ b/src/plugins/android/src/wrappers/jmediarecorder.cpp @@ -66,10 +66,10 @@ static void notifyInfo(JNIEnv* , jobject, jlong id, jint what, jint extra) JMediaRecorder::JMediaRecorder() : QObject() - , QJNIObjectPrivate(g_qtMediaRecorderClass, "(J)V", reinterpret_cast(this)) , m_id(reinterpret_cast(this)) { - if (isValid()) + m_mediaRecorder = QJNIObjectPrivate(g_qtMediaRecorderClass, "(J)V", m_id); + if (m_mediaRecorder.isValid()) g_objectMap.insert(m_id, this); } @@ -80,13 +80,13 @@ JMediaRecorder::~JMediaRecorder() void JMediaRecorder::release() { - callMethod("release"); + m_mediaRecorder.callMethod("release"); } bool JMediaRecorder::prepare() { QJNIEnvironmentPrivate env; - callMethod("prepare"); + m_mediaRecorder.callMethod("prepare"); if (env->ExceptionCheck()) { #ifdef QT_DEBUG env->ExceptionDescribe(); @@ -99,13 +99,13 @@ bool JMediaRecorder::prepare() void JMediaRecorder::reset() { - callMethod("reset"); + m_mediaRecorder.callMethod("reset"); } bool JMediaRecorder::start() { QJNIEnvironmentPrivate env; - callMethod("start"); + m_mediaRecorder.callMethod("start"); if (env->ExceptionCheck()) { #ifdef QT_DEBUG env->ExceptionDescribe(); @@ -119,7 +119,7 @@ bool JMediaRecorder::start() void JMediaRecorder::stop() { QJNIEnvironmentPrivate env; - callMethod("stop"); + m_mediaRecorder.callMethod("stop"); if (env->ExceptionCheck()) { #ifdef QT_DEBUG env->ExceptionDescribe(); @@ -130,13 +130,13 @@ void JMediaRecorder::stop() void JMediaRecorder::setAudioChannels(int numChannels) { - callMethod("setAudioChannels", "(I)V", numChannels); + m_mediaRecorder.callMethod("setAudioChannels", "(I)V", numChannels); } void JMediaRecorder::setAudioEncoder(AudioEncoder encoder) { QJNIEnvironmentPrivate env; - callMethod("setAudioEncoder", "(I)V", int(encoder)); + m_mediaRecorder.callMethod("setAudioEncoder", "(I)V", int(encoder)); if (env->ExceptionCheck()) { #ifdef QT_DEBUG env->ExceptionDescribe(); @@ -147,18 +147,18 @@ void JMediaRecorder::setAudioEncoder(AudioEncoder encoder) void JMediaRecorder::setAudioEncodingBitRate(int bitRate) { - callMethod("setAudioEncodingBitRate", "(I)V", bitRate); + m_mediaRecorder.callMethod("setAudioEncodingBitRate", "(I)V", bitRate); } void JMediaRecorder::setAudioSamplingRate(int samplingRate) { - callMethod("setAudioSamplingRate", "(I)V", samplingRate); + m_mediaRecorder.callMethod("setAudioSamplingRate", "(I)V", samplingRate); } void JMediaRecorder::setAudioSource(AudioSource source) { QJNIEnvironmentPrivate env; - callMethod("setAudioSource", "(I)V", int(source)); + m_mediaRecorder.callMethod("setAudioSource", "(I)V", int(source)); if (env->ExceptionCheck()) { #ifdef QT_DEBUG env->ExceptionDescribe(); @@ -170,13 +170,13 @@ void JMediaRecorder::setAudioSource(AudioSource source) void JMediaRecorder::setCamera(JCamera *camera) { QJNIObjectPrivate cam = camera->getCameraObject(); - callMethod("setCamera", "(Landroid/hardware/Camera;)V", cam.object()); + m_mediaRecorder.callMethod("setCamera", "(Landroid/hardware/Camera;)V", cam.object()); } void JMediaRecorder::setVideoEncoder(VideoEncoder encoder) { QJNIEnvironmentPrivate env; - callMethod("setVideoEncoder", "(I)V", int(encoder)); + m_mediaRecorder.callMethod("setVideoEncoder", "(I)V", int(encoder)); if (env->ExceptionCheck()) { #ifdef QT_DEBUG env->ExceptionDescribe(); @@ -187,13 +187,13 @@ void JMediaRecorder::setVideoEncoder(VideoEncoder encoder) void JMediaRecorder::setVideoEncodingBitRate(int bitRate) { - callMethod("setVideoEncodingBitRate", "(I)V", bitRate); + m_mediaRecorder.callMethod("setVideoEncodingBitRate", "(I)V", bitRate); } void JMediaRecorder::setVideoFrameRate(int rate) { QJNIEnvironmentPrivate env; - callMethod("setVideoFrameRate", "(I)V", rate); + m_mediaRecorder.callMethod("setVideoFrameRate", "(I)V", rate); if (env->ExceptionCheck()) { #ifdef QT_DEBUG env->ExceptionDescribe(); @@ -205,7 +205,7 @@ void JMediaRecorder::setVideoFrameRate(int rate) void JMediaRecorder::setVideoSize(const QSize &size) { QJNIEnvironmentPrivate env; - callMethod("setVideoSize", "(II)V", size.width(), size.height()); + m_mediaRecorder.callMethod("setVideoSize", "(II)V", size.width(), size.height()); if (env->ExceptionCheck()) { #ifdef QT_DEBUG env->ExceptionDescribe(); @@ -217,7 +217,7 @@ void JMediaRecorder::setVideoSize(const QSize &size) void JMediaRecorder::setVideoSource(VideoSource source) { QJNIEnvironmentPrivate env; - callMethod("setVideoSource", "(I)V", int(source)); + m_mediaRecorder.callMethod("setVideoSource", "(I)V", int(source)); if (env->ExceptionCheck()) { #ifdef QT_DEBUG env->ExceptionDescribe(); @@ -229,7 +229,7 @@ void JMediaRecorder::setVideoSource(VideoSource source) void JMediaRecorder::setOrientationHint(int degrees) { QJNIEnvironmentPrivate env; - callMethod("setOrientationHint", "(I)V", degrees); + m_mediaRecorder.callMethod("setOrientationHint", "(I)V", degrees); if (env->ExceptionCheck()) { #ifdef QT_DEBUG env->ExceptionDescribe(); @@ -241,7 +241,7 @@ void JMediaRecorder::setOrientationHint(int degrees) void JMediaRecorder::setOutputFormat(OutputFormat format) { QJNIEnvironmentPrivate env; - callMethod("setOutputFormat", "(I)V", int(format)); + m_mediaRecorder.callMethod("setOutputFormat", "(I)V", int(format)); if (env->ExceptionCheck()) { #ifdef QT_DEBUG env->ExceptionDescribe(); @@ -253,9 +253,9 @@ void JMediaRecorder::setOutputFormat(OutputFormat format) void JMediaRecorder::setOutputFile(const QString &path) { QJNIEnvironmentPrivate env; - callMethod("setOutputFile", - "(Ljava/lang/String;)V", - QJNIObjectPrivate::fromString(path).object()); + m_mediaRecorder.callMethod("setOutputFile", + "(Ljava/lang/String;)V", + QJNIObjectPrivate::fromString(path).object()); if (env->ExceptionCheck()) { #ifdef QT_DEBUG env->ExceptionDescribe(); diff --git a/src/plugins/android/src/wrappers/jmediarecorder.h b/src/plugins/android/src/wrappers/jmediarecorder.h index 2bdb06b9f..3a83e7e16 100644 --- a/src/plugins/android/src/wrappers/jmediarecorder.h +++ b/src/plugins/android/src/wrappers/jmediarecorder.h @@ -50,7 +50,7 @@ QT_BEGIN_NAMESPACE class JCamera; -class JMediaRecorder : public QObject, public QJNIObjectPrivate +class JMediaRecorder : public QObject { Q_OBJECT public: @@ -127,6 +127,7 @@ Q_SIGNALS: private: jlong m_id; + QJNIObjectPrivate m_mediaRecorder; }; QT_END_NAMESPACE -- cgit v1.2.1