summaryrefslogtreecommitdiffstats
path: root/src/plugins
Commit message (Collapse)AuthorAgeFilesLines
* Add find modules for 3rd party libraries and fix CMake filesDoris Verria2021-01-282-1/+40
| | | | | | | | | Detect gstreamer, avfoundation, pulseaudio, alsa, mmrenderer and wmf with cmake. Regenerate and adjust configure.cmake and CMakeLists.txt files accordingly. Change-Id: I550136909498d3870e0babd6294652774a718f64 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Get rid of plugins for MM backendsLars Knoll2021-01-22360-65750/+0
| | | | | | | | | | There's no need for having those in plugins and we can further remove abstractions and simplify our code if the code is directly compiled into Qt Multimedia. Change-Id: I5267a6a776375d99be8f0de4207f0288d963e620 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Get rid of QAudioRecorder and the audiocapture pluginLars Knoll2021-01-2218-1708/+0
| | | | | | | | QMediaRecorder will need to get an audio-only mode instead. Change-Id: I7c4ee72e96de16cc1536f46a59ad18509607fa22 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Get rid of the QMediaServiceFeaturesInterfaceLars Knoll2021-01-2215-93/+4
| | | | | | | | Replace it by one virtual method in the media player control. Change-Id: I18778d2f56b9af8a16418c30c75c973e54b6add8 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Get rid of QMediaContentLars Knoll2021-01-2215-33/+33
| | | | | | | | | There's no need for it without playlist support in QMediaPlayer. Simply replace it with a QUrl. Change-Id: I28421772b106dad67d321f2c7053558ebfe2a592 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Outcast of API changes for QMediaPlayerLars Knoll2021-01-222-3/+0
| | | | | | Change-Id: I6b8a57423f6b97c67382ea3613b7afdf8f706d71 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* audio/pcm is not a valid mimetypeLars Knoll2021-01-223-7/+7
| | | | | | | | Use audio/x-raw instead, in line with gstreamer. Change-Id: Ib6c27fec7e227d1086750b24f91b4b69ecc870a9 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Get rid of some macrosLars Knoll2021-01-226-10/+10
| | | | | | Change-Id: Ie68f9ec729d988dcc0b232f84524a4bd11f56f8e Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Move the gsttools into Qt MultimediaLars Knoll2021-01-228-7/+8
| | | | | | | | | Let's not have a separate helper lib for those. The longer term goal is to get rid of platform specific plugins anyway. Change-Id: I24c9e984c696a4ecfc4693413ad51264f6926afe Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Implement proper hardware detection using gstreamerLars Knoll2021-01-223-5/+5
| | | | | | | | | | | | | Scrap all the code that was trying to figure out supported video devices using low level code. Instead do it properly using GstDeviceMonitor. Use the chance to remove some unneccesary arguments to the methods. Change-Id: I7a45035b5340314768a096458d68f78176e58811 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix compilation of the gstreamer mediacapture pluginLars Knoll2021-01-229-16/+30
| | | | | | Change-Id: I69b7e90a18a157d85cfbde58682f464feb017b2d Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Clean up QCamera error enumLars Knoll2021-01-222-9/+1
| | | | | | | | | We only really need two error values, the others don't make a whole lot of sense. Change-Id: I8f798b1ed930ea876442390776528a32b3532e30 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Merge QAbstractPlanarVideoOutput into QAbstractVideoOutputLars Knoll2021-01-226-70/+56
| | | | | | | | | And while we're at it, sanitize the signature of the virtual map() method. Change-Id: I8feb09e1dd6abdd9f480e202568ff84e6c3c08a9 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Remove buffer format API in QCameraImageCaptureLars Knoll2021-01-2118-465/+5
| | | | | | | | | | | | The only thing really supported here was JPEG, with the exception of gstreamer, where things were partially implemented. But this low level control doesn't really make sense anyway at this point. Get rid of it for now. Change-Id: Icdbc214a2e42ab92a1b34c539b039118402692bf Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io>
* Merge the viewfindersettingscontrol into QCameraControlLars Knoll2021-01-2127-891/+475
| | | | | | Change-Id: I6410cc5fa9e787454a3ed61723b26238012aea6e Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io>
* Get rid of the old viewfindersettings backend interfaceLars Knoll2021-01-2119-429/+47
| | | | | | Change-Id: Id7b82b445ac528a30dd67ead01ffa73af298d3d3 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io>
* Get rid of QMediaControlLars Knoll2021-01-2128-50/+57
| | | | | | | | | | The class was serving no purpose that QObject doesn't offer, so remove that layer and use QObject as the base class for those controls. Change-Id: Icd434fabe88cbdba5fa54eafe6ba97ac08be61f3 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io>
* Coding style cleanupsLars Knoll2021-01-217-49/+50
| | | | | | | | Do some coding style fixes proposed by clang-tidy. Change-Id: I62584767fd7af2f98ac02653c1105d64188f5554 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io>
* Modernize code baseLars Knoll2021-01-213-5/+5
| | | | | | | | | Run clang-tidy over the code base with some code modernization options. Change-Id: I9e74d1225bce333e74224e3b92c02c7e9884d8f5 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io>
* Merge QCameraLocksControl into QCameraControlLars Knoll2021-01-2125-1061/+693
| | | | | Change-Id: I228b7ef5dbb3e782a4cf39605e2f33b3c93ba8a5 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Merge QCameraZoomControl into QCameraFocusControlLars Knoll2021-01-2131-983/+449
| | | | | | | The public API also only uses one class to control both. Change-Id: I55ba5ae168d77d7a05a21f22164aaf0752482020 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Merge QCameraFlashControl into QCameraExposureControlLars Knoll2021-01-2132-923/+380
| | | | | | | | | | They are exposwed through one class on the front-end side, no need to complicate the API with several interfaces on the backend side. Change-Id: I4ecdc96edf71353f1b6d31cab92b7df064033e9a Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Merge QCameraCaptureDestinationControl into QImageCaptureControlLars Knoll2021-01-2131-590/+64
| | | | | | Change-Id: Idb30411d7474fb2fe9581aa94535c1638d71161c Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Remove unused QCamerExposureControl::FlashPower/FlashCompensationLars Knoll2021-01-211-4/+0
| | | | | | Change-Id: I6f78042885441966809fabe0dd038e23eb14ebdb Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io>
* Kill QCameraExposure::MeteringModeLars Knoll2021-01-214-9/+0
| | | | | | | | This was not implemented in any of our plugins. Change-Id: I3118d56016d6b77e45a2ed911a630ca70ff1da3d Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io>
* Get rid of QMediaServiceDefaultDeviceInterfaceLars Knoll2021-01-215-11/+1
| | | | | | | | Merge it into QMediaServiceSupportedDevicesInterface. Change-Id: I842218c7cb6391e86357a09d461be078a6d8a368 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io>
* First step in cleaning up the plugin loading codeLars Knoll2021-01-2112-26/+26
| | | | | | | | | | | | | | Stop assuming that there are multiple plugins providing the same service. We'll have exactly one plugin for a service in the future and not provide several. The reason is that we will focus on having one good and functional multimedia backend per platform, not the mix of many semi-functional ones as we have today. Change-Id: I809d4c99a56a48369d0ba283af78b1c41740d92a Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io>
* Disable the gstreamer mediacapture pluginLars Knoll2021-01-212-2/+2
| | | | | | | | | | camerabin is providing the same service and is more complete. Don't delete the code yet as there are a few things that should probably be added to the camerbin plugin. Change-Id: I2399a6b45b83fb42f0bd5869575cc775f887207a Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io>
* Get rid of QCameraInfoControlLars Knoll2021-01-2135-627/+59
| | | | | | | | | | | | | This was completely over-engineered. Simply implement this in the QVideoDeviceControl (as that one is only listing cameras anyway). Cleanup the convoluted code in the service provider classes while we're at it. Change-Id: I2a71eaf104af2a06016399d77c2d8b4bcd417b4a Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Doris Verria <doris.verria@qt.io>
* Initial Cmake port for qtmultimediaDoris Verria2021-01-2017-0/+672
| | | | | | Fixes: QTBUG-89540 Change-Id: I2cf8d0edae2769a53cadd667ab5ac4f9cb754a50 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Merge AudioCaptureSession and AudioMediaRecorderControlLars Knoll2021-01-2011-732/+513
| | | | | | | | One class was only proxying to the other. Change-Id: I5a03be64019a6f526ee87fda3642bd2c5849cf86 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Remove the DirectShow backendLars Knoll2021-01-2079-14814/+0
| | | | | | | | | | | | It's been deprecated by Microsoft since quite some time. We should only have one backend on Windows, and then WMF seems to be the correct one. WMF is missing features like Camera, so some additional implementation work on WMF will be required. Change-Id: I5c3db4020b130efa78575c9da116a8ae6c34f7a1 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Get rid of one abstraction layerLars Knoll2021-01-207-822/+572
| | | | | | | | The layer was only forwarding from one class to another. Change-Id: I2645b62a7beeba69d708dec0fa476fe3b46e1534 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix a bunch of compiler warningsLars Knoll2021-01-203-69/+69
| | | | | | Change-Id: I137b07f0909195019d136f1ce8926afd4bbb5e5f Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Get rid of the AudioRole controlsLars Knoll2021-01-2017-628/+77
| | | | | | | | | They were only used by the media player, so merge the functionality into QMediaPlayer and QMediaPlayerControl. Change-Id: Icceef061b41475e7b4bf3ef1848e60db5aa1307b Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Move the qnx audio plugin into QtMultimediaLars Knoll2021-01-2013-1906/+0
| | | | | | Change-Id: I09825e7d6f1ed724e7238bd167537fcd72b0aeba Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Move the android audio code into QtMultimediaLars Knoll2021-01-2012-2400/+0
| | | | | | Change-Id: I879641ae2dfc8d171afb3cc6db8bad27120dcf7c Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Move Windows audio code over into Qt MultimediaLars Knoll2021-01-2012-2692/+0
| | | | | | Change-Id: Ib4f652b49a2d0805a5a44e9f2114b24ab366cdb5 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Move coreaudio code into Qt MultimediaLars Knoll2021-01-2015-3733/+0
| | | | | | Change-Id: I8662d63fb9e17ae2c50ca3095f1baba4d626f293 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Remove the plugin infrastructure for audio pluginsLars Knoll2021-01-2027-5782/+3
| | | | | | | | | Move the PulseAudio and ALSA code directly into Qt Multimedia. The other plugins will follow in the next commits. Change-Id: I59471fa65639ccc746e6fa182d34373f6f901199 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* get rid of the QAudioSystemPluginExtension classLars Knoll2021-01-206-18/+6
| | | | | | | | Merge it into the regular plugin interface. Change-Id: I5a6f06c506f48780f20f16cd44375958a73d3127 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Clean up playlist handlingLars Knoll2021-01-207-316/+0
| | | | | | | | | Remove the whole plugin infrastructure and all the complexity that came with it and some other architectural decisions. Change-Id: I86bc2f1a5bddf5ba90881990c5cf49463d12ed65 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Remove gstreamer-0.10 code pathsLars Knoll2021-01-2019-278/+4
| | | | | | | | In fact, require gstreamer 1.12 as the minimum version. Change-Id: Iad7239dc3907ffceca1454b80f982f8f04aea518 Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Get rid of the unused resource policy and availability controlLars Knoll2021-01-2022-1423/+12
| | | | | | | | | The only implementation of this was using some Nokia specific library, that hasn't existed since 2012 anymore. Change-Id: Ieaec2176ad8e4fc170bb5254944fffc41edccefa Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* macOS: Fix video rendering on with OpenGL Core profilePablo Luis Garcia2020-12-082-18/+240
| | | | | | | | | | | | | CoreAnimation OpenGL renderer only has support for pre 3.0 profiles. Changed CoreAnimation renderer to use a Metal texture for rendering and use a pixel buffer to share the texture data with an OpenGL texture, making it possible to render with 3.2+ profiles. Fixes: QTBUG-51064 Fixes: QTBUG-62694 Change-Id: I48a4a6e0d8fbc48170dfe82d1e71cd265d70179a Pick-to: 5.15 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Update dependenciesFriedemann Kleint2020-10-295-47/+47
| | | | | | | | Fix some warnings about deprecated API and usage pf QMutexLocker. Change-Id: I16a1e66a57d0c638f88478ec250e92178c6a433c Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Fix nullptr dereference in directshow pluginLuca Carlon2020-10-201-1/+2
| | | | | | | | Init pointer before trying to dereference it in directshow plugin. This fixes a crash trying to play a video when QT_DIRECTSHOW_NO_EVR is set. Change-Id: Ie42eff035bd7fe173ca629c68b1228dc760c717d Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Android: rename Android's package name for Qt 6Assam Boudjelthia2020-10-0515-26/+26
| | | | | | | | | | Rename Android package name org.qtproject.qt5.android to org.qtproject.qt.android to avoid inconsistency with Qt 6 name. Also, we include the major version number in the jar target. Task-number: QTBUG-86969 Change-Id: I261a3422ec81b0504174a132559d9bbf820815f9 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* DirectShow: Use also pin category when negotiatingVal Doroshchuk2020-09-244-42/+57
| | | | | | | | | The pin should be negotiated once and use PIN_CATEGORY_CAPTURE. The same logic is implemented in chromium. Pick-to: 5.15 Change-Id: I89ac13c1a7e982c1011b2a872e853ee5bc2036b2 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* Gstreamer: fix camerabin's supported focus point modeRatchanan Srirattanamet2020-09-231-2/+0
| | | | | | | | | | | | | Commit be7fef656a1d087d3d1d3fa102da4fce85855935 (Add support for face detection focus point mode to camerabin backend.) updated camerabin's isFocusPointModeSupported() to indicates face detection mode support. However, it forgets to remove the old code that says only auto and custom is supported, making the face detection never reported as supported. Pick-to: 5.15 Change-Id: I76627e0b72fb94cd1370bc990edd6c748086a5d9 Reviewed-by: Val Doroshchuk <valentyn.doroshchuk@qt.io>