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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
The running count was not updated with the new value.
Auto-test added and documentation updated to be more clear about this
behavior.
Task-number: QTBUG-36643
Change-Id: I29e98ca4679f950a75133b21873738bcb72d23d4
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Adding the CAMERA and RECORD_AUDIO permissions implicitely makes some
features a hard requirement for the app.
By adding these features in the .pro file, androiddeployqt will mark
them as unrequired in the final package.
Change-Id: Ie9357d05626cb12272001d63b04e230737fbf1bc
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
The behavior of QDebug was fixed in qtbase. Update autotests
accordingly.
Change-Id: I0bbd1b52958c24710f877224158fa30f082941b8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Pass the top-level window's window group to mm-renderer,
as required by mmr.
Change-Id: I2a2e8b4aa48f5c2292b03593c6d528068f383b5c
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
When -no-opengl was used then it was not automatically pulling in the
needed Windows libraries as it was not loading opengl.prf to get them
from.
Change-Id: I9b73e5ee01da964a64c71b6261ff4ed98ce6f1a9
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
The test has been observed to fail sometimes, try to obtain values.
Change-Id: Id0374b7ad3d593c099500e771bc4d8cc50f26651
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
On imx6 there is a platform-specific API to implement
memory-mapping from gstreamer-buffer to opengl-texture.
This plugin uses this API to avoid CPU-based-memory-copy.
This allows fluid video-playback up to 1080p with very little CPU load.
Before even 720p used one cpu-core completely and wasn't fluid.
Change-Id: I0c33eb5d475393a65459291ce9290fa0753de4a5
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
This enables writing gps positioning information to captured images.
Change-Id: I663f7b94b5e6040865358df1ae45d67b73c54f92
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
GStreamer tags are typed and the correct type must be used when inserting
a value into a GstTagList or subsequent merges or data accesses can crash
because of invalid casts.
Found while adding additional mappings for GPS values.
Change-Id: I95ab40a480a4685bf4e69064315557faa9de288e
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>