summaryrefslogtreecommitdiffstats
path: root/src/plugins
Commit message (Collapse)AuthorAgeFilesLines
* OpenSL ES: Added run-time permission checks for recording on Android5.8Christian Strømme2017-03-301-0/+31
| | | | | | | | | | | | Make sure that we have permission to record before starting a recording session. [ChangeLog][OpenSL ES][Android] Added run-time permission checks for recording on Android. Task-number: QTBUG-55992 Change-Id: Iab7416384336975fdf4de8024f02ab2414033163 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* Android: Add run-time permission check for recordingChristian Strømme2017-03-303-0/+16
| | | | | | | | | | | Check and request permission to record audio if needed. [ChangeLog][Android] Added run-time permission checks for media-recording. Task-number: QTBUG-55992 Change-Id: I781e5a5447f1ad03c069b2171637525ae9108d78 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* GStreamer: improve the list of default recording formatsYoann Lopes2017-03-301-3/+32
| | | | | | | | Add some common codec combinations such as MP4/H.264/AAC or with alternative audio codecs such as MP3 or AC-3. Change-Id: If67c68112d0f170a1391bef750e2bc8fc0d246de Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* GStreamer: Fix position value at EndOfMediaChristian Strømme2017-03-291-0/+3
| | | | | | | | Return the duration when we're at the EndOfMedia Task-number: QTBUG-59604 Change-Id: If057257a65d73aa456dd7dc52b6cb624dd4712d3 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* Android: Add convenience method for checking and requesting permissionsChristian Strømme2017-03-222-0/+31
| | | | | | | | This will be used to check and request permissions at run-time. Task-number: QTBUG-55992 Change-Id: I344859aeb05fecf09ac46064e9452787d615a8a1 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* Android: Add logging categoryChristian Strømme2017-03-223-2/+57
| | | | | | | Adds logging category for the android plugin. Change-Id: I0b0868fa7da4ce5426b3682ab40c4317afb79cd0 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* DirectShow: support audio and video codec metadataYoann Lopes2017-03-201-0/+108
| | | | | | | | | Retrieve the audio and video codec metadata from media files. As the GUID of these codecs are only defined in the WMF API, we have to hardcode them here. Change-Id: I9a057e62d9473f605cf5078d3386c5827784ae28 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* Clean up some strange GL defines in windowgrabber.hJason Erb2017-03-021-2/+2
| | | | | | | Change-Id: I1d332537b80e165fa794e433fb205f86ed24b209 Reviewed-by: Fabian Bumberger Reviewed-by: Dan Cape <dcape@qnx.com> Reviewed-by: James McDonnell <jmcdonnell@blackberry.com>
* Drop unused QProcess includeUlf Hermann2017-03-021-1/+0
| | | | | Change-Id: I2edc0a1a41d63a456ef2e87bdd1d0872dff0aee1 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* Use QT_CONFIG macro to check for featuresLars Knoll2017-02-2735-151/+133
| | | | | | | And remove many custom defines. Change-Id: I658cc8430d1d99ed3c0aafe03a77adce76621a29 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* WMF plugin: Prevent detaching of QMediaResourceListHannah von Reth2017-02-062-4/+4
| | | | | | Change-Id: I2bf0fa346a166bdb20ce76b1fd4d7227680810dd Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* DirectShow: Port to new configure system (evr, wmsdk)Friedemann Kleint2017-02-037-23/+23
| | | | | | | | Replace old legacy defines by QT_CONFIG. Fixes warnings when using MinGW: qtmultimedia/src/multimedia/qtmultimedia-config.h:4:0: warning: "QT_NO_WMSDK" redefined Change-Id: Ifbfc2cea3bf5bfd06d94fd70e6ea4afb6d6fbb4b Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Merge remote-tracking branch 'origin/5.8.0' into 5.8Liang Qi2017-01-263-3/+3
|\ | | | | | | | | | | | | Conflicts: src/multimedia/configure.json Change-Id: Ide124447e1667f0b6557b6ab1ba7188ae76772c5
| * Fix building the WMF pluginYoann Lopes2016-12-133-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Only update the texture if the m_glResources are validAndy Shaw2017-01-131-1/+1
| | | | | | | | | | Change-Id: Ifa0c768e2f0299d31d3d52db975c896bdb2aab5e Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | winrt: Fix pause/play for videosMaurice Kalinowski2017-01-031-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is partially a revert of bff19dbe6733d245. While that commit fixed switching cameras it did not respect pausing a video, where setActive is called from a different thread than in the camera case. Using shutdown introduced a wait, which in that case deadlocked. Instead revert to request an interrupt, but when restarting make sure that the render thread is on hold before start is invoked. Task-number: QTBUG-53722 Change-Id: Id5a722911bb2c30509fabb73bec925cadbf77628 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | winrt: Fix video playbackMaurice Kalinowski2017-01-031-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | Rendering should only be activated once the video frame size is known. Otherwise the texture is created with an invalid size and rendering will be stopped. This happens for some codecs where MF_MEDIA_ENGINE_EVENT_LOADEDMETADATA is not known instantly after loading video files. Task-number: QTBUG-57707 Change-Id: Ic2347c8606239770e129544fd228b96929ed6198 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | return better images in metadata in gstreamerTasuku Suzuki2016-12-151-1/+2
| | | | | | | | | | | | | | | | cover art image uses "preview image". But "image" is better for that. "preview image" will be used for thumbnail image. Change-Id: Ic01f878f146b0369eb84e6b153fa68fbc6c54e57 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | GStreamer: Only register one typefind functionChristian Strømme2016-12-142-12/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Each time a GStreamer session was created it would register the same callback function, but each time with a new user data, which in our case was a pointer to the session. The pointer would then be used without verification of its validity. The problem with this is that the typefind function is static and used for all sessions, making multiple sessions impossible. The documentation for gst_type_find_register() also clearly specifies that the supplied user data needs to valid as long as the plugin is loaded, which of course was not the case. With this change only one callback function will be registered, and each session will register itself with a typefind delegate, that will keep track of sessions that are still alive. Note: This only makes sure that the typefind function is called on a valid session, it does not make sure that the type actually belong to the session, which is a separate issue. Task-number: QTBUG-50460 Change-Id: I20eeabfe4e85839e8845003298d6f64705c2e15e Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | GStreamer: fix a memory leak in the media player sessionYoann Lopes2016-12-121-4/+6
|/ | | | | | | A gchar* was never freed. Change-Id: Ib28fee3d13839bf15a9216bdcd5da68b6d1f904c Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-11-265-12/+10
|\ | | | | | | | | | | | | | | Conflicts: src/plugins/qnx/qnx.pro sync.profile Change-Id: I353a44578276264a9ffb80820d8c5a0babfa1638
| * Merge remote-tracking branch 'origin/5.6' into 5.75.7Liang Qi2016-11-243-4/+3
| |\ | | | | | | | | | Change-Id: Ic43abb034fa0a65b86a6e3511d29b8231ced5ec2
| | * DirectShow: Remove unused class and member in DSCameraServiceChristian Strømme2016-11-231-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | The class DSVideoOutputControl doesn't exist anymore, and the member is not used anywhere. Change-Id: I9458822501b4669e5796b4dff0b187242134795c Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
| | * WMF: Fix copy-and-paste errorChristian Strømme2016-11-171-1/+1
| | | | | | | | | | | | | | | Change-Id: I6e207b49917f0d3ab1ec39b067138eefd6581a49 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
| | * Fix plugin class name when using neutrino serviceJanne Koskinen2016-11-081-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | Fixes static linking issue with the plugin. Task-number: QTBUG-56966 Change-Id: Ie5803b048970a436f017251c0afd375fce11b2fb Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
| * | Merge remote-tracking branch 'origin/5.7.1' into 5.7Liang Qi2016-11-242-8/+8
| |\ \ | | | | | | | | | | | | Change-Id: I6690c4161c57734ad03ee3e03311a3e62f181e89
| | * \ Merge 5.7 into 5.7.1Oswald Buddenhagen2016-10-064-71/+119
| | |\ \ | | | | | | | | | | | | | | | Change-Id: I72c166fd81e43c5a2a1b17a6e46e12d6c7389fc2
| | * | | Pass the context to QtAndroidMediaPlayerBogDan Vatra2016-09-282-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This way it can be used in a service Task-number: QTBUG-54506 Change-Id: I2d75b69dfbf7b345322f7625baf544af2af200c5 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | | | | Add proper global headers for QtMultimediaLars Knoll2016-11-232-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | And deprecate the old qtmultimediadefs.h Change-Id: I2d4164f3a51d8e5d1813413b4f6691a721386fdf Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | | | | Fix mir detectionLars Knoll2016-11-232-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The old check would have never triggered unless you compiled with CONFIG+=mir by hand. Change-Id: I1d418dce09adaedbdff366dfeb8f4036cac0f075 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | | | | Remove Blackberry specific code pathsLars Knoll2016-11-149-443/+11
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I187085984eb1b25d7f3de163dc05122df1259720 Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* | | | | Fix compiler warningMaurice Kalinowski2016-11-141-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I6a0e9cfed72e67fe3d556264b135b6e7c5bf6b9b Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | | | | 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>