summaryrefslogtreecommitdiffstats
path: root/src/plugins/android/jar/src/org/qtproject/qt5/android/multimedia/QtCamera.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/android/jar/src/org/qtproject/qt5/android/multimedia/QtCamera.java')
-rw-r--r--src/plugins/android/jar/src/org/qtproject/qt5/android/multimedia/QtCamera.java11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/plugins/android/jar/src/org/qtproject/qt5/android/multimedia/QtCamera.java b/src/plugins/android/jar/src/org/qtproject/qt5/android/multimedia/QtCamera.java
index 4aa07b713..f03053f17 100644
--- a/src/plugins/android/jar/src/org/qtproject/qt5/android/multimedia/QtCamera.java
+++ b/src/plugins/android/jar/src/org/qtproject/qt5/android/multimedia/QtCamera.java
@@ -60,6 +60,7 @@ public class QtCamera implements Camera.ShutterCallback,
private int m_actualPreviewBuffer = 0;
private final ReentrantLock m_buffersLock = new ReentrantLock();
private boolean m_isReleased = false;
+ private boolean m_fetchEachFrame = false;
private static final String TAG = "Qt Camera";
@@ -141,6 +142,11 @@ public class QtCamera implements Camera.ShutterCallback,
}
}
+ public void fetchEachFrame(boolean fetch)
+ {
+ m_fetchEachFrame = fetch;
+ }
+
public void startPreview()
{
Camera.Size previewSize = m_camera.getParameters().getPreviewSize();
@@ -233,6 +239,10 @@ public class QtCamera implements Camera.ShutterCallback,
public void onPreviewFrame(byte[] data, Camera camera)
{
m_buffersLock.lock();
+
+ if (data != null && m_fetchEachFrame)
+ notifyFrameFetched(m_cameraId, data);
+
if (data == m_cameraPreviewFirstBuffer)
m_actualPreviewBuffer = 1;
else if (data == m_cameraPreviewSecondBuffer)
@@ -252,4 +262,5 @@ public class QtCamera implements Camera.ShutterCallback,
private static native void notifyAutoFocusComplete(int id, boolean success);
private static native void notifyPictureExposed(int id);
private static native void notifyPictureCaptured(int id, byte[] data);
+ private static native void notifyFrameFetched(int id, byte[] data);
}