summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Strømme <christian.stromme@digia.com>2014-04-01 19:04:12 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-04-08 00:12:38 +0200
commitebf9528eae8c400c9c1e64a6bca7a8d3613214a9 (patch)
tree7282e450bd9ce8c9ac3b3f3809064ba5a622c4a8
parent47d2ed915eebff7016fd99bec9c3d6187240edd6 (diff)
downloadqtmultimedia-ebf9528eae8c400c9c1e64a6bca7a8d3613214a9.tar.gz
Android: Fix MediaRecorder wrapper
The QJNIObject was never intended to be used as a base class. Change-Id: I8311f909a37aeae6040eba4471b379cfc732297b Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
-rw-r--r--src/plugins/android/src/wrappers/jmediarecorder.cpp46
-rw-r--r--src/plugins/android/src/wrappers/jmediarecorder.h3
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<jlong>(this))
, m_id(reinterpret_cast<jlong>(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<void>("release");
+ m_mediaRecorder.callMethod<void>("release");
}
bool JMediaRecorder::prepare()
{
QJNIEnvironmentPrivate env;
- callMethod<void>("prepare");
+ m_mediaRecorder.callMethod<void>("prepare");
if (env->ExceptionCheck()) {
#ifdef QT_DEBUG
env->ExceptionDescribe();
@@ -99,13 +99,13 @@ bool JMediaRecorder::prepare()
void JMediaRecorder::reset()
{
- callMethod<void>("reset");
+ m_mediaRecorder.callMethod<void>("reset");
}
bool JMediaRecorder::start()
{
QJNIEnvironmentPrivate env;
- callMethod<void>("start");
+ m_mediaRecorder.callMethod<void>("start");
if (env->ExceptionCheck()) {
#ifdef QT_DEBUG
env->ExceptionDescribe();
@@ -119,7 +119,7 @@ bool JMediaRecorder::start()
void JMediaRecorder::stop()
{
QJNIEnvironmentPrivate env;
- callMethod<void>("stop");
+ m_mediaRecorder.callMethod<void>("stop");
if (env->ExceptionCheck()) {
#ifdef QT_DEBUG
env->ExceptionDescribe();
@@ -130,13 +130,13 @@ void JMediaRecorder::stop()
void JMediaRecorder::setAudioChannels(int numChannels)
{
- callMethod<void>("setAudioChannels", "(I)V", numChannels);
+ m_mediaRecorder.callMethod<void>("setAudioChannels", "(I)V", numChannels);
}
void JMediaRecorder::setAudioEncoder(AudioEncoder encoder)
{
QJNIEnvironmentPrivate env;
- callMethod<void>("setAudioEncoder", "(I)V", int(encoder));
+ m_mediaRecorder.callMethod<void>("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<void>("setAudioEncodingBitRate", "(I)V", bitRate);
+ m_mediaRecorder.callMethod<void>("setAudioEncodingBitRate", "(I)V", bitRate);
}
void JMediaRecorder::setAudioSamplingRate(int samplingRate)
{
- callMethod<void>("setAudioSamplingRate", "(I)V", samplingRate);
+ m_mediaRecorder.callMethod<void>("setAudioSamplingRate", "(I)V", samplingRate);
}
void JMediaRecorder::setAudioSource(AudioSource source)
{
QJNIEnvironmentPrivate env;
- callMethod<void>("setAudioSource", "(I)V", int(source));
+ m_mediaRecorder.callMethod<void>("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<void>("setCamera", "(Landroid/hardware/Camera;)V", cam.object());
+ m_mediaRecorder.callMethod<void>("setCamera", "(Landroid/hardware/Camera;)V", cam.object());
}
void JMediaRecorder::setVideoEncoder(VideoEncoder encoder)
{
QJNIEnvironmentPrivate env;
- callMethod<void>("setVideoEncoder", "(I)V", int(encoder));
+ m_mediaRecorder.callMethod<void>("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<void>("setVideoEncodingBitRate", "(I)V", bitRate);
+ m_mediaRecorder.callMethod<void>("setVideoEncodingBitRate", "(I)V", bitRate);
}
void JMediaRecorder::setVideoFrameRate(int rate)
{
QJNIEnvironmentPrivate env;
- callMethod<void>("setVideoFrameRate", "(I)V", rate);
+ m_mediaRecorder.callMethod<void>("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<void>("setVideoSize", "(II)V", size.width(), size.height());
+ m_mediaRecorder.callMethod<void>("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<void>("setVideoSource", "(I)V", int(source));
+ m_mediaRecorder.callMethod<void>("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<void>("setOrientationHint", "(I)V", degrees);
+ m_mediaRecorder.callMethod<void>("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<void>("setOutputFormat", "(I)V", int(format));
+ m_mediaRecorder.callMethod<void>("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<void>("setOutputFile",
- "(Ljava/lang/String;)V",
- QJNIObjectPrivate::fromString(path).object());
+ m_mediaRecorder.callMethod<void>("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