Windows system header files redefine min/max, unless NOMINMAX is defined.
In some cases we can simply include qt_windows.h, which does the trick,
in other cases including qt_windows.h produces different compilation
errors and it's simpler to just do the NOMINMAX trick.
Change-Id: I3cf81bab7c239363adfa274f158bdf999d1d3ecd
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Move the handle type to the base class (since it's always needed) and
don't allocate the private class in the default paths.
Change-Id: I870a315310ce740f07b1d43cedecfce21feae505
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
It doesn't block - not safe to implement in all cases. Applications
can implement blocking semantics based on their usage of event loops
or threads.
Change-Id: If9a6b1ae7014df63a43989c4940524bc5eaae383
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
It's useful when the buffer pool stores QAbstractVideoBuffer
instances instead of underlying system buffers and
allows to avoid reallocation of QAbstractVideoBuffer instances.
The default implementation deletes the buffer,
so this change is source compatible.
Change-Id: I7dadd7dac529748b5eb33e5aa7c2d0578b8b1634
Reviewed-by: Lev Zelenskiy <lev.zelenskiy@nokia.com>
Reviewed-by: Jonas Rabbe <jonas.rabbe@gmail.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
They are replaced with encoding options from
QAudio/Video/ImageEncoderSettings.
This also allows to specify options without
requesting controls.
Change-Id: I507e68cdb8cb46325689804d27c6d0561cada50b
Reviewed-by: Lev Zelenskiy <lev.zelenskiy@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Remove references to private QMediaServiceProvider class and point
new backend writers to irc/mailing lists
* Wrong or missing parameter names
* Fix a few links
* Correct a few property data types
* Various other things to keep qdoc happier
Change-Id: I5c8800d65c00f0783541afef35990bd3918acab7
Reviewed-by: Angus Cummings <angus.cummings@nokia.com>
Reviewed-by: Ling Hu <ling.hu@nokia.com>
Reviewed-by: Daniel Kovacic <daniel.kovacic@nokia.com>
By linking to QMediaObject functions. Also clean that up a bit so it's
a bit more useful for people looking for higher level functionality.
Change-Id: Ie452122c4d55f88326a7b71c5882dfe38f489791
Reviewed-by: Angus Cummings <angus.cummings@nokia.com>
Reviewed-by: Ling Hu <ling.hu@nokia.com>
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
Reviewed-by: Daniel Kovacic <daniel.kovacic@nokia.com>
Port the last two currently unused plugins (v4l and wmf) over to the new plugin
format.
Fix documentation that still mentioned Q_EXPORT_PLUGIN.
Change-Id: I18200dd792e8973687e92180fc41d11395b35132
Reviewed-by: Jonas Rabbe <jonas.rabbe@gmail.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
this workaround makes sure that qdoc can find the \class
and \namespace declarations.
Change-Id: I950e6fbc10064f438d7f282ff20783acdf20de27
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
It allows to specify a number of camera fiewfinder parameters
including frame rate, resolution and pixel format.
It also allows to extend the list of parameters without breaking source
or binary compatibility.
Change-Id: Ibea85a968ab7ee7b8d1ae34c7fcbac8f5586f53f
Reviewed-by: Jonas Rabbe <jonas.rabbe@gmail.com>
This allows to specify more advanced and system/codec specific settings
Change-Id: Ia0a2e94eaf56df285a219018e0beab895a2e7c2a
Reviewed-by: Ling Hu <ling.hu@nokia.com>
Reordering some enum's so values are listed ascending
Replace 'The' with 'the' in some briefs
Change-Id: Ibc5042389687598ddaaf11e72acaa688b85fd4cf
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
Reviewed-by: Ling Hu <ling.hu@nokia.com>
renaming QML element to QML type
removing some \fn tags that were making the docs not build
some rewording
some new signal docs
Change-Id: I9b350dad1780276959aef4105e53b91082a6083e
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
Moved checking the buffer type to the buffer pool
instead of comparing the buffer type in QVideoSurfaceGstSink.
Some gstreamer elements may push other buffer instance than
provided by sink but with the same data pointer.
Change-Id: Iab3bf4da2d5eeb5d2a9375aa609a89515b067ce3
Reviewed-by: Lev Zelenskiy <lev.zelenskiy@nokia.com>
Reviewed-by: Ling Hu <ling.hu@nokia.com>
This operation should be a no-op anyway, since at this point in time,
the fromAscii and toAscii functions simply call their fromLatin1 and
toLatin1 counterparts.
Task-number: QTBUG-21872
Change-Id: Ic591779a3431999c007fb0ff362c7e25ce54097e
Reviewed-by: Jonas Rabbe <jonas.rabbe@gmail.com>
Surface has to be stopped when
QGstreamerVideoRendererInterface::stopRenderer() is called.
This fixes a media player issue when video output is not cleared
when media is set to 0.
Change-Id: Ifdc851797519dcdf95db86e8dcec93b3866c388e
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
QMediaRecorder::state property represents the user request and
changed synchronously during record(), pause() or stop() calls.
Recorder status is changed asynchronously
and represents the actual status of media recorder.
This also makes API more consistent with QMediaPlayer and QCamera.
Change-Id: I80b4aaa70bb88e555c492908da8c29d0fc5ed5ea
Reviewed-by: Ling Hu <ling.hu@nokia.com>
These statuses are useful when the camera is stopped and/or unloaded
asynchronously. Previously the status was changed to
LoadedStatus or UnloadedStatus immediately,
even while camera was still active.
Change-Id: Id11021a150b0d34791ea631d7a62086cc0727220
Reviewed-by: Mithra Pattison <mithra.pattison@nokia.com>
Reviewed-by: Ling Hu <ling.hu@nokia.com>
The gstreamer blob has been split into four plugins: audiodecoder,
camerabin, mediacapture, and mediaplayer.
Note: camerabin is still disabled because it is untested camerabin2
implementation.
A new qmake configuration use_gstreamer_camera has been introduced
and is needed for the mediacapture plugin to expose the camera
service. This configuration has been disabled by default.
Shared functionality has been moved to the internal gsttools library.
Change-Id: Ifb2604f440cfa97513d39f5d7978766c88eaec45
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
At the moment there is no way to tell whether a sample
returned by QSampleCache comes from cache.
This functionality is required for a unit test.
Change-Id: Ice23bb39b8e4f0a58b9297b46bb19b9a8c34b53c
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
We free the mainloop but didn't check validity before calling lock or
unlock. Also we might need to unlock the main loop before freeing
it in some other error cases.
Change-Id: Iadf1049324cdf37ca9841b82e53e33afdcba8cb2
Reviewed-by: Jun Zhu <jun.5.zhu@nokia.com>
Reviewed-by: Lev Zelenskiy <lev.zelenskiy@nokia.com>
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
When the sample is removed we need to decrease sample cache usage,
even when capacity is set to zero.
Otherwise we're getting wrong usage after capacity is changed.
Change-Id: I38820c0f9441abec3086189698ec5a904e1e9b6f
Reviewed-by: Ling Hu <ling.hu@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
There is a problem when sound effect already has a sound loaded and
we try to load new sound with setSource().
When sampleReady() is called between emptyStream() and emptyComplete()
it unloads the current stream and creates a new stream.
As a result pulse audio crashed in emptyComplete() while calling
pa_operation_unref(pa_stream_cork(
m_pulseStream, 1, stream_cork_callback, m_ref->getRef()))
with the new m_pulseStream.
Change-Id: Idff4fe6037d3f3f116734dc0facabaafa3db14a2
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Reviewed-by: Ling Hu <ling.hu@nokia.com>
There is no widget dependency in it, and this enables the QML
Video element to support video overlays later.
Change-Id: I7ebcde350f9595a9f7c319663ff745930535a8a7
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Buffers were kept allocated until the player is destroyed or
next media played.
Change-Id: I8a0c85da3a82ac6883075a1d0674143783c7f010
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Paths with a leading slash were previously considered relative (with
no scheme) but now they aren't. So take the opportunity to tweak the
path resolution code
Change-Id: I7b02cb85403ebb151dba274db0c05459ef536f18
Reviewed-by: Lev Zelenskiy <lev.zelenskiy@nokia.com>
Reviewed-by: Ling Hu <ling.hu@nokia.com>
QAudioOutput and QSoundEffect now have a category property so that
system volume mixing or processing can be applied.
Initially just pulseaudio supports this but Windows Vista etc should also
work.
Change-Id: I6855b08367e5a055ac7dfcffd644c98bfd7c5a4e
Reviewed-by: Ling Hu <ling.hu@nokia.com>
Looking for feedback concerning:
implementation of the change
desired functionality of QAudioDecoder
Changed the behaviour of QAudioDecoder for
more sane error output
Change-Id: I82193a94b6fe1ef4202a4ac7bd95c607e0bee9c6
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Document a few missing classes/functions/methods
* Fix a number of QML snippets that wouldn't work as standalone snippets
* Add files to .pro so they show up in Creator..
Still the mysterious lack of controls dir documentation persists :/
Change-Id: I57162371a4d966e4db5bdb1b71d1baf9c0ca57c3
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
There's a daemon() function declared in unistd.h.
Change-Id: I1063e71248a5236a5bb6b8f10804c469c8d1f788
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>