summaryrefslogtreecommitdiffstats
path: root/src/plugins
Commit message (Collapse)AuthorAgeFilesLines
* Cleanup all maemo/meego specific codeLars Knoll2016-11-1414-248/+10
| | | | | Change-Id: I6c6f28084c6b030928eebc53c5d0009b168ede6a Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* Move qtmultimedia over to the new config systemLars Knoll2016-11-1415-55/+47
| | | | | | | | | | | | Use the new configuration system to define external libraries, configure tests and features. Don't use pkg-config outside of the configuration step. And move all command line options over from qtbase, so that we can remove them from there in a second step. Change-Id: I1aa4b557a6aee17eeceb00602005a2d28b426a26 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-11-1120-39/+49
|\ | | | | | | | | | | | | | | | | | | Conflicts: qtmultimedia.pro src/multimedia/playback/qmediaplayer.cpp src/plugins/directshow/directshow.pro tests/auto/integration/qmediaplayerbackend/BLACKLIST Change-Id: I6dacdcbb223c1d12dd72eb308a67170983c709b3
| * Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-11-0420-39/+49
| |\ | | | | | | | | | Change-Id: Ib038c5e3ebb48c0e46569a35d530fa5ceaf06a32
| | * WMF: make it possible to build only the audio decode serviceYoann Lopes2016-11-0213-14/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The WMF plugin can now be built without the media player service. That enables the audio decode service even when DirectShow is used as media player backend. The default configuration on Windows is now: Camera, MediaPlayer -> DirectShow AudioDecode -> WMF Change-Id: Ic6f3c85ed849e0c603719cfb03794e6abd2d52fa Reviewed-by: Christian Stromme <christian.stromme@qt.io>
| | * WindowsAudio: fix volume when using multiple QAudioOutputsYoann Lopes2016-11-021-13/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We were using Windows' waveOutSetVolume() function to set the volume on an audio stream. That function applies the volume on the sound device and not on a particular stream, meaning all QAudioOutputs and QSoundEffects were sharing the same volume. All Qt audio streams are supposed to have their volume controllable separately; in order to respect that, we now apply the volume ourselves on the data before writing it to the device. Task-number: QTBUG-43765 Task-number: QTBUG-48049 Change-Id: I407588ca40cf4216454431fe3e6ce4d8740f391d Reviewed-by: Christian Stromme <christian.stromme@qt.io>
| | * Mark AndroidCameraInfo as movableChristian Strømme2016-11-011-0/+1
| | | | | | | | | | | | | | | Change-Id: I00b8444e00cbf3dc0d4a7c2ff8b83e217a8966f5 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
| | * Change PLUGIN_DISABLE_MMAP to PLUGIN_MMAPJames McDonnell2016-10-312-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PLUGIN_DISABLE_MMAP has been deprecated since 6.6.0 and it was recently removed from 7.0.0. PLUGIN_MMAP is favored as of 6.6.0. The DISABLE in the value name is unnecessary because the value is only used to call a function whose name already indicates that's how it'll be used. Change-Id: Ie714f0fe8e874bbd1c7d8ee998f5a65f38f24fd2 Reviewed-by: Dan Cape <dcape@qnx.com> Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
| | * Android: emit mediaStatus changes before state changesYoann Lopes2016-10-281-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | This makes sure all mediaStatus changes are emitted, even when some action is done on the media player as a result of a state change. Task-number: QTBUG-49578 Change-Id: I89594da2c2efc71103a7aa64f598eea4097425f6 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
| | * WMF: fix incorrect pointer dereferenceYoann Lopes2016-10-211-1/+1
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-56134 Change-Id: I9c8799a96ff08f2657e4879dfbe14de3bfe3d25f Reviewed-by: Christian Stromme <christian.stromme@qt.io>
| | * GStreamer: emit mediaStatus changes before state changesYoann Lopes2016-10-061-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | This makes sure all mediaStatus changes are emitted, even when some action is done on the media player as a result of a state change. Task-number: QTBUG-49578 Change-Id: I60153cd8e1d665797a25549ab81afcfb553ce2cc Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | | Alsa: Use QVarLengthArrayv5.8.0-beta1Friedemann Kleint2016-10-212-7/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix g++ / Clang warnings: alsaaudioinput.cpp: In member function 'qint64 QAlsaAudioInput::read(char*, qint64)': qalsaaudioinput.cpp:530:36: warning: variable length array 'buffer' is used [-Wvla] qalsaaudiooutput.cpp: In member function 'qint64 QAlsaAudioOutput::write(const char*, qint64)': qalsaaudiooutput.cpp:570:23: warning: variable length array 'out' is used [-Wvla] (variable length arrays being C99 features). Change-Id: Id5024af7a42dffb56fbbeda59e1fadb41c660e41 Reviewed-by: Christian Stromme <christian.stromme@qt.io> Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | | Merge remote-tracking branch 'origin/5.7' into 5.8Yoann Lopes2016-10-112-53/+59
|\| | | | | | | | | | | Change-Id: I8cfa9cb233675bb7ff842118d96ec8ac0b97964f
| * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-10-042-53/+59
| |\| | | | | | | | | | | | | | | | | | | Conflicts: tests/auto/integration/qaudiooutput/tst_qaudiooutput.cpp Change-Id: I4a30fc030c25e7b8da3eb9f386c4a5fa468df141
| | * AVFoundation: fix metadata controlYoann Lopes2016-09-272-53/+59
| | | | | | | | | | | | | | | | | | | | | | | | Correctly emit metaDataAvailableChanged and metaDataChanged signals. Task-number: QTBUG-46368 Change-Id: Ic79acd519b47f4d864fa335c8f75758fe9185c39 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | | winrt: Fix crash when locking/unlocking focusMaurice Kalinowski2016-10-111-39/+59
| | | | | | | | | | | | | | | | | | | | | | | | The lock/unlock operation has to be created in the Xaml thread. Task-number: QTBUG-56034 Change-Id: I450ad0ba4a8f1275f878917bcd16c31fbf87e164 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | | Correctly include multimedia plugins in iOS and tvOS buildsJake Petroules2016-10-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was broken by the removal of exclusive simulator and device builds, (and so would be difficult to express in the new system), but it's not clear why it was ever necessary to exclude these plugins from simulator builds at all, so enable them everywhere. Change-Id: Iff184820cc98973d8928184a4a63793c66275d0b Reviewed-by: Mike Krus <mike.krus@kdab.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | | GStreamer: Support video probe on QCameraDaniel Nicoletti2016-09-233-4/+16
| | | | | | | | | | | | | | | Change-Id: I54889a72346da24654c8a0618056c14999ecf71e Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | | Merge remote-tracking branch 'origin/5.7' into 5.8Yoann Lopes2016-09-232-18/+60
|\| | | | | | | | | | | Change-Id: I96aca24df935d51b40380c727b6c5002432a6be6
| * | Merge remote-tracking branch 'origin/5.6' into 5.7Yoann Lopes2016-09-222-18/+60
| |\| | | | | | | | | | Change-Id: I5bce2843ac62bb97efc1ccaaa9c671c4adf10640
| | * GStreamer: print a warning when the camerabin plugin is missingYoann Lopes2016-09-211-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | Don't create the camera service when the camerabin plugin is not available on the system and print a warning. Task-number: QTBUG-50775 Change-Id: I56c7e6297bebe4b90596cb3c0323f1d38231bceb Reviewed-by: Christian Stromme <christian.stromme@qt.io>
| | * PulseAudio: make code more robustYoann Lopes2016-09-211-17/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some asynchronous operations return a pa_operation pointer, which can be null if the operation fails. In some cases we were not checking that the returned object was non null, leading to some asserts being raised in pa_operation_unref. Change-Id: Iff1cc67b7f79b758fa81d79e658debb1d737b29f Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | | Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-09-196-101/+116
|\| | | | | | | | | | | Change-Id: I022c07dab3ded6072f7c103e299822caaf40cf34
| * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-09-171-0/+2
| |\| | | | | | | | | | Change-Id: I27d68b69f2ad15e930b6adab5b2ff583f4642fac
| | * DirectShow: support MJPEG camerasYoann Lopes2016-09-161-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Map MEDIASUBTYPE_MJPG to QVideoFrame::Format_Jpeg, which makes sure that cameras that only support MJPEG are configured properly. Task-number: QTBUG-55359 Change-Id: I732c56afc51109aba0231c8537f795e8d276c194 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
| * | wasapi: fix typo for supported ratesMaurice Kalinowski2016-09-131-1/+1
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-55630 Change-Id: I2f5defd78fbdd57e6121dde0287b615f7db8848b Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| * | wasapi: Fix thread affinityMaurice Kalinowski2016-09-134-100/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is expected from the user side that the QIODevice passed to the audio input/output is handled in the very same thread it has been created in. Previously we used the worker thread for it. Instead, schedule handling a buffer to the GUI thread and move on. This also helps simplifying many of the emits, as they happen in the same thread as the target device. Task-number: QTBUG-55894 Change-Id: I552a7a41562dccbaae5681e3c416267165720d30 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | | winrt: Add QCameraFlashControlMaurice Kalinowski2016-09-196-0/+286
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is without video modes so far, simply because video itself is not supported yet. Also included a cleanup for string conversions. Task-number: QTBUG-48541 Change-Id: Ib090f61861596e095d597cf7e5e74f7040fbc58f Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | | winrt: Make focus actions synchronousMaurice Kalinowski2016-09-192-92/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The camera and its controls have been moved out of the xaml thread recently, hence acting asynchronously is not required anymore for the focus control. In addition to this, previous behavior caused troubles inside QML as QDeclarativeCameraFocus::setFocusMode always emitted a focus change even though it did not happen yet. This resulted in inconsistencies between QML and the plugin. Task-number: QTBUG-48539 Change-Id: I19a3a3512530b01b627476e233291d737cfee11f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Samuel Nevala <samuel.nevala@intopalo.com> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | | Fix compilation after feature modularization in qtbaseLars Knoll2016-09-191-0/+1
| | | | | | | | | | | | | | | Change-Id: I7449a68cfb76798e9c4e3101da4a4e3ab713d4be Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | | winrt: Fix QAudioDeviceInfo::default*Device to return name instead idMaurice Kalinowski2016-09-071-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3c5bbb0dac7bed3199ddddc88c0175d5a2ac1036 added the default* functions to query a default device. However, IMediaDeviceStatics can only return ids and not the device names. Hence we need to invoke availableDevices to create the internal mapping and return the device name to properly initialize audio devices afterwards. Task-number: QTBUG-55631 Change-Id: I38b9205a933de5e41296a2e5880d0379db41ad97 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | | Merge remote-tracking branch 'origin/5.7' into 5.8Yoann Lopes2016-09-015-16/+116
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/multimedia/audio/qaudiosystemplugin.cpp src/plugins/directshow/helpers/directshowobject.cpp src/plugins/directshow/player/directshowiosource.cpp src/plugins/directshow/player/directshowiosource.h Change-Id: I0e4632c7705128f81429ddbcb0d4abbc04858a8b
| * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-08-276-16/+125
| |\| | | | | | | | | | Change-Id: I639d42e78a2b85e939c9f8e9dd5da70cdc058857
| | * OpenSL ES: Fix EOS handlingChristian Strømme2016-08-251-2/+11
| | | | | | | | | | | | | | | | | | | | | This fixes the remaining auto tests that were failing. Change-Id: I3b31263e7912422407cb98b4bf2db7080bcfc1a8 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
| | * OpenSL ES: Release audio device source in push modeChristian Strømme2016-08-251-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | The IO device was leaking in push mode, as a new one was created each time start was called. Change-Id: I78bb45e9e4e801772e88104b11d7baedc9e91ba8 Reviewed-by: Michael Dippold <michael.dippold@us.thalesgroup.com> Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
| | * OpenSL ES: Stop the device if it's not stopped alreadyChristian Strømme2016-08-241-0/+7
| | | | | | | | | | | | | | | | | | Change-Id: I4a9906d2d5aa1eaf8e67773f79ca217150a53ce5 Reviewed-by: Michael Dippold <michael.dippold@us.thalesgroup.com> Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
| | * OpenSL ES: Reset states before startingChristian Strømme2016-08-241-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | Some of the state variables were not reset correctly. Change-Id: I22113072320dd1812529c598cda1a5f6cc8c780b Reviewed-by: Michael Dippold <michael.dippold@us.thalesgroup.com> Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
| | * DirectShow: Restore negotiation of sample type in the io filterChristian Stromme2016-08-233-11/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This functionality was removed in d44a327da4a956f62cc0d51, but is still needed, as we need to negotiate the media type with the input pin; even if we limit the scope to streaming types. Task-number: QTBUG-55264 Change-Id: I7cc02c5ea17cca9912c29c40813314b04b91bd18 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
| | * OpenSL ES: Fix buffer corruptionMichael Dippold2016-08-221-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When start is called, the buffer is always filled starting from index 0 without regard to m_nexBuffer. m_nextBuffer could be set to 1 from the previous playback which causes the second buffer to be filled first, which is now the currently playing buffer. This is causing an audible hiccup right after starting in cases where m_nextBuffer starts at 1. Change-Id: Ia0d73638350d5258a51943d7a1c7cd6f22d068ee Reviewed-by: Christian Stromme <christian.stromme@qt.io>
| | * AVFoundation: fix memory leakYoann Lopes2016-08-221-3/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using 'self' in a block maintains a strong reference to it, the previous code would never release that reference and therefore leak the AVFMediaPlayerSessionObserver object when the session was deleted. Captured variables used in the relevant block are now marked with '__block' to make sure no strong references are maintained. We now also make sure the session still exist when that callback block is called. Change-Id: I847b524d8692559fe5884517abb5b9cc7696b4fd Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
| | * Fix instance method not found warningJake Petroules2016-08-171-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | NSView/UIView were only forward declared here which led to warnings when calling methods on instances of them. Change-Id: Ic2b391bb0ed8d45306dc16e2a807ce7fcae5015e Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* | | Adjust to qtConfig() changes in qtbaseLars Knoll2016-08-193-4/+4
| | | | | | | | | | | | | | | | | | Change-Id: I26d80ece18abf882338de5ce0258469ed103a0eb Reviewed-by: Yoann Lopes <yoann.lopes@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | | Disable some plugins on watchOSJake Petroules2016-08-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | The dependent libraries are not available on that platform. Change-Id: If8a5d1238c631323f2ff32ac03694840f43ca862 Reviewed-by: Mike Krus <mike.krus@kdab.com> Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
* | | Merge remote-tracking branch 'origin/5.7' into devLiang Qi2016-08-1758-667/+900
|\| | | | | | | | | | | Change-Id: Ib8d05d6e21c7beb19f618cd1edc52d248b1e43b8
| * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-08-1311-93/+158
| |\| | | | | | | | | | Change-Id: I3204cdf695f4b47730a88a7c41fc7a6de967b161
| | * WinRT: emit mediaStatus changes before state changesYoann Lopes2016-08-121-13/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes sure all mediaStatus changes are emitted, even when some action is done on the media player as a result of a state change. Also, when both mediaStatus and state are changed at the same time, make sure both variables are updated before sending the corresponding signals. Task-number: QTBUG-49578 Change-Id: I8eed6692503bba1540070f6435b7ea1f5e25c023 Reviewed-by: Andrew Knight <andrew.knight@intopalo.com> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Christian Stromme <christian.stromme@qt.io> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
| | * AVFoundation: fix mediaStatus and state changesYoann Lopes2016-08-121-6/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When both state and mediaStatus are updated at the same time, make sure both variables are updated before emitting the corresponding signals. Also, always emit mediaStatusChanged() signals before stateChanged() to make sure mediaStatus changes are not cancelled by some action resulting from a state change. Task-number: QTBUG-49578 Change-Id: I0caea8261120595227834dbac7fed286d125bcab Reviewed-by: Christian Stromme <christian.stromme@qt.io>
| | * Android: Fix texture leak in QAndroidTextureVideoOutputChristian Strømme2016-08-124-55/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Simplify the ownership of the OpenGL resources and make it simpler to release individual resources as needed. Previously we would reset the texture handle without releasing it back to the system, making us leak texture each time the video output was reset. Also, be consistent with the type used for the texture handle. Task-number: QTBUG-54340 Change-Id: Ic3b3c7322677a909e51aa5983fa99ccf8b290302 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
| | * Android: fix freeze when taking pictures on some devicesYoann Lopes2016-08-122-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | On some devices and on the emulator, the preview callback must be cleared before taking a picture to avoid a camera server freeze. Task-number: QTBUG-54709 Change-Id: I9e4ad417fa08cddea7edfd232f5b5df40ada59ee Reviewed-by: Christian Stromme <christian.stromme@qt.io>
| | * Android: restart preview when image capture failsYoann Lopes2016-08-121-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | The preview must be restarted after taking a picture but were doing that only when the capture succeeded. We now also do it when it fails. Change-Id: I8bfff06a811d9333220050e5e81561438f5a3786 Reviewed-by: Christian Stromme <christian.stromme@qt.io>