summaryrefslogtreecommitdiffstats
path: root/src/plugins/android/src/wrappers
Commit message (Collapse)AuthorAgeFilesLines
...
* Merge remote-tracking branch 'origin/5.3' into 5.4Frederik Gladhorn2014-09-012-37/+100
|\ | | | | | | | | | | | | | | | | Conflicts: src/gsttools/qgstreamervideoinputdevicecontrol.cpp src/plugins/gstreamer/camerabin/camerabinserviceplugin.cpp src/plugins/gstreamer/mediacapture/qgstreamercaptureserviceplugin.cpp Change-Id: Ic854589562d2deeaa0ebf75840cb8a2ee32e99de
| * Android: fix retrieving metadata from assets, qrc and remote files.Yoann Lopes2014-08-252-37/+100
| | | | | | | | | | | | | | | | | | | | | | We need the same logic as for the media player: local files and assets must be loaded with a FileDescriptor. Because of a bug in Android API level >= 14, remote files have to be loaded in different ways depending on the version. Task-number: QTBUG-40274 Change-Id: I6411b959064d22219cf981a4dc8f4f26cf16f65f Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* | Update license headers and add new license filesAntti Kokko2014-08-2412-228/+132
|/ | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 & LICENSE.GPLv2 - Removed LICENSE.GPL Change-Id: Ied06887225df341064c12bcc14c259ae74116f2e Reviewed-by: Jani Heikkinen <jani.heikkinen@digia.com>
* Android: Make sure we check and clear exceptions from the camera.Christian Strømme2014-07-142-33/+55
| | | | | | | | | | In several places we where ignoring the fact that we might get an exception from the camera code on Android. Failing to clear them will cause the application to to terminate. Task-number: QTBUG-39425 Change-Id: Idfe40e1749f54d551d37dae25912d9ddbc3da01e Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Android: Don't expose java calls in the control classes.Christian Strømme2014-06-048-9/+207
| | | | | | | Makes the abstraction more clear. Change-Id: Ia9a7b0b157e1182158cd26b62775d13f6c5e1727 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Android: Rename the wrapper classesChristian Strømme2014-06-0414-339/+339
| | | | | Change-Id: I2ce15c8475da3186f128ba59b7c58f9b5b0a67e1 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Android: Fix namespace usage.Christian Strømme2014-05-121-4/+0
| | | | | | | Make it possible to build multimedia with a Qt namespace Change-Id: Ibaeaf7edb38f8d784b8d0fcb9a26ca712488c23b Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Android: Camera code clean-upChristian Strømme2014-04-152-195/+283
| | | | | Change-Id: Ib400afde12067764c3dcc0f44e40ddc1abb3012f Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Android: Use QMutexLock in camera callbacks.Christian Strømme2014-04-151-8/+4
| | | | | | | We should not release the locks before the native callbacks returns. Change-Id: Ia2691f6c5be66a3dcf371e48e3bac7498b401833 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Android: Use Q_GLOBAL_STATIC instead of a static QMapChristian Strømme2014-04-091-5/+6
| | | | | Change-Id: I7b65e0874051c4ef504914a0bd66e8471ec34fa7 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Android: Fix the signature for setOnInfoListener.Christian Strømme2014-04-091-1/+1
| | | | | | | | The argument part of the signature should be OnInfoListener and not OnErrorListener. Change-Id: I735fe1b0338b66c2f729254ed9e3251136781cbe Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Android: Fix QtMediaRecorderChristian Strømme2014-04-081-6/+14
| | | | | | | | | | Don't extend the MediaRecorder class as this causes ART to fail when it doesn't find the postEventFromNative() function. Task-number: QTBUG-38166 Change-Id: Ia38ce4558a2cc95a9b4cd05b9f926d41e53fdc0d Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Android: Use androidSdkVersion() to get the API level.Christian Strømme2014-04-081-31/+39
| | | | | Change-Id: Idc0b09ab2dc5d93e8da8dab3bd0e99e27fbc57e1 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Android: Remove inheritance to QJNIObject in the Camera wrapperChristian Strømme2014-04-081-22/+25
| | | | | | | The QJNIObject was never intended to be used as a base class. Change-Id: I4986aeaebecd6e4136fed311e69368e20da4d060 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Android: Fix MediaRecorder wrapperChristian Strømme2014-04-082-24/+25
| | | | | | | The QJNIObject was never intended to be used as a base class. Change-Id: I8311f909a37aeae6040eba4471b379cfc732297b Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Android: Clean-up in jmultimediautils class.Christian Strømme2014-03-272-35/+15
| | | | | | | Remove unused code. Change-Id: I2c0db45dd95e6a79387bba1b1ccd4b62b7d22aec Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Android: Fix MetadataRetriver wrapperChristian Strømme2014-03-272-17/+28
| | | | | | | The QJNIObject was never intended to be used as a base class. Change-Id: Ic4effd5e1c89a08515c756bd5092fb1e1eead688 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Android: Fix QtSurfaceTextureChristian Strømme2014-03-275-151/+64
| | | | | | | | | | | | Don't extend SurfaceTexture as this causes ART to fail when it doesn't find the postEventFromNative() function. The postEventFromNative() function was implemented sometime after API 11, so to avoid this situation we can use composition instead. Task-number: QTBUG-37605 Change-Id: Ie1013d218291ba0035f1bb18a0c0655fd2170bfd Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Android: Make the Mediaplayer more robustChristian Strømme2014-03-212-95/+97
| | | | | | | | | | | | In some cases the the Android media player would get into a unexpected state and we where then not able to recover. With this patch we monitor the state changes more closely and recover when possible. Task-number: QTBUG-35651 Change-Id: I142c63fbbf716d3f94ebdcf016a7cadad7b13207 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Android: fix QMediaRecorder failing to start in some cases.Yoann Lopes2014-03-171-2/+6
| | | | | | | | | | Because camera operations are performed in a dedicated thread, starting a recorder was sometimes failing because the camera was not yet ready (unlocking it was not done yet). Camera locking and unlocking are now synchronous operations. Change-Id: I92c3c2f3666b63e7451e4ee1ab89dcbc85ae6c24 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* Android: print Java traces for MediaRecorder when in debug mode.Yoann Lopes2014-03-171-10/+56
| | | | | Change-Id: Ie39dd16227c49c8c07831750869e0cc28d2cc8ee Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* Android: implement QCameraInfoControl.Yoann Lopes2014-02-282-23/+0
| | | | | | | | | VideoOutput will now take into account the camera sensor orientation to adjust the viewport orientation, we don't need to apply a rotation on the Android Camera anymore. Change-Id: Ia7639f0a5711ab6cc6f80b9716bc1a6f389499b4 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* Android: fixes custom camera focus point.Yoann Lopes2014-01-202-0/+9
| | | | | | | | | The custom focus point passed to the camera was in viewport orientation but should be in sensor orientation. The two might differ. Task-number: QTBUG-36208 Change-Id: Id272402090c2814e02abc527c0f6a6e932a60081 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* Android: fixes some issues with JCamera.Yoann Lopes2014-01-161-3/+7
| | | | | | | | | | | - Quit the worker thread only when the worker is deleted. This makes sure all events are processed before terminating the worker. - Correctly cache the preview size even when it's an invalid one. Task-number: QTBUG-36204 Change-Id: I76055984e8ece3f7f40dba7dd89d28a4faa1e72e Reviewed-by: Denis Kormalev <dkormalev@ics.com> Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* Android: QVideoProbe support for cameraDenis Kormalev2014-01-082-1/+30
| | | | | | | | | | | 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>
* Android: camera moved to a dedicated threadDenis Kormalev2013-12-233-150/+656
| | | | | | | | | | | | | Actual camera work moved to JCameraWorker which lives in dedicated thread. JCamera now acts as proxy calling JCameraWorker methods with invokeMethod (when it is needed). [ChangeLog][QtMultimedia][Android] camera operations moved to a dedicated thread Task-number: QTBUG-35564 Change-Id: Ie4edcbf0869d56b0fef4ad0c820450cc77657fdd Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Android: fix camera previewDenis Kormalev2013-12-112-22/+19
| | | | | | | | | | | | | At some(?) devices we can't rely on one shot preview callback because it receives data only after we start new previewing session. And this cause situation when imageCaptured signal is never emitted. This fix applies preview callback with already allocated buffers and collects all preview images in these buffers. When we capture image - we can simply fetch last preview image (if there was any) from c++ part. Task-number: QTBUG-34993 Change-Id: I608750c344ca3c089f4673df4907e0f47e57e2ba Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Android: fix camera viewfinder orientation.Yoann Lopes2013-12-052-0/+16
| | | | | | | | | | | | | | | The camera sensor on Android devices might be in a different orientation than the device natural orientation. There is no API in Qt to know about the camera orientation, so correcting the viewfinder orientation is not possible without making guesses. This patch makes sure the viewfinder orientation always matches the device natural orientation. For example, if the camera is mounted in landscape, and the device natural orientation is portrait, the viewfinder will automatically be rotated 90 degrees counter-clockwise. Task-number: QTBUG-35086 Change-Id: Ia890872971d72657debe709f61edba27d09dec65 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2013-12-031-7/+17
|\ | | | | | | Change-Id: I53a7a2a3e096f76d50f2bb3ae125f6022de5c3f5
| * Android: print a warning when using SurfaceTexture on Android 2.3.Yoann Lopes2013-11-301-7/+17
| | | | | | | | | | | | | | | | | | | | SurfaceTexture is available since Android 3.0, print a warning when camera preview or video playback is used on an older Android version. Task-number: QTBUG-35075 Change-Id: Ie04c62df99048a25e8fd971e0708157d0d32c503 Reviewed-by: Christian Stromme <christian.stromme@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Android: Add missing 'L' prefix and ';' postfix in areaToRect()Christian Strømme2013-12-031-1/+1
|/ | | | | | | | While it works just fine without the post-/prefix, they are suppose to be there... Change-Id: I99365d37c70c65ccf0713d6b2d8330030b265e8e Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Android: fix camera preview showing black frames after restarting it.Yoann Lopes2013-10-291-2/+4
| | | | | | | | | Clear the camera preview size when stopping the preview in order to force it to be reset when starting it again. Task-number: QTBUG-34346 Change-Id: I0edf8d996348745b9aa7cf0790c16b6cd813b33b Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* Android: fixed image capture preview.Yoann Lopes2013-10-012-1/+53
| | | | | | | | | | We used to generate the capture preview from the video output, grabbing the pixels of the last frame (in a FBO). This is not possible anymore, we instead query the camera for a preview frame, which is in the NV21 format and needs to be converted to RGB. Change-Id: I1c728b3a708a6f052a83aebf9f15f511eab7a02f Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* Android: refactor video renderer.Yoann Lopes2013-10-011-0/+1
| | | | | | | | | | | | | Removed the overhead of having to create a shared OpenGL context in the GUI thread and pre-render the frame into a FBO. We now directly render the GL_TEXTURE_EXTERNAL_OES in the QtQuick render thread, using an Android-specific QSGVideoNode. We also use a callback from the render thread to create the texture from there and not have to create a separate shared OpenGL context. Change-Id: I6c8eb94b47d0a03329c912701b8af3fb5ebd1876 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* Android: Adapt the multimedia plugin to new QJNI APIChristian Strømme2013-09-2014-236/+215
| | | | | Change-Id: Id87f5518724eed6c9de6d5d3b8141860bd511643 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Android: added camera support.Yoann Lopes2013-09-1215-0/+2375
This patch includes all camera features: viewport, settings, image capture, and video recording. It also adds support for QAudioRecorder. Change-Id: Ib962177cc8de4bac03f42a2bc0f534e03464bbfc Reviewed-by: Christian Stromme <christian.stromme@digia.com>