summaryrefslogtreecommitdiffstats
path: root/src/plugins/android/jar/src/org/qtproject/qt5/android/multimedia/QtCamera.java
diff options
context:
space:
mode:
authorDenis Kormalev <dkormalev@ics.com>2014-01-08 17:06:59 +0400
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-01-08 16:09:27 +0100
commit0ebcf43f2235017a6844948ef6d26c74865083aa (patch)
tree6c4cb0761935b81f2206c57dbc9ff6b8880cd5b3 /src/plugins/android/jar/src/org/qtproject/qt5/android/multimedia/QtCamera.java
parenta0d39a2ab6c94cdb59a8009611669304372915e6 (diff)
Android: QVideoProbe support for camera
QMediaVideoProbeControl sublclass added to capture service to make QVideoProbe work with Android camera. [ChangeLog][QtMultimedia][Android] QVideoProbe support for camera Task-number: QTBUG-35416 Change-Id: I14d0a0e8abd14ee8f577e2901b976b8ed46eb320 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
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);
}