* Use a Column element to position QML and video frame rate counters.
* When using small-screen layouts, hide frame rate counters when dialogs
or menus are displayed.
* Do not display instantaneous frame rate. If changes in this rate
trigger a repaint, then the rate itself is changed. If the repaint
occurs in less time than the QElapsedTimer resolution, the displayed
instantaneous rate is always zero.
* Add a label, so it is clear which is the QML repaint rate, and which
is the video frame rate.
Change-Id: Ie58ab162ab44bd7f1c4b297eed929b9baa73552c
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
* Use QStandardPaths to determine the initial folder displayed when
the file browser is launched
* Persist folder between file browser invocations
Change-Id: I5b86dd3d304c3f33802f3189716e1d360774198d
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
Rather than the probe based way of doing it. Initially private.
Change-Id: I30005f8da22f6451cb9de8eb3f0e193838d48c93
Reviewed-by: Ling Hu <ling.hu@nokia.com>
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
If gstreamer is present, then the gstreamer plugin (and
hence the plugins sub directory) should depend on the
gst tools library.
Change-Id: I6012df02d14731107fc0656089aa27ae61f0ef71
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
Since it seems to have changed slightly recently. Just use
QTRY_COMPARE instead.
Change-Id: I802c2e26acf5418bb5904fadd2a978a44fd9eb01
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
This change will allow us to add new video node factories that
can be loaded dynamically at runtime.
The previous video node factories, I420 and RGB have been kept
as static parts of the Qt Multimedia imports, but can be moved
to plugins at a later date.
For plugins to be able to find and use QSGVideoNode, the class
has to be exported.
Change-Id: Idbead9a8ad33619cebe90fcec92eb29cf52ae9bd
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Changed Video.qml for new API
Removed lowercase enum copies, replaced with calling
parent (VideoOutput, MediaPlayer) enums
Removed properties playing, paused
Removed signals started, resumed
Added readonly property playbackState
Added signal playing
Added autoPlay property
Fixed unit tests for new API
Added backwards compatibility for QtMultimedia 4
Change-Id: I27c91cd46d91402b8c4c42bb7d4961ad67909aeb
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
Added key,value parameters to metadataChanged() signal;
Added a separate actualLocation property to desribe the path of
recorded file. It may be different from outputLocation when default
location is used.
Change-Id: I5a4b77833b6458a19ed7e1dcf7e53fc7400cdf21
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
It's useful to associate imageCaptured/Saved signals data with
capture requests.
Change-Id: I3e98c4a194403bd338a1b5313d8736b4baf79961
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
This makes testing easier on other system than test was build.
Change-Id: I75c4d620c8132a7fd298fe735dfdc1bf6f775e08
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
Prereq for probing or decoding. The abstract API probably needs
to change.
Change-Id: Ie0bf796c1f581f34bbc0a8af2dffc387c513a330
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
It's not intended to be used by applications.
Change-Id: I2acc26180ebb5c2419438169827f39aaf4578389
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Do not display prerolled frames in stopped state.
Instead store prerolled frame and display it only after switching to
pause or playback state.
Added new unit test with a sample video file to check this functionality.
Change-Id: I3fd159a199b65ca10fdf9843af5675c5ae9dad05
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Don't use queued render request if it's called from
the object own thread.
Change-Id: I61ac11f5cf68edf82d0681c95123e804869d0647
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
Mostly move widgets classes into the QtMultimediaWidgets module, but
also mark a few mostly internal playlist classes as \internal. A few other
tweaks.
Change-Id: If0e376410bf2187cafb24f583108c6beb7b910a9
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
To allow setPosition to be called in stopped state we no longer check
if the player is in seekable state and allow position to be greater than
duration.
Unit test has been updated accordingly.
Change-Id: I29447ffe797a7cc3dcc80d20b2527e9eda493ab6
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
Deleting the root component can delete plugins already
used elsewhere in the application or library.
Change-Id: Ibd0afb61cf0e118eb13f9782252c1fec554ea901
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
It doesn't work, while even without QFlags
camera.captureMode = Camera.CaptureVideo + Camera.CaptureStillImage
works correctly.
Change-Id: I00727ad37cbf33e0c6d557a9da08160d6ea4bdc9
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
It may be more efficient and convenient for application to use this
signal instead of metaDataChanged().
metaDataChanged() signal is emitted for compatibility,
backends should emit both signals.
Signal added QMetadataReader/WritterControl,
QMediaObject and QMediaRecorder.
Change-Id: I5ca34a40e64b22034e6fde8cd7f9735cc3f72c68
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
This class has turned out to be not very useful at this point in time.
Change-Id: Ic07132bdcd01a912a6dd1160c867979fd1307b6a
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
It was intended to be QFlags based from the start.
Change-Id: I0919b3440eb18e84fc596fb894f18a53e5ff1da0
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Moved white balance preset from the separate methods to
QCameraImageProcessingControl::ProcessingParameter;
Separated absolute contrast/saturation/sharpening/denoising
settings with adjustments to backend decided values,
with QCameraImageProcessing using adjustments versions.
Changed type of parameters from int to qreal
with [0..1] range for absolute values and [-1..1] for adjustments.
Change-Id: I85c8781c046be6dd45bcf626c25908e1ce5f6bcb
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
To report the actual location file was written.
Change-Id: Ibb56a720a258a1e5cedceaf0f9bcea73fb93bc96
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
It's easier to change only the necessary part of encoding settings.
The settings are applied during the next event loop or before recording
starts.
Change-Id: Ia2b5c93826a302212aa7f79a0c75e4cbaaf1dd7a
Reviewed-by: Ling Hu <ling.hu@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
As in the past, to avoid rewriting various autotests that contain
line-number information, an extra blank line has been inserted at the
end of the license text to ensure that this commit does not change the
total number of lines in the license header.
Change-Id: I20e5215108c6ebd5f8474fed5c3665118e4791e6
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
For attempting to set the resolution.
Change-Id: I9f3b189b90fee95bf6430e9a74a6599ebcc38697
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
On destruction and changing sources, make sure we don't clobber the
surface property if it's been changed.
Change-Id: I3080b98a547911543a391c8bc040792d260782fd
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
So you can align controls with an edge of the rendered area. There's
also some convenience functions for mapping source to and from
destination coordinates. Also tweaked the updateGeometry function to
bail out if no input parameters have changed, rather than doing some
more boring maths.
Added a unit test for a lot of the class, too.
Change-Id: I943bb45e4e56356247d5d6deb5d446222edcb7ca
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
Only implemented for PulseAudio so far, but the API does explain that
it's optional.
Change-Id: I4543a1c81d810fe92bb08f1ed13f3a3534a371e4
Reviewed-by: Ling Hu <ling.hu@nokia.com>
QCameraExposureControl:
Separated requested from actual exposure values.
Removed ParameterFlags, it's confusing and seldom used.
Moved ExposureMode and MeteringMode to parameters.
QCameraExposure:
Added requestedAperture/ShutterSpeed/Iso getters
Change-Id: I408586d85e6c9de0c8a711c32b3c90ea46052270
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
A few silly errors, a few unlikely errors, a few changes that should
not have resulted in a problem but makes the code clearer.
Change-Id: Id2c82e9317d53822e4da13c94dec9595ea33b07a
Reviewed-by: Ling Hu <ling.hu@nokia.com>
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
QMediaServiceProvider should be removed from the public API,
to provide media objects with a custom media service.
A protected QMediaPlayer/QCamera/QRadioTuner/etc constructor
with QMediaService* parameter is a cleaner and more
flexible solution.
Change-Id: I335cce4bbebe0e548c3df338f206e7be7c93c3dd
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
It's not currently tested enough to be enabled.
Change-Id: I3c8eb7a81af982b6c98b733755d19c78f2f1c5ed
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Compares some of the useful parts, but perhaps should be made more
tolerant.
Also refactored the auto test to properly skip if there are no
(output) devices, rather than manually skip.
Task-number: QTBUG-13723
Change-Id: I3b83f87a440a83f4237fa119a23009bc99e7626a
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>