summaryrefslogtreecommitdiffstats
path: root/src/plugins/android/src/wrappers/jni
diff options
context:
space:
mode:
authorTarja Sundqvist <tarja.sundqvist@qt.io>2024-01-04 21:21:58 +0200
committerTarja Sundqvist <tarja.sundqvist@qt.io>2024-01-04 21:21:58 +0200
commit374d71e29a142bd177cd5b1b7e29a4628085ddcb (patch)
tree2d0835a2f06d74ff5d750667c4c84bf88f537afb /src/plugins/android/src/wrappers/jni
parent5197ff9e91cabd90700cf0d36fb5e9e5793d7097 (diff)
parent8d17f204d8aa06f03b5cc17764db28e959073c2a (diff)
Merge remote-tracking branch 'origin/tqtc/lts-5.15.13' into tqtc/lts-5.15-opensourcev5.15.13-lts-lgpl5.15
Diffstat (limited to 'src/plugins/android/src/wrappers/jni')
-rw-r--r--src/plugins/android/src/wrappers/jni/androidcamera.cpp6
-rw-r--r--src/plugins/android/src/wrappers/jni/androidmediarecorder.cpp26
-rw-r--r--src/plugins/android/src/wrappers/jni/androidmediarecorder.h2
3 files changed, 34 insertions, 0 deletions
diff --git a/src/plugins/android/src/wrappers/jni/androidcamera.cpp b/src/plugins/android/src/wrappers/jni/androidcamera.cpp
index 3ea7bc773..50baaed21 100644
--- a/src/plugins/android/src/wrappers/jni/androidcamera.cpp
+++ b/src/plugins/android/src/wrappers/jni/androidcamera.cpp
@@ -797,6 +797,12 @@ void AndroidCamera::getCameraInfo(int id, AndroidCameraInfo *info)
default:
break;
}
+ // Add a number to allow correct access to cameras on systems with two
+ // (and more) front/back cameras
+ if (id > 1) {
+ info->name.append(QByteArray::number(id));
+ info->description.append(QString(" %1").arg(id));
+ }
}
void AndroidCamera::startPreview()
diff --git a/src/plugins/android/src/wrappers/jni/androidmediarecorder.cpp b/src/plugins/android/src/wrappers/jni/androidmediarecorder.cpp
index d607ab806..10508a358 100644
--- a/src/plugins/android/src/wrappers/jni/androidmediarecorder.cpp
+++ b/src/plugins/android/src/wrappers/jni/androidmediarecorder.cpp
@@ -213,6 +213,32 @@ void AndroidMediaRecorder::stop()
}
}
+void AndroidMediaRecorder::pause()
+{
+ QJNIEnvironmentPrivate env;
+ m_mediaRecorder.callMethod<void>("pause");
+ if (env->ExceptionCheck()) {
+#ifdef QT_DEBUG
+ env->ExceptionDescribe();
+#endif
+ env->ExceptionClear();
+ }
+}
+
+bool AndroidMediaRecorder::resume()
+{
+ QJNIEnvironmentPrivate env;
+ m_mediaRecorder.callMethod<void>("resume");
+ if (env->ExceptionCheck()) {
+#ifdef QT_DEBUG
+ env->ExceptionDescribe();
+#endif
+ env->ExceptionClear();
+ return false;
+ }
+ return true;
+}
+
void AndroidMediaRecorder::setAudioChannels(int numChannels)
{
m_mediaRecorder.callMethod<void>("setAudioChannels", "(I)V", numChannels);
diff --git a/src/plugins/android/src/wrappers/jni/androidmediarecorder.h b/src/plugins/android/src/wrappers/jni/androidmediarecorder.h
index e4b3a80ea..55b370cf1 100644
--- a/src/plugins/android/src/wrappers/jni/androidmediarecorder.h
+++ b/src/plugins/android/src/wrappers/jni/androidmediarecorder.h
@@ -138,6 +138,8 @@ public:
bool start();
void stop();
+ void pause();
+ bool resume();
void setAudioChannels(int numChannels);
void setAudioEncoder(AudioEncoder encoder);