From 0ebcf43f2235017a6844948ef6d26c74865083aa Mon Sep 17 00:00:00 2001 From: Denis Kormalev Date: Wed, 8 Jan 2014 17:06:59 +0400 Subject: 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 --- .../src/org/qtproject/qt5/android/multimedia/QtCamera.java | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/plugins/android/jar/src/org/qtproject/qt5/android/multimedia/QtCamera.java') 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); } -- cgit v1.2.3