summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Improved declarative-camera example.v5.3.0-beta1Yoann Lopes2014-03-212-20/+20
| | | | | | | | | - Fix setting the white balance preset, it was never actually set on the camera - Improved the zoom control style Change-Id: I95c2851e5ad8409dd79306492271f221a61cb10d Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* GStreamer: fix memory leaks.Yoann Lopes2014-03-2120-41/+134
| | | | | | | Many GStreamer objects were not properly managed or never released. Change-Id: I38b3854e8b9e2264b5b647f331d3bb16b886e2d6 Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
* GStreamer: don't try to seek when it's not supported.Yoann Lopes2014-03-211-2/+2
| | | | | | | This eliminates warnings on the console. Change-Id: I6a0509dba4a0f7ec6fad33f8803be746f425a616 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Android: Make the Mediaplayer more robustChristian Strømme2014-03-218-337/+614
| | | | | | | | | | | | 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>
* Mac: Re-enable qcamerabackend testAndy Nichols2014-03-201-1/+0
| | | | | | | | | The cause of the tests flakyness has been resolved, so it should be re-enabled. Task-number: QTBUG-36040 Change-Id: Ic4d18ea891ed5b6c5f4acbb4d05322b910b87d29 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* AVFoundation: Add QVideoWindowControl supportAndy Nichols2014-03-204-2/+378
| | | | | | | | | | | | | | | | This adds the capability to render videos directly to native window surfaces when using the AVFoundation plugin. This adds limited support for displaying videos from QML on iOS. These videos are displayed in a CALayer above the QQuickWindow, so it will not be possible to render any QtQuick items on top of a video using the QVideoWindowControl to provide video. [ChangeLog][QtMultimedia][iOS] Add limited support for playing videos in QtQuick on iOS (Videos are played on top of scene with limited transform support). Change-Id: I80381d9a07b45b6fa1959678166e6da0004f8c19 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Fix VideoOutput::autoOrientation documentation.Yoann Lopes2014-03-201-1/+1
| | | | | | | The type was reported to be int instead of bool. Change-Id: I3a76cb76ca70b50060c768f87cf84d8e436d8d7f Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* QNX: Evaluate mm-renderer buffer statusBernd Weimer2014-03-194-15/+38
| | | | | | | | | | | | | | In the playing (or paused) state the media status should reflect the buffer state, it should not stay in the loaded media state. Mm-renderer differentiates between buffer "status" and "level". Unfortunately, QMediaPlayer's buffer status maps to mm-renderer's buffer level. Change-Id: I22ea8dc83cee975fc4aa1a6de4f172def042a9a8 QT-BUG: 37166 Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
* Tidy up Audio documentation.Mitch Curtis2014-03-193-22/+21
| | | | | Change-Id: I864ba13375d7b8b035686c11687e76fbf672c431 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Prevent crash when there is no camera device availableAndy Shaw2014-03-191-2/+3
| | | | | | | | | If you try to use QAudioInputSelectorControl with the iOS Simulator then it would crash as there is no camera device available. This prevents a crash from happening in that case. Change-Id: I3904f3d299a11a6df21e66a1138a4319cc0b8a5c Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Doc: Document signals (not handlers) under \qmlsignalSze Howe Koh2014-03-189-52/+124
| | | | | | | | | Append the handler names to the end of the corresponding signal doc. Task-number: QTBUG-35846 Change-Id: I325cdab75ef18a19c9f29d6333039c31baa8daf6 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* WMF: fix some issues with our custom video sink.Yoann Lopes2014-03-181-5/+42
| | | | | | | | | | | | | | | - When scrubbing, request frames only one at a time. - Discard frames when too late or too much in advance - Fix integer overflow causing undefined behavior [ChangeLog][QtMultimedia][Windows] Fixed video playback playing at twice the normal rate after reaching 3:34. [ChangeLog][QtMultimedia][Windows] Fixed video playback that could freeze after seeking to a different position. Task-number: QTBUG-31800 Change-Id: Ie620c684c58ee790537969ffc40f01610b6745ea Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* WMF: remove some debug output.Yoann Lopes2014-03-181-0/+2
| | | | | | Task-number: QTBUG-37539 Change-Id: I5c2f232195de946dce04eb873ac381d0bb9e73b2 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* OpenSL ES: lazy initialization of QAudioInput's supported formats.Yoann Lopes2014-03-182-4/+11
| | | | | Change-Id: I51cdd35a944c990ce7df999bcb6063342e98c62d Reviewed-by: Christian Stromme <christian.stromme@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>
* Doc: Qt Audio Engine: Restore lost docsSze Howe Koh2014-03-178-80/+80
| | | | | | | | When QDoc stopped accepting the version number of QML modules, some parts of QML documentation disappeared silently. Change-Id: I528a2d77587e5803ed971dfe8849d0b37d9c555a Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Fix crash in QCameraInfo when no camera is available on the system.Yoann Lopes2014-03-171-1/+1
| | | | | Change-Id: I04bea9d6afcf567c64788c3765cc6626dc9cd482 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* Correctly update record button in AudioRecorder example.Yoann Lopes2014-03-171-0/+1
| | | | | | | | The record/stop button should have a "Record" text when QMediaRecorder has the LoadedStatus. Change-Id: I677845382b24ecf1f2351fc8e1e2e182b2c8d548 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: restart camera viewfinder after a recorder error.Yoann Lopes2014-03-172-9/+15
| | | | | Change-Id: I33f083fda5c10cfb997a21100c0ec3d4a314aee0 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* Android: correctly report QMediaRecorder actual output location.Yoann Lopes2014-03-172-6/+5
| | | | | | | | Report the recorded media location to have changed only when recording is finished and successful. Change-Id: Iee7565b9ba12d9de09f86dffb34c40936fee198c Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* Android: correctly report QMediaRecorder status.Yoann Lopes2014-03-172-33/+47
| | | | | | | | | | | QMediaRecorder should have the LoadedStatus before starting recording. When recording the camera, the recorder should be considered loaded when all prerequisites are met (viewfinder started, recording mode set to video and capture ready). Task-number: QTBUG-36828 Change-Id: I3279bdfdc2b361c7e0707c52e74ae47e0bb4a93d Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* AVFoundation: Fix another crash when destroying a QMediaPlayerAndy Nichols2014-03-141-2/+2
| | | | | | | | We need to unload media before we delete the player. Task-number: QTBUG-37447 Change-Id: I09263214c425339c0d8c192091aeaa6e3fb5331f Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Add missing documentation for Audio and MediaPlayer loops property.Yoann Lopes2014-03-101-0/+24
| | | | | | Task-number: QTBUG-35306 Change-Id: If0e9784ede5db887d3756972e8db54b5485d6cdd Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Fix typo Inavlid -> InvalidSergio Ahumada2014-03-071-1/+1
| | | | | Change-Id: I3fc6ec3cc319784f32368585ae4eb379317ef4ce Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
* WMF: each media player now has its own volume.Yoann Lopes2014-03-072-28/+26
| | | | | | | | | | | | | | | Instead of setting the volume on the audio session, which is shared by all QMediaPlayers, we now set the volume on the media player's own audio stream. This results in all QMediaPlayers correctly having independent volumes. [ChangeLog][QtMultimedia][Windows] QMediaPlayer::setVolume() does not affect the volume of other QMediaPlayers anymore. Task-number: QTBUG-30317 Change-Id: I8ea8ec47fc86127da01dc5c8247fb6f72c834630 Reviewed-by: Wouter Huysentruit <wouter_huysentruit@hotmail.com> Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Make declarative-camera example show frames in the correct orientation.Yoann Lopes2014-03-071-1/+2
| | | | | | | | VideoOutput's autoOrientation property should be set to true in order to always have the video frames in the same orientation as the screen. Change-Id: I76ebb2979070e52d4f62972d63896eada1a208be Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* AVFoundation: fix crash when no camera is available on the system.Yoann Lopes2014-03-071-3/+5
| | | | | Change-Id: I0b473babae4d1fae605667957deca21ba1dc0c09 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* CoreAudio: Set default audio category to Playback on iOSAndy Nichols2014-03-073-1/+17
| | | | | | | | | | | | | This fixes the issue that when we use QSoundEffect we dont need to get permission to use the microphone. This was because we were defaulting to PlayAndRecord. Now we only switch to the PlayAndRecord category when we try and use an input device. [ChangeLog][QtMultimedia][iOS] Using QSoundEffect (or SoundEffect in QML) no longer requires permission to use the microphone. Change-Id: I94535215497a718005c280bfd84b428b4bf1b16a Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* AVFoundation: Prevent Crash in QMediaPlayerAndy Nichols2014-03-071-1/+4
| | | | | | | Task-number: QTBUG-34213 Change-Id: I0883436175439abbb4ea964ed552a17b970ed05c Reviewed-by: Michael Bruning <michael.bruning@digia.com> Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Release videoframe on painter stop()Wouter Huysentruit2014-03-061-0/+12
| | | | | | | | | QVideoSurfaceGLPainter/QVideoSurfaceGlslPainter needs to release the video frame on stop (just like QVideoSurfaceGenericPainter already does). Change-Id: Iaf3eb13eaf51fbc22fab6b1f80db8e8978ac328d Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* tst_qcamerainfo: Fix weird symbol in license headerSergio Ahumada2014-03-061-1/+1
| | | | | Change-Id: Idff0ffb96fa86dd7faa9ff9b86338c238d4edcb5 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* GStreamer: Remove tags when an invalid QVariant is assigned.Andrew den Exter2014-03-062-8/+15
| | | | | | | | | | Clear the tag list before syncing with reference set so old values are removed and explicitly remove invalid QVariants from the reference set so that the type correction doesn't result in invalid values being written instead. Change-Id: I7d1bdc95cd2a2d601720db84c9b3ef629477bc99 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* videonode: imx6: clear texture cache when the format changesMichael Olbrich2014-03-042-0/+19
| | | | | | | | The old textures won't match anyways. So there is no need to keep them. Change-Id: Id3482333d10cf022d04076ec0f5c7df475c522ae Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de> Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* videonode: imx6: cleanup pixel formatsMichael Olbrich2014-03-042-7/+5
| | | | | | | | | | | All formats are now tested. Also, don't use the alpha channel. This is not quite correct for formats with alpha channel but for video probably a good idea. Change-Id: I4a2404d7c96023bb1e3fca41e1f224d23347f290 Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de> Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* enable imx6 specific QSGVideoNode based on a config testMichael Olbrich2014-03-044-1/+53
| | | | | | | | This way it also works custom mkspecs Change-Id: I7414aac775b797da3487e9625c7212486118b532 Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de> Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* AVFoundation: Cleanup AVCaptureSession with proper reference countingAndy Nichols2014-03-041-0/+17
| | | | | | | | | | | | The reference counting was not being done for AVCaptureSession so it was being destroyed before we got a chance to properly clean it up (which lead to crashes). We also make sure to remove any observers from AVCaptureSession now before destroying it. Task-number: QTBUG-37109 Task-number: QTBUG-29955 Change-Id: Ia9b49ad1eab01b4f7424e2a1c699d903cd9bf902 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* AVFoundation: implement QCameraInfoControl.Yoann Lopes2014-03-0411-66/+258
| | | | | Change-Id: I05f3daa5c4acb90e046e26d6d577ae40dfed0e30 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* AVFoundation: Call stop() on VideoSurface when changing sourcesAndy Nichols2014-03-041-0/+5
| | | | | | | | | | Before we were reusing the active surface when we switched videos. This leads to an inconsitency in states, and the sourceRect property of the video surface does not get updated. Task-number: QTBUG-28655 Change-Id: Ie29bf1d9b1c11b6f51a869253c730202001c07cf Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* AVFoundation: Fix y-inverted QML VideosAndy Nichols2014-03-041-2/+3
| | | | | | | | | | | | When the code that supports iOS was added, we introduced a bug where QML videos would be played y-inverted on OS X. This is because we made no effort to y-invert the Framebuffer Object before rendering the texture in the SceneGraph. Now we render the video the the FBO y-inverted, so there is no need to y-invert the resulting texture. Task-number: QTBUG-35955 Change-Id: I41af1aaae57923b9972b5be5ec65f7d2a97d77c5 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* AVFoundation: Remove debug codeAndy Nichols2014-03-031-2/+2
| | | | | | | | | Some debug code made it into the released code, so each time you used the QWidget based video player the terminal would print data about the window frame size. Change-Id: I86eb00ce5edb23b7a2abf6a63893cd17aaeb0ee3 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* CoreAudio: Use the real default audio device for QSoundEffectAndy Nichols2014-03-031-3/+8
| | | | | | | | | | | There is an assumption in QtMultimedia that the first audio device returned by QAudioDeviceInfo::availableDevices is the default device, so we must make an effor to make sure this is true. This commit should fix the issue on OS X. Task-number: QTBUG-36638 Change-Id: Id388d7218b465cb29d826f46ee825e982c5f7ffc Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* CoreAudio: Make it possible to set volume on of QAudioOutputAndy Nichols2014-03-031-3/+28
| | | | | | | | | | | | | | QAudioOutput::setVolume stopped working for CoreAudio when it was ported to live in it's own plugin. This was because it was not possible to set the volume of QAudioOutput in iOS. Now the functionality has been restored and added for iOS as well. For OS X we use the old method of setting the volume property of the AudioUnit. On iOS it is not possible to set the volume on a per AudioUnit basis, so we now manually modify the buffer contents (the same we do for QAudioInput already). Task-number: QTBUG-36756 Change-Id: I42b5892fe5534217043fa55e7b5b9a4ce824050d Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* AVFoundation: Improve config testAndy Nichols2014-03-032-1/+3
| | | | | | | | | This should prevent the avfoundation plugin from being built on system that can not support using it (ex. 32bit builds on OS X 10.7) Task-number: QTBUG-36239 Change-Id: I9f861b7580b0e015ddbc1231440d677bf6eee1ec Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* CoreAudio: Allow more flexability when specifying SampleRatesAndy Nichols2014-03-031-3/+6
| | | | | | | | | | | | The available sample rates for a given device are the nominal sample rates reported by the device. It is possible to use other sample rates and CoreAudio will take care of the conversion. So what we will do is report what rates are available for a device, but not explicitly require those sample rates to have a valid format. Task-number: QTBUG-36265 Change-Id: Idbbdeacbb6bc1fe434bcd8dec519ad70d4ccd545 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Prefer to use normalised signal/slot signaturesSergio Ahumada2014-03-036-20/+20
| | | | | Change-Id: I48ae4b46f7a0342a1436ba78958b057e919e3a8a Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Add missing virtual destructor for new classThiago Macieira2014-03-011-0/+1
| | | | | | | | qmediaserviceproviderplugin.h:166:28: error: ‘struct QMediaServiceCameraInfoInterface’ has virtual functions and accessible non-virtual destructor [-Werror=non-virtual-dtor] Change-Id: I08c6718bfd87c5adeea9969afdd4766150163238 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com> Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Android: implement QCameraInfoControl.Yoann Lopes2014-02-2814-170/+273
| | | | | | | | | 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>
* VideoOutput: fix autoOrientation with a camera source.Yoann Lopes2014-02-283-2/+28
| | | | | | | | | Don't assume the camera frames are always in the same orientation as the display in its primary orientation. We now take into account the camera sensor position and orientation to calculate the viewport orientation. Change-Id: Ib333c87f1804d1010ada42cb757e4fab78d75a04 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* New QCameraInfo class.Yoann Lopes2014-02-2854-153/+2217
| | | | | | | | | | | | | | | | | | | | The class allows to get the list of available cameras on the system as well as getting some static information about them such as their unique ID, display name, physical position and sensor orientation. This makes QCamera::availableDevices() and QCamera::deviceDescription() obsolete. This patch contains the API, documentation and auto-tests but not the actual implementation by each backend (except for retrieving the default camera device). [ChangeLog][QtMultimedia] Added new QCameraInfo class [ChangeLog][QtMultimedia] QCamera: availableDevices() and deviceDescription() are deprecated, use QCameraInfo instead Change-Id: I64fd65729ab26a789468979ed5444ee90bb82cd0 Reviewed-by: Christian Stromme <christian.stromme@digia.com>