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:
committed by
The Qt Project
parent
47d2ed915e
commit
ebf9528eae
@@ -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();
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user