summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Improve tst_QMediaPlayerBackend::playPauseStop()v5.9.0-beta3Yoann Lopes2017-04-201-0/+7
| | | | | | | | Check that the position doesn't change after calling pause(). Change-Id: I4d7629c2f9cb165134279e1cc7047a5c82f394c9 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io> Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* Improve tst_QMediaPlayerBackend::processEOS()Yoann Lopes2017-04-201-0/+26
| | | | | | | | | When at the end of the media, check that pause() resets the position to the beginning and that the status changes to BufferedMedia. Change-Id: I3c7aeb98284de8cbeb12195fbf0a308e593af67b Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io> Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* Improve tst_QMediaPlayerBackend::surfaceTest()Yoann Lopes2017-04-201-1/+3
| | | | | | | | - Add NV12 and NV21 formats to the tested formats. Change-Id: Ibca6966636352dda744820f80f08ca0f040356a7 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io> Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* Fix the testsurface in tst_qmediaplayerbackendChristian Strømme2017-04-201-2/+7
| | | | | | | | Skip tests were the test-surface is incompatible with the backend. Task-number: QTBUG-46368 Change-Id: Ica2c01573b15cbf6a93080bb05e932202938629f Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Fix time-stamp tests in tst_qmediaplayerbackendChristian Strømme2017-04-201-0/+4
| | | | | | | | | Not all backends supports or have an implementation that sets the time-stamp on the video frames, so check if we do have valid time-stamps before running any tests that depends on it. Change-Id: I53926022a02cd87d23c493f7b392c4eb4c45a55e Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Android: Fix camera preview orientationChristian Strømme2017-04-203-0/+19
| | | | | | | | | | | | Before API level 24 the display orientation (the preview) was always set to 0. On newer versions of Android the clockwise rotation is set to be either 0 or 180, depending on the hardware. Since we don't want Android to apply transformation on our surface, we'll just enforce that the display orientation is always set to 0. Task-number: QTBUG-56536 Change-Id: Ie1aacda97540d5c97e6cbd8edb2afc53e7041e1e Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* Merge remote-tracking branch 'origin/5.8' into 5.9Liang Qi2017-04-1813-5/+280
|\ | | | | | | Change-Id: I7cd203eec77f3b5689c14b81b0862c5b70bab1a6
| * 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>
| * Don't set library paths if !QT_CONFIG(library)Ulf Hermann2017-03-091-0/+2
| | | | | | | | | | | | Change-Id: Ibea22f6897ecd54a3aee1aafef6f73df03cf689f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | GStreamer: add QT_GSTREAMER_PLAYBIN_AUDIOSINK env variablev5.9.0-beta2Yoann Lopes2017-04-071-1/+2
| | | | | | | | | | | | | | | | Allows to set a custom audio sink to be used by the media player, instead of the default 'autoaudiosink'. Change-Id: I13ea93a787ba6412a42bf48ecf7d3a822060cbe4 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | 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>
* | Remove unnecessary #includev5.9.0-beta1Paul Olav Tvete2017-03-241-1/+0
| | | | | | | | | | | | | | Fixes build error with -no-feature-dialog Change-Id: I51a2dc2a515e9c3449ef3d3ece78ea3ba32d34fb 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>
* | winrt: Fix video playback without autoplay enabledMaurice Kalinowski2017-03-211-1/+5
| | | | | | | | | | | | | | | | | | | | We have to ensure that a device handle is present and valid when calling setSource. Otherwise the engine switches into an error state when trying to continue loading. With autoPlay enabled that implicitly happened. Task-number: QTBUG-58152 Change-Id: Id504efd9b1b77b418ae05baed3ac0c52852cf49e Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | wasapi: Define CLASSIC_APP_BUILD for desktop buildMaurice Kalinowski2017-03-211-1/+4
| | | | | | | | | | | | | | | | | | This partly reverts 7e48870c182e66a8408bbcb4c9469d751a777daa. The define is still needed for successful compilation of the wasapi backend on windows desktop. Change-Id: I1be1c08f5dd4a4cf5e0fa2211f0f8b330b0204a9 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | Build fix for -no-feature-timezonePaul Olav Tvete2017-03-201-2/+3
| | | | | | | | | | | | | | | | | | Use the QDateTime constructor that takes an offset from UTC instead of creating a timezone that has the same offset. Change-Id: Iceb1bf598263e7d81786fbf847012993d07e08ba Reviewed-by: Yoann Lopes <yoann.lopes@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | Blacklist qmediaplayerbackend tests in all versions of macOSLiang Qi2017-03-161-5/+1
| | | | | | | | | | | | | | | | | | osx-10.12 in BLACKLIST was not supported in testlib yet. Task-number: QTBUG-46368 Task-number: QTBUG-58973 Change-Id: I26ef9fb5619c4f6ec5d2cfca67d212420f0facec Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | Merge remote-tracking branch 'origin/5.8' into 5.9Liang Qi2017-03-1053-283/+287
|\| | | | | | | | | | | | | Conflicts: src/plugins/gstreamer/camerabin/camerabincontainer.h Change-Id: I4942d41d69112335fe0c994002f1b32ef3aad051
| * Fix test build when bearer management is disabledDaiwei Li2017-03-031-0/+4
| | | | | | | | | | | | | | Task-number: QTBUG-59263 Change-Id: I282c9eadf7ad0f8e49eb6f37ba3359ad511e595d Reviewed-by: Daiwei Li <daiweili@gmail.com> Reviewed-by: Yoann Lopes <yoann.lopes@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-2741-171/+146
| | | | | | | | | | | | | | 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>
| * 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>
| * 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>
| * 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-266-10/+101
| |\ | | | | | | | | | | | | | | | | | | Conflicts: src/multimedia/configure.json Change-Id: Ide124447e1667f0b6557b6ab1ba7188ae76772c5
| | * Add changes file for 5.8.0v5.8.0-rc1v5.8.0Yoann Lopes2016-12-151-0/+70
| | | | | | | | | | | | | | | Change-Id: Icfa096c0792d0733ae2f366ac34d1840f7dfe482 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
| | * Fix building the WMF pluginYoann Lopes2016-12-135-11/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Let the QNX ALSA library know about suspend/resumeJames McDonnell2017-03-092-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allows ALSA to pause the audio device during a suspend. Prevents fast forward effect on resume. It also aligns the QNX ALSA plugin with what other platform plugins do. Change-Id: I3fa6626e566744f4f33cc89f73973094dd4ba25e Reviewed-by: Dan Cape <dcape@qnx.com> Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | | Fix build with -no-feature-graphicsviewPaul Olav Tvete2017-03-072-7/+10
| | | | | | | | | | | | | | | Change-Id: Id5f0f90b816e878f828dd246b36ea3b4fc444e87 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Limit the size of the QnxAudioOutput stack bufferJames McDonnell2017-03-071-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QnxAudioOutput allocates a buffer on the stack based on the free value from snd_pcm_plugin_status, but the way that QnxAudioOutput configures the stream, how QnxAudioOutput currently pauses playback, and a bug in io-audio combine to cause io-audio to produce very large free values when resuming playback after a long pause. As a result, QnxAudioOutput allocates a stack buffer that causes a stack overflow. Allocating a buffer on the stack with a size that isn't restrained in any way isn't a good idea. Put some constraints on the size. Change-Id: I2b72e72504041f0caeb591912662fb9bed931b21 Reviewed-by: Dan Cape <dcape@qnx.com> Reviewed-by: Yoann Lopes <yoann.lopes@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>
* | | Blacklist qmediaplayerbackend tests in macOS 10.12Liang Qi2017-02-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | These were found to also fail in macOS 10.12 Task-number: QTBUG-46368 Task-number: QTBUG-58973 Change-Id: I33f695a3495e61a9b7fb9901640a35dbf1333991 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@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>
* | | DirectShow: Fix warnings of MinGW/gcc 5.3v5.9.0-alpha1Friedemann Kleint2017-02-063-9/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | helpers\directshowmediatype.h:70:58: note: in expansion of macro 'Q_DECL_NOTHROW' inline const AM_MEDIA_TYPE *const operator &() const Q_DECL_NOTHROW { return &mediaType; } qtbase/src/corelib/global/qcompilerdetection.h:1143:26: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] # define Q_DECL_NOEXCEPT noexcept ^ qtbase/src/corelib/global/qcompilerdetection.h:1153:25: note: in expansion of macro 'Q_DECL_NOEXCEPT' # define Q_DECL_NOTHROW Q_DECL_NOEXCEPT ^ helpers\directshowmediatype.h:71:59: note: in expansion of macro 'Q_DECL_NOTHROW' inline const AM_MEDIA_TYPE *const operator ->() const Q_DECL_NOTHROW { return &mediaType; } ^ camera\dscamerasession.cpp:604:24: warning: unused variable 'cLSID_SampleGrabber' [-Wunused-variable] static const CLSID cLSID_SampleGrabber = { 0xC1F400A0, 0x3F08, 0x11d3, { 0x9F, 0x0B, 0x00, 0x60, 0x08, 0x03, 0x9E, 0x37 } }; camera\dscamerasession.cpp:603:22: warning: unused variable 'iID_ISampleGrabber' [-Wunused-variable] static const IID iID_ISampleGrabber = { 0x6B652FFF, 0x11FE, 0x4fce, { 0x92, 0xAD, 0x02, 0x66, 0xB5, 0xD7, 0xC7, 0x8F } }; ^ helpers\directshowmediatype.cpp: In constructor 'DirectShowMediaType::DirectShowMediaType()': helpers\directshowmediatype.cpp:79:57: warning: missing initializer for member '_AMMediaType::formattype' [-Wmissing-field-initializers] : mediaType({ GUID_NULL, GUID_NULL, TRUE, FALSE, 1 }) helpers\directshowmediatype.cpp:79:57: warning: missing initializer for member '_AMMediaType::pUnk' [-Wmissing-field-initializers] helpers\directshowmediatype.cpp:79:57: warning: missing initializer for member '_AMMediaType::cbFormat' [-Wmissing-field-initializers] helpers\directshowmediatype.cpp:79:57: warning: missing initializer for member '_AMMediaType::pbFormat' [-Wmissing-field-initializers] camera\dscamerasession.cpp:805:111: warning: missing initializer for member '_AMMediaType::pUnk' [-Wmissing-field-initializers] static const AM_MEDIA_TYPE grabberFormat { MEDIATYPE_Video, MEDIASUBTYPE_RGB32, 0, 0, 0, FORMAT_VideoInfo }; camera\dscamerasession.cpp:805:111: warning: missing initializer for member '_AMMediaType::cbFormat' [-Wmissing-field-initializers] camera\dscamerasession.cpp:805:111: warning: missing initializer for member '_AMMediaType::pbFormat' [-Wmissing-field-initializers] camera\dscamerasession.cpp: In member function 'void DSCameraSession::presentFrame()': camera\dscamerasession.cpp:585:52: warning: 'captureId' may be used uninitialized in this function [-Wmaybe-uninitialized] emit imageCaptured(captureId, captureImage); Change-Id: I2870c1489bd375d3d43a31742551dab220015660 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | | DirectShow: Add audio and video probes classesChristian Strømme2017-01-275-0/+246
| | | | | | | | | | | | | | | | | | | | | | | | This change only adds the audio and video probe controls, the actual implementation comes in a separate change. Change-Id: I0136cf1ef3cea3d83f7203d1955513ed44d93e5a Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | | DirectShow: Use the new sample grabber in DsCameraChristian Strømme2017-01-272-100/+22
| | | | | | | | | | | | | | | | | | | | | | | | There's no need to have a separate implementation in the camera code, so removing this one in favor of the new sample grabber. Change-Id: I5b68d804788745b6ed3d3fceba295d1d99bb5915 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | | DirectShow: Sample grabberChristian Strømme2017-01-274-0/+293
| | | | | | | | | | | | | | | | | | | | | | | | Sample grabber filter to be used in the camera implementation, and a prerequisite for adding audio and video probes support in DirectShow. Change-Id: I94f6332ebf75788847bfe629e92132f8a03b40e7 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | | DirectShow: Add utility classChristian Strømme2017-01-275-36/+407
| | | | | | | | | | | | | | | | | | | | | Centralized place for helper functions etc. Change-Id: Ia4474d0681a37fc95a100a3766800141a8b1d900 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | | DirectShow: Sanitize DirectShowMediaTypeChristian Strømme2017-01-2713-215/+227
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The DirectShowMediaType is now a thin data wrapper around AM_MEDIA_TYPE and will for the most look and work the same way, with the exception that it cleans up after itself. All utility functions are now static, except clear() which, for convenience, is also provided as a non-static member function. In addition to the changes mentioned above, duplicated methods were removed, conversion for ARGB32 was added, and an attempt to make the usage of AM_MEDIA_TYPE and DirectShowMediaType was made more consistent. Change-Id: Iad32fb8eeabd9d4183e9bd10426cac3963e5d99a Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | | Add audio probe handling in the player exampleChristian Strømme2017-01-274-8/+219
| | | | | | | | | | | | | | | | | | | | | | | | Adds histogram widgets to visualize the data received from the audio probes, similar to what's done for the video probe already. Change-Id: Ie49a7766dc7ddcab1d9ccaf31372fb23f9ff5b68 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>