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()
|
JMediaRecorder::JMediaRecorder()
|
||||||
: QObject()
|
: QObject()
|
||||||
, QJNIObjectPrivate(g_qtMediaRecorderClass, "(J)V", reinterpret_cast<jlong>(this))
|
|
||||||
, m_id(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);
|
g_objectMap.insert(m_id, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -80,13 +80,13 @@ JMediaRecorder::~JMediaRecorder()
|
|||||||
|
|
||||||
void JMediaRecorder::release()
|
void JMediaRecorder::release()
|
||||||
{
|
{
|
||||||
callMethod<void>("release");
|
m_mediaRecorder.callMethod<void>("release");
|
||||||
}
|
}
|
||||||
|
|
||||||
bool JMediaRecorder::prepare()
|
bool JMediaRecorder::prepare()
|
||||||
{
|
{
|
||||||
QJNIEnvironmentPrivate env;
|
QJNIEnvironmentPrivate env;
|
||||||
callMethod<void>("prepare");
|
m_mediaRecorder.callMethod<void>("prepare");
|
||||||
if (env->ExceptionCheck()) {
|
if (env->ExceptionCheck()) {
|
||||||
#ifdef QT_DEBUG
|
#ifdef QT_DEBUG
|
||||||
env->ExceptionDescribe();
|
env->ExceptionDescribe();
|
||||||
@@ -99,13 +99,13 @@ bool JMediaRecorder::prepare()
|
|||||||
|
|
||||||
void JMediaRecorder::reset()
|
void JMediaRecorder::reset()
|
||||||
{
|
{
|
||||||
callMethod<void>("reset");
|
m_mediaRecorder.callMethod<void>("reset");
|
||||||
}
|
}
|
||||||
|
|
||||||
bool JMediaRecorder::start()
|
bool JMediaRecorder::start()
|
||||||
{
|
{
|
||||||
QJNIEnvironmentPrivate env;
|
QJNIEnvironmentPrivate env;
|
||||||
callMethod<void>("start");
|
m_mediaRecorder.callMethod<void>("start");
|
||||||
if (env->ExceptionCheck()) {
|
if (env->ExceptionCheck()) {
|
||||||
#ifdef QT_DEBUG
|
#ifdef QT_DEBUG
|
||||||
env->ExceptionDescribe();
|
env->ExceptionDescribe();
|
||||||
@@ -119,7 +119,7 @@ bool JMediaRecorder::start()
|
|||||||
void JMediaRecorder::stop()
|
void JMediaRecorder::stop()
|
||||||
{
|
{
|
||||||
QJNIEnvironmentPrivate env;
|
QJNIEnvironmentPrivate env;
|
||||||
callMethod<void>("stop");
|
m_mediaRecorder.callMethod<void>("stop");
|
||||||
if (env->ExceptionCheck()) {
|
if (env->ExceptionCheck()) {
|
||||||
#ifdef QT_DEBUG
|
#ifdef QT_DEBUG
|
||||||
env->ExceptionDescribe();
|
env->ExceptionDescribe();
|
||||||
@@ -130,13 +130,13 @@ void JMediaRecorder::stop()
|
|||||||
|
|
||||||
void JMediaRecorder::setAudioChannels(int numChannels)
|
void JMediaRecorder::setAudioChannels(int numChannels)
|
||||||
{
|
{
|
||||||
callMethod<void>("setAudioChannels", "(I)V", numChannels);
|
m_mediaRecorder.callMethod<void>("setAudioChannels", "(I)V", numChannels);
|
||||||
}
|
}
|
||||||
|
|
||||||
void JMediaRecorder::setAudioEncoder(AudioEncoder encoder)
|
void JMediaRecorder::setAudioEncoder(AudioEncoder encoder)
|
||||||
{
|
{
|
||||||
QJNIEnvironmentPrivate env;
|
QJNIEnvironmentPrivate env;
|
||||||
callMethod<void>("setAudioEncoder", "(I)V", int(encoder));
|
m_mediaRecorder.callMethod<void>("setAudioEncoder", "(I)V", int(encoder));
|
||||||
if (env->ExceptionCheck()) {
|
if (env->ExceptionCheck()) {
|
||||||
#ifdef QT_DEBUG
|
#ifdef QT_DEBUG
|
||||||
env->ExceptionDescribe();
|
env->ExceptionDescribe();
|
||||||
@@ -147,18 +147,18 @@ void JMediaRecorder::setAudioEncoder(AudioEncoder encoder)
|
|||||||
|
|
||||||
void JMediaRecorder::setAudioEncodingBitRate(int bitRate)
|
void JMediaRecorder::setAudioEncodingBitRate(int bitRate)
|
||||||
{
|
{
|
||||||
callMethod<void>("setAudioEncodingBitRate", "(I)V", bitRate);
|
m_mediaRecorder.callMethod<void>("setAudioEncodingBitRate", "(I)V", bitRate);
|
||||||
}
|
}
|
||||||
|
|
||||||
void JMediaRecorder::setAudioSamplingRate(int samplingRate)
|
void JMediaRecorder::setAudioSamplingRate(int samplingRate)
|
||||||
{
|
{
|
||||||
callMethod<void>("setAudioSamplingRate", "(I)V", samplingRate);
|
m_mediaRecorder.callMethod<void>("setAudioSamplingRate", "(I)V", samplingRate);
|
||||||
}
|
}
|
||||||
|
|
||||||
void JMediaRecorder::setAudioSource(AudioSource source)
|
void JMediaRecorder::setAudioSource(AudioSource source)
|
||||||
{
|
{
|
||||||
QJNIEnvironmentPrivate env;
|
QJNIEnvironmentPrivate env;
|
||||||
callMethod<void>("setAudioSource", "(I)V", int(source));
|
m_mediaRecorder.callMethod<void>("setAudioSource", "(I)V", int(source));
|
||||||
if (env->ExceptionCheck()) {
|
if (env->ExceptionCheck()) {
|
||||||
#ifdef QT_DEBUG
|
#ifdef QT_DEBUG
|
||||||
env->ExceptionDescribe();
|
env->ExceptionDescribe();
|
||||||
@@ -170,13 +170,13 @@ void JMediaRecorder::setAudioSource(AudioSource source)
|
|||||||
void JMediaRecorder::setCamera(JCamera *camera)
|
void JMediaRecorder::setCamera(JCamera *camera)
|
||||||
{
|
{
|
||||||
QJNIObjectPrivate cam = camera->getCameraObject();
|
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)
|
void JMediaRecorder::setVideoEncoder(VideoEncoder encoder)
|
||||||
{
|
{
|
||||||
QJNIEnvironmentPrivate env;
|
QJNIEnvironmentPrivate env;
|
||||||
callMethod<void>("setVideoEncoder", "(I)V", int(encoder));
|
m_mediaRecorder.callMethod<void>("setVideoEncoder", "(I)V", int(encoder));
|
||||||
if (env->ExceptionCheck()) {
|
if (env->ExceptionCheck()) {
|
||||||
#ifdef QT_DEBUG
|
#ifdef QT_DEBUG
|
||||||
env->ExceptionDescribe();
|
env->ExceptionDescribe();
|
||||||
@@ -187,13 +187,13 @@ void JMediaRecorder::setVideoEncoder(VideoEncoder encoder)
|
|||||||
|
|
||||||
void JMediaRecorder::setVideoEncodingBitRate(int bitRate)
|
void JMediaRecorder::setVideoEncodingBitRate(int bitRate)
|
||||||
{
|
{
|
||||||
callMethod<void>("setVideoEncodingBitRate", "(I)V", bitRate);
|
m_mediaRecorder.callMethod<void>("setVideoEncodingBitRate", "(I)V", bitRate);
|
||||||
}
|
}
|
||||||
|
|
||||||
void JMediaRecorder::setVideoFrameRate(int rate)
|
void JMediaRecorder::setVideoFrameRate(int rate)
|
||||||
{
|
{
|
||||||
QJNIEnvironmentPrivate env;
|
QJNIEnvironmentPrivate env;
|
||||||
callMethod<void>("setVideoFrameRate", "(I)V", rate);
|
m_mediaRecorder.callMethod<void>("setVideoFrameRate", "(I)V", rate);
|
||||||
if (env->ExceptionCheck()) {
|
if (env->ExceptionCheck()) {
|
||||||
#ifdef QT_DEBUG
|
#ifdef QT_DEBUG
|
||||||
env->ExceptionDescribe();
|
env->ExceptionDescribe();
|
||||||
@@ -205,7 +205,7 @@ void JMediaRecorder::setVideoFrameRate(int rate)
|
|||||||
void JMediaRecorder::setVideoSize(const QSize &size)
|
void JMediaRecorder::setVideoSize(const QSize &size)
|
||||||
{
|
{
|
||||||
QJNIEnvironmentPrivate env;
|
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()) {
|
if (env->ExceptionCheck()) {
|
||||||
#ifdef QT_DEBUG
|
#ifdef QT_DEBUG
|
||||||
env->ExceptionDescribe();
|
env->ExceptionDescribe();
|
||||||
@@ -217,7 +217,7 @@ void JMediaRecorder::setVideoSize(const QSize &size)
|
|||||||
void JMediaRecorder::setVideoSource(VideoSource source)
|
void JMediaRecorder::setVideoSource(VideoSource source)
|
||||||
{
|
{
|
||||||
QJNIEnvironmentPrivate env;
|
QJNIEnvironmentPrivate env;
|
||||||
callMethod<void>("setVideoSource", "(I)V", int(source));
|
m_mediaRecorder.callMethod<void>("setVideoSource", "(I)V", int(source));
|
||||||
if (env->ExceptionCheck()) {
|
if (env->ExceptionCheck()) {
|
||||||
#ifdef QT_DEBUG
|
#ifdef QT_DEBUG
|
||||||
env->ExceptionDescribe();
|
env->ExceptionDescribe();
|
||||||
@@ -229,7 +229,7 @@ void JMediaRecorder::setVideoSource(VideoSource source)
|
|||||||
void JMediaRecorder::setOrientationHint(int degrees)
|
void JMediaRecorder::setOrientationHint(int degrees)
|
||||||
{
|
{
|
||||||
QJNIEnvironmentPrivate env;
|
QJNIEnvironmentPrivate env;
|
||||||
callMethod<void>("setOrientationHint", "(I)V", degrees);
|
m_mediaRecorder.callMethod<void>("setOrientationHint", "(I)V", degrees);
|
||||||
if (env->ExceptionCheck()) {
|
if (env->ExceptionCheck()) {
|
||||||
#ifdef QT_DEBUG
|
#ifdef QT_DEBUG
|
||||||
env->ExceptionDescribe();
|
env->ExceptionDescribe();
|
||||||
@@ -241,7 +241,7 @@ void JMediaRecorder::setOrientationHint(int degrees)
|
|||||||
void JMediaRecorder::setOutputFormat(OutputFormat format)
|
void JMediaRecorder::setOutputFormat(OutputFormat format)
|
||||||
{
|
{
|
||||||
QJNIEnvironmentPrivate env;
|
QJNIEnvironmentPrivate env;
|
||||||
callMethod<void>("setOutputFormat", "(I)V", int(format));
|
m_mediaRecorder.callMethod<void>("setOutputFormat", "(I)V", int(format));
|
||||||
if (env->ExceptionCheck()) {
|
if (env->ExceptionCheck()) {
|
||||||
#ifdef QT_DEBUG
|
#ifdef QT_DEBUG
|
||||||
env->ExceptionDescribe();
|
env->ExceptionDescribe();
|
||||||
@@ -253,7 +253,7 @@ void JMediaRecorder::setOutputFormat(OutputFormat format)
|
|||||||
void JMediaRecorder::setOutputFile(const QString &path)
|
void JMediaRecorder::setOutputFile(const QString &path)
|
||||||
{
|
{
|
||||||
QJNIEnvironmentPrivate env;
|
QJNIEnvironmentPrivate env;
|
||||||
callMethod<void>("setOutputFile",
|
m_mediaRecorder.callMethod<void>("setOutputFile",
|
||||||
"(Ljava/lang/String;)V",
|
"(Ljava/lang/String;)V",
|
||||||
QJNIObjectPrivate::fromString(path).object());
|
QJNIObjectPrivate::fromString(path).object());
|
||||||
if (env->ExceptionCheck()) {
|
if (env->ExceptionCheck()) {
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ QT_BEGIN_NAMESPACE
|
|||||||
|
|
||||||
class JCamera;
|
class JCamera;
|
||||||
|
|
||||||
class JMediaRecorder : public QObject, public QJNIObjectPrivate
|
class JMediaRecorder : public QObject
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
@@ -127,6 +127,7 @@ Q_SIGNALS:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
jlong m_id;
|
jlong m_id;
|
||||||
|
QJNIObjectPrivate m_mediaRecorder;
|
||||||
};
|
};
|
||||||
|
|
||||||
QT_END_NAMESPACE
|
QT_END_NAMESPACE
|
||||||
|
|||||||
Reference in New Issue
Block a user