summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-05-042-19/+23
|\ | | | | | | Change-Id: Iedfcb12f51d26843d062d443d11eef5959d1c4bd
| * Android: Don't postpone setting of camera's stateVal Doroshchuk2019-05-032-19/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently if the application is inactive, the state is postponed to be set and processed when the app becomes active. This also postpones stateChanged() signal and saving the state value, while it should be set (but not processed) immediately as done in another backends. Added a fix to store the state and emit stateChanged regardless of activity of the application. When the application becames available, the state will be processed. In case of an error while opening the camera: - UnloadedState is emitted - CameraError - UnloadedStatus Change-Id: Ie376d29366168a6b15eccea884f385070f94fe35 Task-number: QTBUG-73582 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | Doc: Fix multiple documentation issuesv5.13.0-beta3Topi Reinio2019-04-1615-49/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - GstTools has some (internal) documentation, but was causing a number of warnings with QDoc's clang parser - exclude it from the documentation build. - Remove direct links from example documentation to individual example files; they no longer work. - Fix navigation for QML types; The main QML types pages did not list types for QtAudioEngiine. - Use \QtMinorVersion macro to make the documented import versions follow the minor Qt version. - Fix \since usage to be consistent throughout. - Fix linking issues for QML properties/methods - Minor language fixes Change-Id: I735cd13fa6dedd6bf06d6b6ef50ce2e0d69a545b Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
* | Update plugins.qmltypes for audioengine in 5.13Kai Koehne2019-04-111-1/+1
| | | | | | | | | | | | | | This complements 7ca4b60ab4e . Change-Id: I119b65a77270a653ca7be293c652acd4b9df2552 Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Liang Qi2019-04-1011-66/+75
|\| | | | | | | | | | | | | | | Conflicts: tests/auto/integration/qdeclarativevideooutput/tst_qdeclarativevideooutput.cpp Done-with: Val Doroshchuk <valentyn.doroshchuk@qt.io> Change-Id: I745dd948c1e98180115f85c17bef802351bbdb6b
| * Windows: Reset position on pause in QMediaPlayer after EOSVal Doroshchuk2019-04-101-2/+3
| | | | | | | | | | | | | | | | | | | | pause() should reset position to the beginning after EOS. Fixes tst_QMediaPlayerBackend::processEOS Task-number: QTBUG-65574 Change-Id: I4802102bde657d7a3dde0b426c335b021207ae08 Reviewed-by: Christian Strømme <christian.stromme@qt.io>
| * EVR: Don't repaint with black until the surface is activeVal Doroshchuk2019-04-101-1/+1
| | | | | | | | | | | | | | | | | | | | A frame must be presented until pause/play is called. Fixes tst_QMediaPlayerBackend::seekPauseSeek Task-number: QTBUG-65574 Change-Id: I6946c5a5977c44fed80abce364a4222845898016 Reviewed-by: Christian Strømme <christian.stromme@qt.io>
| * QWindowsAudioInput: Set volume only if it has been requestedVal Doroshchuk2019-04-081-3/+3
| | | | | | | | | | | | | | | | | | | | | | Currently if the device gets opened, also its volume is set to 100%. The volume should be set only if it has been requested. Change-Id: I9dc4ab29ad71f3ac6556c6dd32c7b8e5d69efab2 Fixes: QTBUG-75024 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
| * Android/AudioTrack: Fix crash when it is unable to get min buffer sizeVal Doroshchuk2019-04-032-6/+13
| | | | | | | | | | | | | | | | | | android/media/AudioTrack::getMinBufferSize might return an error instead of a size. Task-number: QTBUG-73583 Change-Id: I52e2d214ab7065bcea9d983979bb0b83717428af Reviewed-by: Christian Strømme <christian.stromme@qt.io>
| * Android: Fix status of QMediaRecorder after start/stopVal Doroshchuk2019-04-032-45/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the camera is ready for capture -> QMediaRecorder::LoadedStatus. If CaptureVideo is changed to CaptureStillImage -> StoppedState and UnloadedStatus. If camera's status is StoppingStatus -> StoppedState and UnloadedStatus. If camera's status is LoadingStatus -> LoadingStatus. If recording is requested -> RecordingState and RecordingStatus. If recording is audio-only -> immediately LoadedStatus, before start and after stop. Fixes tst_QCameraBackend::testVideoRecording Task-number: QTBUG-73582 Change-Id: I976c4e3afab529e0949571c4002e9ceba74cac97 Reviewed-by: Christian Strømme <christian.stromme@qt.io>
| * DirectShow: don't change camera zoom level if not requestedIhor Dutchak2019-04-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | DirectShowCameraZoomControl sets camera zoom level to 1x each time, when camera goes into LoadedStatus (e.g. on stream stop), which is inconveniant, specially if camera has physical remote, and zoom level may be changed externally. Disable this behavior, if zoom level was not requested explicitly by zoomTo(...) function from client code. Fixes: QTBUG-74180 Change-Id: I99ff76af04f80c630a0c397db5713e6706ebf175 Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io> Reviewed-by: Ihor Dutchak <ihor.youw@gmail.com>
| * Android: Use CaptureStillImage as default capture modeVal Doroshchuk2019-03-281-1/+1
| | | | | | | | | | | | | | | | Fixes tst_QCameraBackend::testCaptureMode. Change-Id: I2f6486102ebcbf7e1ab0feea8c13658772d5b90f Fixes: QTBUG-73582 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| * winrt: Use highest supported resolution for camera preview/image captureOliver Wolff2019-03-282-7/+18
| | | | | | | | | | | | | | | | | | | | | | Using the lowest supported resolution yields ugly results and has weird side effects (green bars). If no resolution is explicitly given, we should use the maximum supported solution for preview as well as capture. Task-number: QTBUG-72874 Change-Id: Ie0fae65180e66156c6de468f2cabb9122fe665ba Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-03-273-2/+7
|\| | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: Ie0a7534d518cd5758119edc77d8275ac3da2037c
| * Fix QCameraInfo to be invalid if camera failed to find deviceVaL Doroshchuk2019-03-251-2/+10
| | | | | | | | | | | | | | | | | | | | Since QCameraInfo uses deviceControl and infoControl to get info about camera, it needs to clear these controls if the camera failed to find a device by name. Change-Id: I1404f70234f978fa4568b6c883a5676f61e08145 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> (cherry picked from commit 42932e1a9dfd6699763b336f552e46f9b1ff30c9)
| * Add source url to 'decoding error' warningRoland Rossgotterer2019-03-252-2/+2
| | | | | | | | | | | | | | | | | | | | | | Previously, QSoundEffect logged a warning if the source could not be decoded, but without mentioning the source it tried to decode. When using multiple QSoundEffects in one application, adding the source to the warning will help to find the one causing the decode error. Change-Id: I4c6bbdfe4a62f650b64ab951bcc637febedae98e Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io> Reviewed-by: André Hartmann <aha_1980@gmx.de>
| * Fix compile failure with gstreamer 0.10Richard Oehlinger2019-03-181-0/+5
| | | | | | | | | | | | | | | | This fixes an compile failure introduced in commit 67c4ec55. Fixes: QTBUG-74475 Change-Id: I0dabb72f8b5cdd75336b15515381ff9d9442788f Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
* | Android: Introduce HTTP headers to MediaPlayerVal Doroshchuk2019-03-254-5/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Added using the headers from QNetworkRequest to be sent together with the request for the data in MediaPlayer::setDataSource. The MediaPlayer requires also a Context object, together with headers, to resolve the Uri. It will try to find a content provider. Since no content providers are implemented, this produces a warning: "MediaPlayer: Couldn't open file on client side; trying server side: java.io.FileNotFoundException: No content provider" Task-number: QTBUG-74073 Change-Id: I1566953b523e84400882ba9d3a968cec6b4a61cf Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | AVFoundation: Fix typosv5.13.0-beta1Val Doroshchuk2019-03-111-5/+4
| | | | | | | | | | Change-Id: Iab522426786a0244bf23cf889e08b5c52550eb39 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-03-022-4/+4
|\| | | | | | | Change-Id: Ia2f6f90c44bb360810124bcfab558661a2644880
| * Doc: Fix documented QtMultimedia importKai Koehne2019-02-262-4/+4
| | | | | | | | | | | | | | | | Since change 871a097d0c6e8203f82 QtMultimedia is registered with the latest Qt minor version, but the documentation wasn't updated yet. Change-Id: I58eb629c5a2851f83231891b2e219210d79c862c Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* | Update plugins.qmltypes for Qt 5.13Kai Koehne2019-02-281-2/+12
| | | | | | | | | | | | | | Task-number: QTBUG-73739 Change-Id: Ib9489bd9af646bcbf296d88dd3bc9664dc2bd284 Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
* | QML: Make QtAudioEngine import available under 1.QT_MINOR_VERSIONVaL Doroshchuk2019-02-265-10/+12
| | | | | | | | | | | | | | | | | | | | Made the QtAudioEngine import always available under the latest Qt minor version import QtAudioEngine 1.13 for 5.13 Task-number: QTBUG-74031 Change-Id: I14f602a5c59a6a6906aeeda8644e64dae36312e3 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Add a revision of QML VideoOutput flushMode property to 5.13VaL Doroshchuk2019-02-253-1/+5
| | | | | | | | | | Change-Id: Ie7982232af45fd09a46854c96d7c7d6672857a97 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-02-232-2/+7
|\| | | | | | | Change-Id: I7a99bdc1300e3e19c85967bf67da3481a259e3c1
| * Gstreamer: Set surface from renderer before creating pipelineVaL Doroshchuk2019-02-222-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When multiple pipelines are created, and one of these gets recreated, it picks up the last set surface. This is incorrect, as it needs a surface belonging to the current renderer. This patch sets the surface before creating pipelines, retrieving it from the current renderer. Task-number: QTBUG-73557 Change-Id: I0811f7262a0eca57e01361a55515351127520064 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | Do not use QMediaResource in QMediaContentVaL Doroshchuk2019-02-221-56/+31
| | | | | | | | | | | | | | | | | | Prevents src/multimedia/playback/qmediacontent.cpp:286:30: warning: ‘QMediaResource QMediaContent::canonicalResource() const’ is deprecated [-Wdeprecated-declarations] src/multimedia/playback/qmediacontent.cpp:299:30: warning: ‘QMediaResource QMediaContent::canonicalResource() const’ is deprecated [-Wdeprecated-declarations] Change-Id: Ifd112f38dc300ea83785d52eac83a40cda2b492d Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-02-162-5/+7
|\| | | | | | | Change-Id: I947a3b4aaf39e56b9505ae802b8b31c718922639
| * Gstreamer: Fix compilation error with 0.10 versionVal Doroshchuk2019-02-141-5/+3
| | | | | | | | | | | | Task-number: QTBUG-73740 Change-Id: I1de087b63f65bab39351d5446254a8d1832e88c3 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
| * Fix static build on WindowsKai Koehne2019-02-111-0/+4
| | | | | | | | | | | | Fixes: QTBUG-73464 Change-Id: I5d1052dec14bbe6ee69b348352991d14d63b9c76 Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-02-093-5/+5
|\| | | | | | | Change-Id: I26440611372622174c5b077be21e5a22b8136e97
| * Fix crash in player example when close the window while playingVaL Doroshchuk2019-02-081-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | When it is playing and close the window: 1. The player object will be destroyed first (all QString's). 2. Next parent QWidget will be destroyed with all children. 3. While destroying QMediaPlayer from Player object, the playback will be stopped. 4. The status will be changed and Player::statusChanged will be called. The connection still exists. And since all string members are already freed, it produces a crash. Change-Id: I2c2fdca97f0ff4b300527b550ecc0c12b04e5b4e Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| * gpu_vivante depends on opengles2 and guiLiang Qi2019-02-061-1/+1
| | | | | | | | | | Change-Id: I8317956994f586fa2272d5633af91325d277998b Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
| * DirectShow: Fix crash when camera is being destroyedVal Doroshchuk2019-02-061-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | If a camera is going to be destroyed, a service plugin releases media service, (which releases ds camera session) and might call CoUninitialize. This leads to a crash when DirectShowSampleGrabber is destroyed after releasing the camera. Added a fix to release the sample grabber together with camera session. Task-number: QTBUG-73461 Change-Id: I8e518d0242d983c8d2bb00c30ad87c7e8e1e2c93 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | Android: Implement audio rolesVal Doroshchuk2019-02-0812-0/+445
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduced custom and standard audio role controls using MediaPlayer.setAudioAttributes(AudioAttributes) which added in API level 21. Custom audio roles might contain a list of roles separated by comma. E.g "CONTENT_TYPE_MOVIE,USAGE_ALARM", which means content type is movie and usage is alarm. [ChangeLog][Platform Specific Changes][Android] Implemented audio roles. Task-number: QTBUG-73119 Change-Id: I281d1ce899d29f54d271516a1fca5f11c897fc90 Reviewed-by: Christian Strømme <christian.stromme@qt.io>
* | Gstreamer: Add support of avfvideosrc for camerabinVaL Doroshchuk2019-02-082-11/+33
| | | | | | | | | | | | | | | | | | Gst Device Provider now can be used for macOS also. Added support of avfvidesrc element to be used within camerabin. Task-number: QTBUG-72125 Change-Id: I69205649c6e75432534e240656d8cb4748ee10cc Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | Fix deprecation warningsv5.13.0-alpha1Friedemann Kleint2019-02-053-18/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace trUtf8() by tr() and implement QAbstractItemModel::roleNames(), fixing: multimedia.cpp:76:5: note: in expansion of macro ‘Q_OBJECT’ multimedia.cpp:143:77: warning: ‘static QString QMultimediaDeclarativeModule::trUtf8(const char*, const char*, int)’ is deprecated [-Wdeprecated-declarations] from multimedia.cpp:40: .... qdeclarativecamerafocus.cpp:403:23: warning: ‘void QAbstractItemModel::setRoleNames(const QHash<int, QByteArray>&)’ is deprecated [-Wdeprecated-declarations] setRoleNames(roles); Change-Id: I2648551a1b2774c45101ab1cad9e0ea3ab79ccbc Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io> Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch>
* | Introduce QVideoFrame::buffer()VaL Doroshchuk2019-02-042-0/+10
| | | | | | | | | | | | | | | | Returns video buffer if available. Is useful when need to get an access to impl specific data. Change-Id: I6b9855397db2396ed0a76835d083be0457721f9b Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* | Gstreamer: Return GstBuffer from QGstVideoBufferVaL Doroshchuk2019-02-041-0/+1
| | | | | | | | | | | | | | Useful to get some impl specific information from video buffer. Change-Id: I7fccf2855f0be180bd438a59e4fbaefce15b4ed8 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-02-029-44/+86
|\| | | | | | | Change-Id: Ia13d887c3e3bf00b6ded5d052384fc5689b816fe
| * Android: Fix memory leak of GL resourcesVal Doroshchuk2019-01-312-8/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DeferredDelete events have implicitly higher priority, which makes this event to be handled before MetaCall events. See QSGSoftwareRenderThread::sync(): ... QCoreApplication::sendPostedEvents(nullptr, QEvent::DeferredDelete); Where it processes deferred deletes and no meta calls will be delivered even if they were requested before the deferred delete. Task-number: QTBUG-67280 Change-Id: Iba23550d2cffb1cea1b4c2fe4c903078d9f2f046 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * Fix comment for YUV fragment shadersSamuel Gaist2019-01-295-5/+9
| | | | | | | | | | | | | | | | | | The comment contains information which makes it misleading to understand how the components are passed. Change-Id: I29cdb5eec1e8014fa7f0ca3f1a0f54258fdb431f Reviewed-by: Tomasz Olszak <olszak.tomasz@gmail.com> Reviewed-by: Christian Strømme <christian.stromme@qt.io>
| * Gstreamer: Set custom pipeline using urlVaL Doroshchuk2019-01-232-31/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduced possibility to set custom pipeline using url. Now the pipeline should be set only via QMediaPlayer::setMedia using url with scheme "gst-pipeline". For example, "gst-pipeline: videotestsrc ! autovideosink" Since setting the media should be done after renderer in QML, hence a surface is ready to be used and "qtvideosink" is available in pipelines. To use it with QVideoWidget, setting the pipeline should be done after passing video output. Change-Id: Id43f8681069e4bca2eafb154df2c5d446a0ca498 Reviewed-by: Andy Shaw <andy.shaw@qt.io> Reviewed-by: Christian Strømme <christian.stromme@qt.io>
* | GStreamer: support video orientationAlexander Volkov2019-02-015-38/+51
| | | | | | | | | | Change-Id: I233c45824f517c185cb245d8a7d77cab8551fc51 Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
* | GstTools: move headers to correct folderJochen Seemann2019-01-3126-6/+0
| | | | | | | | | | | | | | | | We don't need to have the headers of QtMMGstTools in a separate directory of the QtMultimedia module. Change-Id: If304ab5ee5741aec7cf7785352f5a571bc4ec240 Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
* | Make QPulseAudioOutput::elapsedUSecs prone to OS time changeTomasz Olszak2019-01-292-5/+4
| | | | | | | | | | | | | | | | | | | | | | Pulseaudio implementation of QAudioOutput used QTime as time counter. Hence when output was started and timezone or time has changed the QAudioOutput::elapsedUSecs() returned faulty values. It happened because QTime::elapsed is undefined after system clock update. Using QElapsedTimer instead of QTime seems safer. Change-Id: I1f0c27deea550f249e2ccad0fc716b95a32608ae Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
* | Return default camera with not empty nameVal Doroshchuk2019-01-282-4/+7
| | | | | | | | | | | | | | | | | | | | QCameraInfo::defaultCamera() should not return empty name. QCamera() uses first found camera service. QCamera(QCameraInfo::defaultCamera()) uses the service which supports provided camera's name. Change-Id: I7a18b111997a605881eb6ec9788cb6e1d324c011 Reviewed-by: Christian Strømme <christian.stromme@qt.io>
* | Enable gstreamer support for Windows and macOSVal Doroshchuk2019-01-282-7/+8
| | | | | | | | | | Change-Id: I29b411a517d24e89eaac944507abbe2c471abb5d Reviewed-by: Christian Strømme <christian.stromme@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2019-01-222-6/+8
|\| | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: Icf8b9f73c50b16d6f5765040eb7bd918231df94a
| * Migrate QGstUtils to use QRegularExpressionSamuel Gaist2019-01-121-4/+6
| | | | | | | | | | | | | | | | | | This patch updates the QGstUtils class to use QRegularExpression in place of QRegExp which is to be considered deprecated. Fixes: QTBUG-72589 Change-Id: I67e189c48688b512cc76c884fd2a7e51e1b188f9 Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>