summaryrefslogtreecommitdiff
path: root/src/multimedia
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.9' into 5.105.10Liang Qi2018-02-021-1/+2
|\ | | | | | | Change-Id: I0564f22f9001d373ad03426dd6d9f584fbab7115
| * PulseAudio: Prevent crash when a sound device cannot be createdAndy Shaw2018-01-241-1/+2
| | | | | | | | | | Change-Id: I74436b9e8903dd3d38926497594ee195f31c81e6 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | qimagevideobuffer.cpp: Fix deprecation warningFriedemann Kleint2018-01-241-1/+1
| | | | | | | | | | | | | | video/qimagevideobuffer.cpp:92:44: warning: ‘int QImage::byteCount() const’ is deprecated: Use sizeInBytes [-Wdeprecated-declarations] Change-Id: I029083760b255e0bce48ab40e059da9c0a578f91 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2018-01-181-0/+9
|\ \ | |/ | | | | Change-Id: I7566f543ce11ff6cddc4d17e2c258a582f365b65
| * Document licensesKai Koehne2018-01-181-0/+9
| | | | | | | | | | Change-Id: I827a8de356f42217a64191a467fa850e3eb6f4ef Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2018-01-061-1/+4
|\ \ | |/ | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I3d6e69f3f99b2f0a0e2c29ffdd02176e1f22304e
| * Fix memory leak in QSoundEffectVaL Doroshchuk2017-12-141-1/+4
| | | | | | | | | | | | | | | | | | If qthread is being exited all objects that belong to it also should be cleaned up. Task-number: QTBUG-64407 Change-Id: Ida09fcfac7e1ee2741c6e1b76a672a7a5775addc Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | Update player state after QMediaPlayer::EndOfMediaVal Doroshchuk2017-12-201-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Return up-to-date player state if mediaStatusChanged() with QMediaPlayer::EndOfMedia is already received but stateChanged() is not. mediaStatusChanged() is always emitted first which could cause the player to keep outdated state before stateChanged() is received. Task-number: QTBUG-57197 Change-Id: I0706069d2f4875076442fdf8ac7e938272ab843c Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | PulseAudio: Fix deadlock for QSoundEffect in setMuted, setVolumeVaL Doroshchuk2017-12-192-7/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | The deadlock would happen when one of the protected functions were reentered, as the lock used was not recursive. Since reading and writing to the volume and muted properties don't happen that often, the rw-mutex was replaced by a normal non-recursive mutex, which is now unlocked before the property changed signal is emitted. Task-number: QTBUG-65220 Change-Id: I1a224e9ff03f14593a854a7c1049c8a0445e29e6 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | Doc: Maintain the list of highlighted examples locallyTopi Reinio2017-11-101-0/+3
| | | | | | | | | | | | | | | | | | | | Previously the list was maintained in qtbase. Also, add highlighting for 'Media Player Example'. Task-number: QTBUG-60627 Change-Id: I030863ac89e2bac6a2322a52afaece2cc1c8dcd3 Reviewed-by: Nico Vertriest <nico.vertriest@qt.io>
* | Update to new QRandomGenerator APIv5.10.0-beta4Thiago Macieira2017-11-032-3/+3
| | | | | | | | | | Change-Id: I69f37f9304f24709a823fffd14e676c097712329 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2017-10-2719-75/+110
|\ \ | |/ | | | | | | | | | | | | | | Conflicts: .qmake.conf examples/multimedia/declarative-radio/view.qml src/plugins/qnx/mediaplayer/mmrenderermediaplayercontrol.h Change-Id: I97b507878b6de04ec38ddd13530e58b8f72390e4
| * Fix license of .cpp files to LGPLKai Koehne2017-10-182-26/+50
| | | | | | | | | | Change-Id: I389c8eae55f6bded71978f3d275db419b9d32a2e Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
| * Fix outdated BSD license headerKai Koehne2017-10-181-3/+13
| | | | | | | | | | Change-Id: I386d30a54819bae016cb50cf5892a5ac380288f9 Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
| * Fix outdated FDL license headerKai Koehne2017-10-1815-45/+45
| | | | | | | | | | Change-Id: I9cd7043058352ba2aeded74f86d863fca29bd37d Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
| * Fix loading remote m3u filesVaL Doroshchuk2017-10-091-1/+2
| | | | | | | | | | | | | | | | | | Fixed a case where it was not possible to load remote m3u files as the parser would start, and fail, before the file was received. Task-number: QTBUG-62255 Change-Id: If730539dbfd25c9ef2ab97a05af3a50c685a304b Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | Update Android dependencies with private library name changeEskil Abrahamsen Blomfeldt2017-09-261-2/+2
| | | | | | | | | | | | | | | | | | | | In c74de91cb075ce407e0205d1f810dabb299779ce, the QtMultimediaQuick_p library was renamed and the _p suffix was removed. However, this was not updated in the Android dependencies. Task-number: QTBUG-63002 Change-Id: I3c06c688f238f8fb7222e013fb2d3b1bc9309d03 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | PulseAudio: Support 24 bit framesVaL Doroshchuk2017-09-261-13/+16
| | | | | | | | | | | | | | | | | | Applied 24 bits frames support and also stronger restrictions for supported formats: https://freedesktop.org/software/pulseaudio/doxygen/sample.html Task-number: QTBUG-63427 Change-Id: If5372217cbf16c1152db55748adcfbd61263403d Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | PulseAudio: allow to disable the pulseaudio autospawn featureBartosz Golaszewski2017-07-121-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | By default pa_context_connect() tries to spawn a new pulseaudio instance if it the connection fails. This is not always desirable. Add a new environment variable: QT_PULSE_NOAUTOSPAWN which - when set - will make QSoundEffect pass the PA_CONTEXT_NOAUTOSPAWN flag to pa_context_connect() thus disabling the autospawn feature. Change-Id: I623639fd5a262c8fefbd683fa9481916e79bdf0e Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | PulseAudio: allow to specify the pulseaudio server stringBartosz Golaszewski2017-07-121-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | Currently we call pa_context_connect() with an empty server string. This works fine if we only want to connect to the default pulseaudio server, but we may want to specify the server string on systems with custom configuration. Add a new environment variable: QT_PULSE_SERVER_STRING which allows to specify the server string passed to pa_context_connect(). Change-Id: I6805ff5e941d13bc91d306e5df3ab5d04a8a90af Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devChristian Strømme2017-07-072-3/+3
|\ \ | |/ | | | | Change-Id: Ifda1f02b8458a4fbe85d8bc27e61d4646147d82c
| * Doc: Fix wrong slashRainer Keller2017-07-071-1/+1
| | | | | | | | | | Change-Id: I979c7d8d01b00689269a7969b628864ca5eab991 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
| * PulseAudio: fix a pthread_mutex crash in error pathBartosz Golaszewski2017-07-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QSoundEffect (pulseaudio) uses a workaround for stability issues: although the pulseaudio mainloop mutex is recursive, it utilizes a separate lock counting. This is not the best solution, but it is a part of a larger set of changes which improved the stability in CI under heavy load. QSoundEffect always calls pa_threaded_mainloop_lock/unlock() from the same thread so the additional lock counting works in normal situation even though it doesn't use atomic types. However if pa_context_connect() fails, pa_threaded_mainloop_unlock() is called without regard to current lock count. This leads to random double-unlock aborts if pa_context_connect() fails more than once (e.g. after the reconnect scheduled from onContextFailed()). Fix this by always using the PulseDaemon wrappers around pa_threaded_mainloop_lock/unlock(). Task-number: QTBUG-61725 Change-Id: I41eb9a76892a6646fd5620ef8f686473b339464f Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | Use QRandomGenerator instead of q?randThiago Macieira2017-06-302-3/+5
| | | | | | | | | | Change-Id: Icd0e0d4b27cb4e5eb892fffd14b5285d43f4afbf Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | turn QGstTools into a proper private moduleJochen Seemann2017-06-1218-65/+155
| | | | | | | | | | | | | | | | | | | | This patch moves the QGstTools lib to a private Qt module and marks the needed classes and functions with Q_DECL*, to improve cross-platform abilities. It's the first step to use the GStreamer backend on macOS and Windows platform. Change-Id: Idc23c72bcccb52dd501e169e9dfdc227856787fa Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-06-073-9/+11
|\ \ | |/ | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I20470ed193e818eefedd975d89f755fb9d673241
| * Emit the StoppedState change after the file has finished writingAndy Shaw2017-05-231-0/+4
| | | | | | | | | | | | | | | | | | | | | | Where possible, we should be emitting the stateChanged() signal to StoppedState when we know the file is no longer being written to. The finializing status can be used to indicate it is finishing and when it is actually finished then StoppedState should be used. Task-number: QTBUG-50588 Change-Id: Ie3ac1c5cd00a6a36978e72b5485622e3302054ce Reviewed-by: Christian Stromme <christian.stromme@qt.io>
| * Fix build for -no-feature-temporaryfileStephan Binner2017-05-081-0/+4
| | | | | | | | | | | | | | | | | | If a backend does not support streaming then playing from qrc is impossible for -no-feature-temporaryfile case. Change-Id: Ibb0518c4afe0598c6f3a1c03b75cc00e76b8eead Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Christian Stromme <christian.stromme@qt.io>
| * de-duplicate gstreamer_encodingprofiles configure testsOswald Buddenhagen2017-05-081-9/+3
| | | | | | | | | | | | | | take advantage of the system now supporting 'use' by exported name. Change-Id: I7879d4c2e31b279bbbe17916e805ee60c108351d Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-04-211-7/+4
|\ \ | |/ | | | | Change-Id: I06cd631ca9d3b6b2ed5709a7697a26b9eb7171d1
| * Remove newlines from JSON stringsPaul Olav Tvete2017-04-031-6/+3
| | | | | | | | | | | | | | Newlines in strings are not allowed by the JSON standard. Change-Id: I0ee0b699f0b1157443662028605689931681abcd Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * wasapi: Enable config tests on windowsMaurice Kalinowski2017-03-211-1/+1
| | | | | | | | | | | | | | | | | | The initial commit disabled running the wasapi config tests for unknown reason. Re-enable them again for windows builds. Task-number: QTBUG-59527 Change-Id: I0c8485911b49e657833376de0633fc81e3789e86 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | io-audio based audio management for QNX 7.0.0James McDonnell2017-03-272-8/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add code to setup and handle io-audio based audio management notifications. Add InterruptedState to QAudio::State. Indicates that this stream is in a suspended state because another higher priority stream currently has control of the audio device. Playback cannot resume until the higher priority stream relinquishes control of the audio device. Adjust the documentation for QAudio::State SuspendedState to reflect the fact that audio management events can also put the stream into this state. Add InterruptedState handling to the spectrum example. Change-Id: Ie8616af03ae4c503de1d0571a222e5853035cc0e Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | Use qFuzzyCompare() instead of equality on floating-point valuesEdward Welbourne2017-03-221-1/+4
| | | | | | | | | | | | | | | | | | | | QCamera::FrameRateRange is a struct with two qreal members; its operator== was comparing the members; which triggered a -Wfloat-compare that's an error in developer builds. This is what qFuzzyCompare() takes care of, so use it. Change-Id: Id45a2a7e9b6ccbf575bdedb5b90889859899bf38 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-03-217-85/+82
|\ \ | |/ | | | | Change-Id: Ifd122e78933870e39e0e79d78930931d8ce10dba
| * Merge remote-tracking branch 'origin/5.8' into 5.9Liang Qi2017-03-105-84/+37
| |\ | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/gstreamer/camerabin/camerabincontainer.h Change-Id: I4942d41d69112335fe0c994002f1b32ef3aad051
| | * Use QT_CONFIG macro to check for featuresLars Knoll2017-02-273-6/+4
| | | | | | | | | | | | | | | | | | | | | And remove many custom defines. Change-Id: I658cc8430d1d99ed3c0aafe03a77adce76621a29 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
| | * Make pulseaudio dependency privateAlexander Volkov2017-02-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Otherwise projects that depend on multimedia module fail to build. Change-Id: I44a614fd3b2bea934149f8bf55eaeb17069258d5 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| | * actually delete obsolete qmultimediadefs.hOswald Buddenhagen2017-02-021-71/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | defining a deprecated forwarding header leads to all kinds of "interesting" effects when the header is actually still there. amends 24a1c04b. Task-number: QTBUG-58432 Change-Id: I4a32bd55fe7bd14e1aff2f3a6ca46439ce1510de Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | * Suppress the -Wfloat-equal warningThiago Macieira2017-01-261-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | qcamera.h:261:36: error: comparing floating point with == or != is unsafe [-Werror=float-equal] Task-number: QTBUG-57649 Change-Id: I15b62e0f9cec482fbb40fffd1490df20dda23c46 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
| | * Merge remote-tracking branch 'origin/5.8.0' into 5.8Liang Qi2017-01-261-6/+26
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/multimedia/configure.json Change-Id: Ide124447e1667f0b6557b6ab1ba7188ae76772c5
| | | * Fix building the WMF pluginYoann Lopes2016-12-131-7/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9df63fd6 made it possible to build only the audio decoder service from the WMF plugin. When that change was merged to 5.8 it was not ported to the new configuration system. Added a new '-mediaplayer-backend' configure option to select the media player backend to use on Windows. '-wmf-backend' is kept for backward compatibility. Change-Id: I902b2e4147f9a05b92118152020afc2638bf41e1 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * | | Disable the ALSA plugin for QNXJames McDonnell2017-02-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The QNX ALSA implementation isn't compatible with the generic ALSA plugin. QNX has its own ALSA plugin. The old configure system didn't test for ALSA support on QNX, but the new configure system does test for it. A porting error. With an official QNX SDP, this isn't a problem, because the ALSA headers aren't in the expected location, so the test fails. With some QNX internal SDPs though, the ALSA headers are in the expected location, so the test succeeds. Change-Id: Id62aa4c17c683397545bf42fc5b741f25b719360 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * | | doc: add platform specific notes for iOSRichard Moe Gustavsen2017-02-142-0/+44
| | | | | | | | | | | | | | | | | | | | Change-Id: I5635f4d5ec4b86a3e8be1e74b58b46359ac17df4 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* | | | MediaPlayer: fix crash on pause() call in onPositionChanged handlerOleg Yadrov2017-02-061-1/+7
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Once a second QMediaObjectPrivate iterates through the properties registered with QMediaObject::addPropertyWatch call and invokes their %propertyName%Changed signals. It does it using C++11 range-based for loop. MediaPlayer::pause() and MediaPlayer::stop() calls led to removePropertyWatch(“position”) call, which removed “position” property index from notifyProperties container and invalidated iterator in the loop. Task-number: QTBUG-57045 Change-Id: I855aa004a30dc78b61dbd3423dae0a771e68fda4 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | | Make QAudioSystemPlugin doc visible.Yoann Lopes2017-01-272-4/+0
| | | | | | | | | | | | | | | Change-Id: I0384fd6069349f321e60ffedd03834f1c46f634b Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | | Merge remote-tracking branch 'origin/5.8' into devYoann Lopes2017-01-261-16/+94
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf examples/multimediawidgets/videographicsitem/videoplayer.h src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp Change-Id: Id5ce05ffe2cd25657232157b162680b2e24a35ba
| * | PulseAudio: make sound effect implementation more robustYoann Lopes2016-12-121-16/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Always lock the pulse thread when modifying variables that are also used in callbacks (prevents concurrent access). - Improved handling of repeated calls to setSource(). - Don't try to write to the device when there is nothing to write. - Stop the Pulse thread when there are no sound effects in use anymore. Task-number: QTBUG-55735 Change-Id: I5e1c6beab89fdbb98707f5fcbb539dddea9a333f Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | | GStreamer: Add missing override and remove redundant virtualAlexander Volkov2016-12-1312-81/+81
| | | | | | | | | | | | | | | Change-Id: I61997676d7f002e769de499b19cbea3d96876480 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | | Add missing override and remove redundant virtualAlexander Volkov2016-12-1230-171/+171
| | | | | | | | | | | | | | | Change-Id: Ifd439abf21877adff57080489324bea729ee5279 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>