Adding hasAudio and hasVideo to MediaPlayer QML object to allow users
to determine whether the current media has audio and/or video
streams. Also adding notifies for when these properties change.
Change-Id: Ife7606e148f0c0ad558b4019c68c70973c199c08
Reviewed-by: Sergey Dubitskiy
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* TiltShift was sometimes applying the effect in the wrong place.
* Blur had some QML properties duplicated
* Blur kernel wasn't quite summing to 1, and was applying opacity twice
* The target width for the second pass was incorrect, so it was blending
darkness, resulting in a dreary image.
Change-Id: Ib8ba93d979c597cf4d225b3d24d26a22d0cdffc2
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
Each effect item now exposes a ListModel property which describes the
set of user-controllable parameters. This model is used by the
ParameterPanel component to generate a ListView whose delegate displays
the parameter name and a slider.
Change-Id: Ib26877fe434d8b746ef621e0b4adbcbe1ed9aaa8
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Based on code imported from master branch of QtMobility repo,
ported to Qt Quick 2.
Task-number: QTBUG-23118
Change-Id: Ifd297de0e595c675ff1a8e3218d91b03629295b9
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Modified handling of source update in gstreamervideorenderer as
the existing logic meant that it would never emit the readyChanged
signal.
Change-Id: I0a1488cfc151388fe0145d231001e502e9f45f0e
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Reviewed-by: Mithra Pattison <mithra.pattison@nokia.com>
The X11 buffer pool was using outdated APIs, and as the 'qpa'
configuration value is being removed, it caused the X11 code
to be pulled in, and therefore cause compilation failures.
Change-Id: I5fdaed854c6525716fccca44b5fbd0b850880cb9
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Since I get build failures due to other changes in lower modules.
Change-Id: Iac6a814071c019de25db52daf941185337fad14a
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Added some soundeffects systems test to the audio systems test
Change-Id: I9f9392a9bee50c11d0ec9d32490b79241e49014a
Reviewed-by: Natalia Shubina <natalia.shubina@nokia.com>
These macros are now provided by testlib via the QtTest/QtTest header.
Change-Id: I6b499395888268aab315d63404e2b0eed8688615
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Use QTEST_MAIN or QTEST_GUILESS_MAIN instead of equivalent custom main()
functions. Also collapse each test into a single source file, in line
with most other autotests.
Change-Id: I38c7b6a9eb0ff1c9b8ac44de7d5f40d6ac6c46ea
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Added some playlist tests and edit some audio
Change-Id: I936ef4772be9aebe5baf8f755cedadc93107f9e4
Reviewed-by: Natalia Shubina <natalia.shubina@nokia.com>
It's useful when video frame is accessed from multiple places
like display and encoding.
Change-Id: I8af175c780783216d8b7717cdf0744ad9bc95348
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Just uses an integer to represent the degrees rotation from standard.
Only supports multiples of 90 - other rotation can be done with
standard QML.
Change-Id: Id4013169c5d9da473b6e5be94ba341da21c2f2a3
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
Don't keep the frame after it was uploaded to texture;
Upload frame data during rendering (in material shader updateState)
instead of updatePaintNode().
Change-Id: Ia6a4063bfa02d4d20f75735649fe4f777cf50494
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
Otherwise the pulse client library dislikes having methods called
with a null context.
Change-Id: I96629065b7a0e36e0d10402526cb167e65458e27
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
This covers the potential crash reported by qfeedbackmmk test.
Change-Id: Ib533e80b25c4c7fb291527d62445aaa40960baa0
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
It's necessary to release video frames during media pipeline shutdown
or reconfiguration.
Change-Id: I386ad4d173b8731f257ec9272ef8c46a27769bd0
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Task-Number: QTBUG-22779
Some pulseaudio callback may happen after SoundEffect was deleted,
thus the userdata(SoundEffect point) we passed previously may
result in potential crash with QMetaObject::invokeMethod to queue some event.
To solve this problem, the release mehtod is added to SoundEffectPrivate,
and instead of calling d->deleteLater in SoundEffect::dtor,
d->release is called. So SoundEffectPrivate will no when it is going to
be deleted soon rather than handle everything in SoundEffectPrivate::dtor
which may be too late.
class RefObject is also added to be able to track the SoundEffectPrivate
status by pulseaduio callbacks. I thought this could be avoided by checking
the connection state of pulse stream. However, that doesn't work as expected,
stream state remains Ready when checked in callbacks even after disconnect
stream has been called. So RefObject is used instead and its lifecycle is
managed by an internal reference count.
When release is invoked,
m_ref->onDeleted is called first, this will mark SoundEffectPrivate as dead.
and then unloadPulseStream is called.
After those two invocations, we can be asured that:
1. if some pulse callbacks has been called without knowing
SoundEffectPrivate dead, the queued invocation on SoundEffectPrivate
would be safe, since SoundEffectPrivate::deleteLater would
be called after them.
2. Since on pulse callbacks would be executed when unloadPulseStream is called,
then at this moment if some pulse callbacks is called again, it would certainly
knows that SoundEffectPrivate is marked as dead and would not queue and
event on SoundEffectPrivate.
Now, the deleteLater can be safely called.
Change-Id: I807f29cddb677d1f4bc078fd306ed0d83d6f7dc4
Reviewed-by: Ling Hu <ling.hu@nokia.com>
Causes entirely reasonable warnings from QCoreApplication::postEvents,
when calling deleteLater on a null pointer.
Change-Id: I5f1fa526b2d57844b9c0d2e634d434e2f7867bdf
Reviewed-by: Ling Hu <ling.hu@nokia.com>
Causes entirely reasonable warnings from QCoreApplication::postEvents,
when calling deleteLater on a null pointer.
Change-Id: I5f1fa526b2d57844b9c0d2e634d434e2f7867bdf
Reviewed-by: Ling Hu <ling.hu@nokia.com>
(Cherry-picked from 663df44fc8563c548c26a7ae21927b09664c28f2)
Change-Id: I005071bc1a8b2eae4d0660042fc8986d61804c47
Reviewed-by: Michael Goddard
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
VideoOutput element checks first for mediaObject property of
source object and if it's not available it checks
for videoSurface property.
It allows to implement video frames generator and connect it
to optimized VideoOutput QML element.
Change-Id: I8ee618cf61b9d9100f25e742c631ea8724c188dc
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
Check and cap the write size in pull mode to handle the case
where user returned an invalid write size through QIODevice
Change-Id: Ie0610a63f1d5400fba87f32a99bdc38479e0e7e8
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
The SkipMode parameter has been removed from the API in qtbase, so it
must be in all calls to QSKIP.
Task-number: QTBUG-21851, QTBUG-21652
Change-Id: Ib6225572a46eac7881222fdce192750b8b13ee3b
Reviewed-by: Steve Schilz <sschilz@pasco.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Added some radio functionality to match the qlm radio example
Change-Id: Ie0358c3443121b638db406e095467b18b4d6b57c
Reviewed-by: Daron Andrew Edie
(cherry picked from commit 1e542df82fbcc4e3a8f75537af204f83827a4587)
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Also turned qtmedianamespace.qdoc into a cpp file so I
could stick the qRegisterMetaTypes into it.
Change-Id: Idd6d3e2f348f1ed45b0a35ce180d023a170e8625
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
At each userFeed, m_bytesAvailable is not updated properly in pullmode,
so the pull data size become irrelevent to the size we can actually write.
This problem is fixed by checking the actual writable size each time
before pulling the data and limit the size of the pulled and written data.
Change-Id: I6f53e6348693ddf4e3c79e90d3c3d0c1ffc713aa
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Leave texture unit 0 active at the end, since the active texture unit
is not restored by SG itself.
Change-Id: I4970a955fea5c9342cc93c1d1b07ffbfb71e5f04
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
The operator=(int) and implicit int cast operators are deprecated
and will be removed.
Change-Id: I5091d705fba45195239c901f210355e09e123faa
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Split them into unit and integration tests. Integration tests really
need to be run on the real platform (not in a VM etc) since they are
somewhat unstable or nonfunctional otherwise.
A few tests were previously broken by QUrl changes and they were repaired.
Removed one test since it was not providing a lot of value.
There are still a number of tests that rely on Q_AUTOTEST_EXPORT symbols.
Change-Id: Ic402abf0af946baa5945075d975b3f584f9ef280
Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com>