summaryrefslogtreecommitdiffstats
path: root/src/multimedia
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Add missing "We mean it" comments to private headers.Friedemann Kleint2015-10-0627-0/+297
|/ / | | | | | | | | | | Task-number: QTBUG-48595 Change-Id: I1370d9229b0606582cbd828de84ee2717dca3daf Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | Add 'resourcepolicy' to MODULE_PLUGIN_TYPES of multimedia.pro.v5.6.0-alpha1Friedemann Kleint2015-09-031-1/+2
| | | | | | | | | | | | | | | | | | Fix warning: WARNING: Project ERROR: No module claims plugin type resourcepolicy discovered when running lupdate to create the translations. Change-Id: I9fdde3e86219164cabbfe10672899eb2984f06d2 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* | Fix QCamera::lockStatus() documentation.Yoann Lopes2015-08-241-1/+1
| | | | | | | | | | Change-Id: I1f7c063ef1e465ba658f637754b10b7af44b8373 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.5' into 5.6Yoann Lopes2015-08-2419-97/+258
|\| | | | | | | | | | | | | Conflicts: src/imports/multimedia/qdeclarativeaudio.cpp Change-Id: I57c6252b084e4ed796f6f308b2e0c717d0f59b13
| * QMediaPlayer: clear current playlist on deletion.Yoann Lopes2015-08-191-0/+2
| | | | | | | | | | | | | | | | | | | | Makes sure the current playlist is unbound when QMediaPlayer is destroyed. Change-Id: If25efa67bf79af0326f6125d9615165a2c7dd6bb Reviewed-by: Jim Hodapp <jim.hodapp@canonical.com> Reviewed-by: Loïc Molinari <loic.molinari@canonical.com> Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
| * GStreamer: refactored widget and window control.Yoann Lopes2015-08-184-32/+144
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of always using xvimagesink as GStreamer backend for the widget and window control (works only with X11), we now try to pick a video sink that fits the current configuration. It first tries a set of known video sinks that can work with the Qt platform plugin in use. If none is available, it dynamically picks a video sink available on the system that can be used with our backend. Even if the video sink is now picked in a smarter way, xcb is still the only supported platform plugin. The reason is that it's the only Unix plugin which can provide a valid native window handle. Additional work is needed to support other plugins like wayland or directfb. Change-Id: I3843dea363d6a0b85a6cc1f2952783b743e48ac6 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
| * Fix QCamera viewfinder capabilities functions..Yoann Lopes2015-08-182-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | - Filtering the results for a specific pixel aspect ratio would return wrong values. - Correctly sort the frame rate ranges returned by supportedViewfinderFrameRateRanges(). Added missing auto-tests for all viewfinder capabilities functions. Change-Id: Idfb40d4139cc48a5996ce2ddd98131a2f5be76bb Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
| * GStreamer: added convenience function in QGstUtils.Yoann Lopes2015-08-131-0/+1
| | | | | | | | | | | | | | -> qt_gst_element_get_factory_name(GstElement *elem) Change-Id: Icf806488b49fbcdecdd605b6316bd1ef8796a883 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
| * Fix camera plugin selection.Yoann Lopes2015-08-121-8/+3
| | | | | | | | | | | | | | | | When requesting a camera plugin for a given device id, it should fall back to any available plugin if that device id is not found. Change-Id: I685294c7fdcaa72bce70178b0aae2ec92e79e107 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
| * Remove obsolete check in QMediaServiceChristian Strømme2015-08-121-2/+0
| | | | | | | | | | | | | | The macro QT_NO_MEMBER_TEMPLATES was removed eons ago. Change-Id: Ifc4f3ac8bcf1e9b42fad5dcfb101e3446a254abc Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
| * Bind the playlist connected to a player.Loïc Molinari2015-08-121-0/+2
| | | | | | | | | | Change-Id: I3c2e00773c88f671bdffcfe8c8175330ca405d4a Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
| * Fix qdoc warnings.Yoann Lopes2015-08-116-17/+69
| | | | | | | | | | Change-Id: Ie351f33f88270186b7df0f9cd671fa4e31624231 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
| * Doc: update qml module version to 5.5.Yoann Lopes2015-08-117-21/+6
| | | | | | | | | | | | | | | | | | And remove import statements from snippets. Change-Id: I109beabd445186f96f0750b6f23fb623c125181e Task-number: QTBUG-47620 Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
| * Emit mediaAboutToBeRemoved() before mediaRemoved() in QMediaPlaylist.Loïc Molinari2015-08-101-1/+3
| | | | | | | | | | | | | | | | | | | | | | When a new playlist's mediaObject is set, the content is cleared and the mediaRemoved() signal is emitted without a former mediaAboutToBeRemoved(). This is an issue for QAbstractItemModel implementations, like the coming QDeclarativePlaylist, which call beginInsertRow() and endInsertRows() in the respective signal handlers. Change-Id: I7ec512ff2736e92858df94d9479741e05162e1f0 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
| * Check and fix up bounds in QMediaPlaylist methods.Loïc Molinari2015-08-101-6/+16
| | | | | | | | | | Change-Id: I665d665139dbe9663b20ecb08fa3dab9cbe3f899 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
| * Clean up QMediaPlayer documentation.Loïc Molinari2015-08-101-7/+7
| | | | | | | | | | Change-Id: I2d744542270f283ccd8ba0160aeda7faa56b2b86 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | Fix 2 more tr()-contexts of messages in QPlaylistFileParserPrivate.Friedemann Kleint2015-08-191-2/+2
| | | | | | | | | | | | | | Use QPlaylistFileParser instead of QObject. Change-Id: I5dd4b56f7f580ca4089db67bbfabdd58ef7e2778 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | Fix tr()-context of messages in QPlaylistFileParserPrivate.Friedemann Kleint2015-08-191-1/+2
| | | | | | | | | | | | | | Use QPlaylistFileParser instead of QObject. Change-Id: I83f6b0384fc60b356a8ae8b316d2aaa768e7ac4d Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | Add audio role API to QMediaPlayer.Jim Hodapp2015-08-108-2/+335
| | | | | | | | | | | | Change-Id: Ia5e3e2fe714f10b6aad62f0a4801c607905c7e0d Task-number: QTBUG-41054 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | Added new playlist QML type.Loïc Molinari2015-08-101-0/+6
|/ | | | | Change-Id: I0788cc9719f427457ad0be9c9a5bfda00451a0c4 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* Add new property to QVideoSurfaceFormat.Yoann Lopes2015-08-071-1/+12
| | | | | | | | | | | | The 'mirrored' property indicates the QVideoFrames need to be mirrored along their vertical axis. This is typically needed for video frames coming from a front camera on a mobile device. This is implemented as a string-based property. In Qt 5.6, this should be replaced by a new public function. Change-Id: Ideb7de81e83f66826f4efb5f2951c4beec13546b Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* Doc: replace Mac OS X with OS XNico Vertriest2015-07-153-3/+3
| | | | | | | Task-number: QTBUG-40759 Change-Id: I11b3aa74d35064371cbbbeba660114e086b16aea Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* QCameraViewFinderSettings: add missing includev5.5.0-rc1v5.5.0Marc Mutz2015-06-141-0/+1
| | | | | | | | | The header should not depend on indirect includes. It uses QSize in inline functions, so include the header. Change-Id: I3a5fca458ded47c98b7f71749ad75660c6e049e9 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* QAbstractVideoFilter: make ctor explicitMarc Mutz2015-06-121-1/+1
| | | | | Change-Id: If091d751c7e164c0480b48301358833705cd4870 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* QCameraViewFinderSettings: make op== transitiveMarc Mutz2015-06-121-2/+2
| | | | | | | | | | | | | Using qFuzzyCompare in operator== makes it impossible to create a consistent qHash() overload for the class later on (qFuzzyCompare is not transitive). It is unlikely that there will be numerical instability for frame rates. If there is, qFuzzyCompare should be overloaded for either this class or the FrameRateRange class. Change-Id: Id975ea410b373e2987da160504f7618a8c498b5c Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* QCameraViewFinderSettings: declare sharedMarc Mutz2015-06-121-0/+7
| | | | | | | | | Requires implementing member-swap. Also implemented move assignment operator. Change-Id: I077ee85346a8c542cd344720e45a0795a6947e4c Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* QCameraViewFinderSettings: make op== non-memberMarc Mutz2015-06-122-16/+22
| | | | | | | | | ...and inline op!=. Mark them as nothrow. More idiomatic C++ (symmetry between lhs and rhs). Change-Id: I65ecbef961383897e4e17325ad62d45e1772fbb0 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* QCameraViewFinderSettings: use correct includeMarc Mutz2015-06-121-1/+2
| | | | | Change-Id: I71f24922872f64d86d55f420b0e27028a6368097 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Define QCamera::FrameRateRange as a struct.Yoann Lopes2015-06-112-7/+43
| | | | | | | | Instead of an alias for QPair<qreal, qreal>. Task-number: QTBUG-46563 Change-Id: I7e1ac68242810f7e5f7e161571a11f5de7850e29 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* GStreamer: flush the current frame when stopping a media player.Yoann Lopes2015-05-272-0/+9
| | | | | | | | | | | When stopping, we don't actually stop the GStreamer pipeline, we just pause it and prevent preroll frames from being shown. We also need to make sure the last presented frame is cleared in that case, otherwise it stays on screen. Fixed for both 0.10 and 1.0. Change-Id: Ibe26a7567f271ae0c3d8819eb9d35d6a95da1c6a Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* Fix typo in QCameraViewfinderSettingsControl documentationSamuel Gaist2015-05-161-1/+1
| | | | | Change-Id: Iae4b064f554f501bfce9bc7b811c56685e8ece0d Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
* Doc: Added a link to the wiki with plugin info.Venugopal Shivashankar2015-05-131-0/+5
| | | | | | | | | | | The wiki summarizes each platform plugin and the supported features. Change-Id: Id7707306880d7e0612e73b879fc48201e0a97417 Task-number: QTBUG-30381 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com> Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* Merge remote-tracking branch 'origin/5.4' into 5.5Liang Qi2015-04-152-20/+15
|\ | | | | | | | | | | | | | | Conflicts: src/multimedia/playback/playlistfileparser.cpp src/plugins/windowsaudio/qwindowsaudiodeviceinfo.cpp Change-Id: I52950def2b8283ae15797d05d4ead6a1256eba19
| * Use proper d_ptr for QPlaylistFileParser.Yoann Lopes2015-03-182-21/+15
| | | | | | | | | | | | Task-number: QTBUG-42473 Change-Id: Iff8f14ed6ab99c8e7844b9e43009b82b442f5238 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* | Fix tr()-context of message in QMediaPlayerPrivate.Friedemann Kleint2015-04-091-1/+1
| | | | | | | | | | | | | | QObject::tr() should be avoided. Change-Id: I583ff7f6fec664030f5637fe216dfd44c1b1f2ac Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | QMediaPlayer: handle resource files in a cross-platform way.Yoann Lopes2015-04-075-38/+179
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It was the backend's responsibility to handle resource files in an appropriate way. In practice, it was either not handled at all, or implemented in an almost identical manner in every backend that does handle it. This is now dealt with in QMediaPlayer, always passing to the backend something it will be able to play. If the backend has the StreamPlayback capability, we pass a QFile from which it streams the data. If it doesn't, we copy the resource to a temporary file and pass its path to the backend. Task-number: QTBUG-36175 Task-number: QTBUG-42263 Task-number: QTBUG-43839 Change-Id: I57b355c72692d02661baeaf74e66581ca0a0bd1d Reviewed-by: Andrew Knight <qt@panimo.net> Reviewed-by: Peng Wu <peng.wu@intopalo.com> Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* | Fix debug stream operators.Friedemann Kleint2015-04-077-121/+145
| | | | | | | | | | | | | | | | | | | | - Use QDebugStateSaver to restore space setting in stream operators instead of returning dbg.space() which breaks formatting on streams that already have nospace() set. - Fix some single character string constants, streamline code. Change-Id: I18ae7324b172ea801aa9b5fe56ddf6fe527fdde9 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | GStreamer: implement unlock() in QGstVideoRendererSink.Yoann Lopes2015-04-072-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | There are cases where blocking operations happening in the video sink need to be unblocked, that's why GstBaseSink has an unlock() virtual function. Since our custom video sink blocks when starting and when rendering a frame (while waiting for the main thread to actually do these operations), we need to implement the unlock() function in order to unblock these operations when requested by GstBaseSink. Change-Id: I5cb19ea689e655f572729d931cefec8a4266c94e Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
* | GStreamer 1.0: show preroll frames.Yoann Lopes2015-04-071-1/+1
| | | | | | | | | | | | | | | | | | | | We need to implement the show_frame() function from GstVideoSink, which handles both preroll and normal frames, instead of just GstBaseSink.render(), which is called only for normal frames. This was changed for GStreamer 0.10 by 3b20608f. Change-Id: I4823a575d499cd0d6f9f4cb62e0420e070a05214 Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
* | Remove stray <QtNetwork> includesAndrew Knight2015-03-304-3/+9
| | | | | | | | | | | | | | | | Module includes slow down the build when PCH is disabled, so don't use them. Change-Id: Ic0bf0d938ef06dea9dba6897df592311230a6529 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | Free d in QAudioBuffer &QAudioBuffer::operator =(const QAudioBuffer &).Friedemann Kleint2015-03-101-0/+2
| | | | | | | | | | | | | | Task-number: QTBUG-40571 Change-Id: Idc2dcc7d254873edda653b9c9eb8d88cbb91d4f6 Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | Merge dev into 5.5Oswald Buddenhagen2015-02-248-20/+22
|\ \ | | | | | | | | | Change-Id: I715a549b4cc10220a6e3b48799fdc38865a9345e
| * \ Merge "Merge remote-tracking branch 'origin/5.4' into dev" into refs/staging/devSergio Ahumada2015-02-226-11/+10
| |\ \
| | * | Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2015-02-136-11/+10
| | |\| | | | | | | | | | | | | Change-Id: I5575a4ba13212c9bfe73a3de3ef17c6528beafc3
| | | * Fix some typosSergio Ahumada2015-02-115-5/+5
| | | | | | | | | | | | | | | | | | | | Change-Id: Iaf8f50741d3103480668b4a654a202d8a363bc45 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
| | | * Clarify documentation for QImageCapture's 'ready' property.Yoann Lopes2015-02-101-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unlike what was described in the documentation, it's not permissible to call capture() while 'ready' or isReadyForCapture() is false. All backends emit an error in that case. Updated the documentation to reflect that behavior. Change-Id: Icb326e65376b65eadd4c68b67e0ee30beddf1a04 Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com> Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
| | | * Add the library prefix to QObject in public headerSergio Ahumada2015-02-041-1/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: I3add728003f4199fe7adec364487cc9b60a8c4cf Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
| * | | GStreamer 1.0: fix some problems with QGstVideoRendererSink.Yoann Lopes2015-02-181-8/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Correctly free resources on deletion. - Correctly stop the sink. We were stopping only when null caps were passed to set_caps() but that doesn't seem to always happen. Implement GstBaseSink.stop() which is always and consistently called by GStreamer. - Remove pre-roll support (as done previously for 0.10, see commit 3b20608f). Change-Id: I4c5808938f244f4f8a35e121a3a4a862588b752d Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
| * | | GStreamer: implemented QCameraViewfinderSettingsControl2.Yoann Lopes2015-02-181-1/+8
| | | | | | | | | | | | | | | | | | | | Change-Id: I4436e39c152f6c251792c1504d4a7b57db7b9d9a Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* | | | Fix some qdoc-warnings.Friedemann Kleint2015-02-232-4/+4
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | qtmultimedia/src/multimedia/qmediaserviceprovider.cpp:850: warning: Cannot find 'defaultDevice(...)' in '\fn' QMediaServiceSupportedDevicesInterface::defaultDevice(const QByteArray &service) const qtmultimedia/src/multimedia/qmediaserviceprovider.cpp:850: warning: Cannot find 'defaultDevice(...)' in '\fn' QByteArray QMediaServiceSupportedDevicesInterface::defaultDevice(const QByteArray &service) const qtmultimedia/src/multimedia/video/qabstractvideofilter.cpp:261: warning: Undocumented parameter 'parent' in QAbstractVideoFilter::QAbstractVideoFilter() Change-Id: I72bfc1dc7697cd1323cb7aad16539932ace9d8ea Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>