summaryrefslogtreecommitdiffstats
path: root/src/multimedia
Commit message (Collapse)AuthorAgeFilesLines
* QSound(Effect): Use C++11 member initializationv5.11.0-beta3Andre Hartmann2018-03-276-77/+48
| | | | | Change-Id: Iec7442f4621ad131bf6291e0f5d013ee379c5e3b Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* QSound: Fix comment typosAndre Hartmann2018-03-271-3/+3
| | | | | Change-Id: I13cf879be6fc6225552990b8196aeb39299b8e3f Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* QSound(Effect): Convert to functor-style connectAndre Hartmann2018-03-275-34/+41
| | | | | Change-Id: Ie58ee30b1ace836c620812b8063246c0d01d7214 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* QSoundEffectPrivate: Use nullptr instead 0 or NULLAndre Hartmann2018-03-232-37/+39
| | | | | | Change-Id: I62e3d4d1284adeea457d754d63650b5c9b81e276 Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io> Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* Support changing of volume in 24-bit audio samplesVaL Doroshchuk2018-03-221-0/+49
| | | | | | | | Introduced a fix to support changing of volume for 3 bytes samples audio stream. Task-number: QTBUG-60579 Change-Id: I4ba4a9a1cf65812ccbc46b40c78546875d5e4d73 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* Gstreamer: Fix setting vaapi sink propertiesVaL Doroshchuk2018-03-211-17/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Since vaapi and xvimage sinks require different ranges for the properties: brightness, contrast, hue, saturation. Added support of vaapi ranges. It also fixes problem when contrast was always 0 as default value which led to always show black screen. - brightness xvimage: Allowed values: [-1000,1000], Default value: 0 vaapi: Allowed values: [-1,1], Default value: 0 - contrast xvimage: Allowed values: [-1000,1000], Default value: 0 vaapi: Allowed values: [0,2], Default value: 1 - hue xvimage: Allowed values: [-1000,1000], Default value: 0 vaapi: Allowed values: [-180,180], Default value: 0 - saturation xvimage: Allowed values: [-1000,1000], Default value: 0 vaapi: Allowed values: [0,2], Default value: 1 Task-number: QTBUG-23761 Change-Id: I8fda8ce4c6f47c4567e67c670f802a0e9f55af6e Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* Merge remote-tracking branch 'origin/5.9' into 5.11v5.11.0-beta1Liang Qi2018-02-181-1/+1
|\ | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I2af17ff905c26466fa1ea8b612dff3b505a3d33a
| * fix typo in QCameraImageProcessing documentationJochen Seemann2018-02-051-1/+1
| | | | | | | | | | | | | | Task-number: QTBUG-55660 Change-Id: I444bef63c0b8d9a9f9fdbce8e3ceabb067c1fe84 Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io> Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | Fix typosJarek Kobus2018-02-141-1/+1
| | | | | | | | | | Change-Id: I05983bca18d41ca6440e5e0b04102a8ac8e42136 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | Merge remote-tracking branch 'origin/5.10' into 5.11Liang Qi2018-02-122-2/+3
|\ \ | | | | | | | | | Change-Id: I397c78d33594f4b64d9718cd1b180fa0cee1e5bc
| * | 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>
* | | add mirrored API to QVideoSurfaceFormatJochen Seemann2018-02-012-0/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | Adds setters and getters for the already implemented property of QVideoSurfaceFormat. Task-number: QTBUG-47606 Change-Id: Icf509af80c13e80568645d90c6a621cd30cf776c Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | | Merge remote-tracking branch 'origin/5.10' into devLiang Qi2018-01-201-0/+9
|\| | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/avfoundation/mediaplayer/avfmediaplayersession.h src/plugins/avfoundation/mediaplayer/avfmediaplayersession.mm Change-Id: Ic43fb2a805ed9f0f2ea48993d47859716f1f11b4
| * | 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>
* | | Doc: Fix clang-qdoc diagnostic warningsVenugopal Shivashankar2018-01-081-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - qtmultimedia/src/multimedia/audio/qaudiobuffer.cpp:533: (qdoc) warning: clang found diagnostics parsing \fn QAudioBuffer::StereoFrame::StereoFrame() - qtmultimedia/src/multimedia/audio/qaudiobuffer.cpp:540: (qdoc) warning: clang found diagnostics parsing \fn QAudioBuffer::StereoFrame::StereoFrame(T leftSample, T rightSample) - qtmultimedia/src/multimedia/audio/qaudiobuffer.cpp:546: (qdoc) warning: clang found diagnostics parsing \fn QAudioBuffer::StereoFrame::operator=(const StereoFrame &other) - qtmultimedia/src/multimedia/audio/qaudiobuffer.cpp:553: (qdoc) warning: clang found diagnostics parsing \fn QAudioBuffer::StereoFrame::average() const - qtmultimedia/src/multimedia/audio/qaudiobuffer.cpp:559: (qdoc) warning: clang found diagnostics parsing \fn QAudioBuffer::StereoFrame::clear() - qtmultimedia/src/multimedia/audio/qaudiobuffer.h:120: (qdoc) warning: No documentation for 'QAudioBuffer::StereoFrame::average() const' - qtmultimedia/src/multimedia/audio/qaudiobuffer.h:121: (qdoc) warning: No documentation for 'QAudioBuffer::StereoFrame::clear()' Change-Id: Icd06a43d4684b2106a74d2bc408f9ab8b7572d7b Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | | Merge remote-tracking branch 'origin/5.10' into devLiang Qi2018-01-065-9/+29
|\| | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I5acdc7e0bd3729b80522dfff0f388cf2507fb111
| * | 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>
* | | Merge remote-tracking branch 'origin/5.10' into devLiang Qi2017-11-202-3/+3
|\| | | | | | | | | | | Change-Id: Icaf645e271b21320c4cb6269178d9e722092a263
| * | 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.10' into devLiang Qi2017-10-2719-75/+110
|\| | | | | | | | | | | Change-Id: Ib509a8c90dd6c7229510a400612cc27a4957d015
| * | 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>
* | | Merge remote-tracking branch 'origin/5.10' into devLiang Qi2017-10-192-15/+18
|\| | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/qnx/mediaplayer/mmreventmediaplayercontrol.h Change-Id: Ic6e27742ef6d1af0532ad05902a1431ebd5f449d
| * | 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>
* | | Replace Q_NULLPTR with nullptrKevin Funk2017-09-2758-100/+100
| | | | | | | | | | | | | | | Change-Id: I3b7601b4a97f8a2b1d2da6ef134f1577846ba713 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Update customAudioRole Qt versionJames McDonnell2017-09-193-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | The change missed the Qt 5.10 release. Change-Id: I25bc345ac8262966ca31e63f4f87584983fa0bae Reviewed-by: Dan Cape <dcape@qnx.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | | Android: remove support for local/debug deploymentJake Petroules2017-09-061-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This removes the pre-dexed JAR files activated by the absence of the bundled_jar_file CONFIG option, as versions of Android >= 5 no longer support this deployment mechanism. Now, the "bundled" JARs simply become normal JARs containing class files, and are neither activated by a bundled_jar_file CONFIG entry nor do they have a -bundled suffix in the file's base name. Task-number: QTBUG-62995 Change-Id: Ib53cbfe1009aa7e37de109dc317a58968854bf59 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* | | Add custom audio role API to QMediaPlayerJames McDonnell2017-09-067-6/+298
|/ / | | | | | | | | | | | | | | | | | | | | | | Allows use of audio roles beyond those known to Qt. [ChangeLog][QMediaPlayer] Added customAudioRole string property to enable use of audio roles beyond those available via the audioRole enum property. Change-Id: Id7ed5d7bc1af0c15910e699f25c97cfed2d48243 Reviewed-by: Christian Stromme <christian.stromme@qt.io> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* | 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>