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>
This commit is contained in:
Christian Strømme
2014-04-01 19:04:12 +02:00
committed by The Qt Project
parent 47d2ed915e
commit ebf9528eae
2 changed files with 25 additions and 24 deletions

View File

@@ -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();

View File

@@ -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