summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Deprecate Camera::error() signal in favor of errorOccurred()v5.15.0-beta2Alexander Akulich2020-03-102-2/+14
| | | | | | | [ChangeLog][Deprecation Notice] Camera::error() signal is deprecated in favor of errorOccurred(). Change-Id: Id80a3c72eec0529ef2f1e293e0afb503202a6d38 Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
* Merge "Merge remote-tracking branch 'origin/5.14' into 5.15"Qt Forward Merge Bot2020-03-109-40/+94
|\
| * Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-03-109-40/+94
| |\ | | | | | | | | | Change-Id: I4ea49723c74c6dccf141b65f834b5d539d2ab9d7
| | * Document usage of QT_MULTIMEDIA_PREFERRED_PLUGINS on WindowsMichael Brasser2020-03-091-0/+5
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-82300 Change-Id: Ibbd960ef69b59e535af30ac10a238ddcf7634b66 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
| | * QAlsaAudioOutput: leave IdleState as soon as there is data in the sourceCheng Sun2020-03-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes two bugs: - Once IdleState is entered (due to underflow), one would have to bring the state to ActiveState manually before the backend would start sending new data to ALSA. This behavior is unlike that of QPulseAudioOutput, for example, which will automatically transition out of IdleState once there is data present in the source device. - Whilst in IdleState the audio output would would mark bytes as being consumed from the source device, even though they were not actually being sent to ALSA. Change-Id: If5b4835df0f58b7b15f1800d3a0a1041f1ab845a Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
| | * QMediaPlayer: Update gst-pipeline docsVaL Doroshchuk2020-03-042-2/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | Added docs for using QAbstractVideoSurface and example how to use QVideoWidget. Change-Id: I27a105a3859086e6fa5d8a19672ef791ce9e5cca Reviewed-by: Andy Shaw <andy.shaw@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
| | * GStreamer: Allow using different resolution for capture and viewfinderVaL Doroshchuk2020-03-031-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently viewfinder resolution is overridden by image resolution. Fixed to keep it separate. Note, it might be not fully supported by gst camera implementation. Change-Id: Ia04c7819da1410f41aee458d347408f94053170b Reviewed-by: Andy Shaw <andy.shaw@qt.io>
| | * AVF: Use supported pixel formats from video surface in CameraVal Doroshchuk2020-03-032-23/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QAbstractVideoSurface is waiting for the video frames in supported pixel formats. See QAbstractVideoSurface::supportedPixelFormats(). If the surface does not support device's pixel format, don't show the camera's viewfinder and don't return video frames in unsupported formats. Task-number: QTBUG-82264 Change-Id: I084674f4b093a751bc4f4941047b979766880963 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
| | * Fix AVFVideoWindowControl/AVFVideoWidget content flick on resizeIhor Dutchak2020-03-032-10/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When AVPlayerLayer as a backend for AVFVideoWindowControl being resized, macOS adds animation that interferes with Qt resize routines. Disabling animation fixes visual flicks. Task-number: QTBUG-82542 Change-Id: I20a5699431369bcc2da8719b8c4a0151273f9973 Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
* | | Add flushMode to Video QML elementVaL Doroshchuk2020-03-061-1/+18
|/ / | | | | | | | | | | Fixes: QTBUG-82299 Change-Id: I3516bb8bacd0df497ba4c76acd4e71d7b82ec9db Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | QCamera: Deprecate 'error' signal, use 'errorOccurred' insteadAlexander Akulich2020-03-036-10/+22
| | | | | | | | | | | | | | [ChangeLog][Deprecation Notice] QCamera::error() (the signal) is deprecated; superseded by errorOccurred() Change-Id: Ie3214689db7f46cf36ac696339ac42beb5b921d4 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Doc: Fix link to the VideoOutput.source propertyTopi Reinio2020-03-031-1/+2
| | | | | | | | | | Change-Id: If033ba6dbd0653a3a7c3ad882047a8e71f1b24e8 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-03-030-0/+0
|\| | | | | | | Change-Id: I7dce6d01ae64ca59efd7e70eef9fe465a0634f8a
| * Increase margin of error in tst_QMediaObject::notifySignals()VaL Doroshchuk2020-03-021-1/+1
| | | | | | | | | | | | | | | | | | From 50% to 200%. Change-Id: Ie2ce859ceba513eede63ab6c55cd5637916a48be Fixes: QTBUG-82582 Reviewed-by: Asmo Saarela <asmo.saarela@qt.io> Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | Deprecate functions taking bearermanagement-related classesMÃ¥rten Nordheim2020-03-024-5/+38
| | | | | | | | | | | | | | | | | | | | | | | | Bearer Management is going away [ChangeLog][Deprecation Notice] Functions taking or returning QNetworkConfiguration have been deprecated. Change-Id: Iff2e6c5386e5c6ba9da81067ac643bd1eb0d7500 Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | Use Qt::SplitBehavior in preference to QString::SplitBehaviorEdward Welbourne2020-03-024-7/+7
| | | | | | | | | | | | | | | | The Qt version was added in 5.14 "for use as eventual replacement for QString::SplitBehavior." Move another step closer to that goal. Change-Id: I72aa0ccae06030043ba40f0f908826e5ca4a31ab Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Increase margin of error in tst_QMediaObject::notifySignals()VaL Doroshchuk2020-03-021-1/+1
| | | | | | | | | | | | | | | | | | | | From 50% to 200%. Change-Id: Ie2ce859ceba513eede63ab6c55cd5637916a48be Fixes: QTBUG-82582 Reviewed-by: Asmo Saarela <asmo.saarela@qt.io> Reviewed-by: Andy Shaw <andy.shaw@qt.io> (cherry picked from commit a7f0ba8c2d64dcb942069a6fd5ea17166b3b7a6d)
* | Update plugins.qmltypes for 5.15Jani Heikkinen2020-02-271-3/+33
| | | | | | | | | | | | Task-number: QTBUG-82253 Change-Id: I31080d4fcfeb3c955a503164327eb9b548381f70 Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
* | Examples: request Android storage permissions when using QStandardPathsAssam Boudjelthia2020-02-274-0/+50
| | | | | | | | | | | | | | | | | | | | Some examples uses QStandardPaths, on Android permissions might need to be explicitly requested to read/write to those paths. Task-number: QTBUG-80717 Change-Id: Ifb52e1c13ed99dcc82fb79a305b64e538596db7c Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | Merge remote-tracking branch 'origin/5.14' into 5.15v5.15.0-beta1Qt Forward Merge Bot2020-02-227-9/+26
|\| | | | | | | Change-Id: I04934575bd661b80b1f012a7e825dcd753d26908
| * WMF: Fix memory leak in MFPlayerSession::getStreamTypeVaL Doroshchuk2020-02-211-0/+3
| | | | | | | | | | | | | | | | | | Receives a pointer to the IMFMediaTypeHandler interface. The caller must release the interface. Fixes: QTBUG-80037 Change-Id: Id0222c9f8ee0f88db8cd53c9492dce053d0bfb35 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
| * Android: Fix invalid use of incomplete type 'QDir'VaL Doroshchuk2020-02-211-0/+1
| | | | | | | | | | | | Change-Id: Id0a2d380eae9adce441c9eb82367435894e7a7d8 Fixes: QTBUG-82370 Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
| * AVF: Don't override AVPlayerLayer's bounds if already setVal Doroshchuk2020-02-201-3/+5
| | | | | | | | | | | | | | | | | | AVPlayerLayer's bounds can be changed while resizing, and should not be overridden by default/native size. Fixes: QTBUG-65536 Change-Id: I771b13e58606663ded80df3665454007d28836b7 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| * AVF: Fix applying viewfinder settings for iOSVal Doroshchuk2020-02-183-5/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. If a resolution of the viewfinder is requested to be changed, it is not needed to check available formats for highResolutionStillImageDimensions (since it is viewfinder resolution and not still images). format.highResolutionStillImageDimensions returns the highest resolution still image that can be produced by the format. Using this format will cause wrong resolution in the viewfinder. 2. Seems iOS requires to call beginConfiguration/commitConfiguration to apply any changes. commitConfiguration is currently called when the camera gets active. In case if settings are changed after starting the camera, they will not be applied. To fix that, added beginConfiguration/commitConfiguration. Fixes: QTBUG-79935 Change-Id: I60b6e08887a82e4337a2a302b8e5513c65b26e61 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| * Fix false pulse audio dependency of libQt5MultimediaWidgetsJoerg Bornemann2020-02-161-1/+2
| | | | | | | | | | | | | | | | | | | | | | The assignment 'QT += multimedia-private' exports multimedia-private's pulse audio dependencies. Fix this by using 'multimedia' as public dependency and 'multimedia-private' as private dependency. Fixes: QTBUG-62626 Change-Id: I156b705706567d9cde1dd0f44c75acb36938384d Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Dmitry Shachnev <mitya57@gmail.com>
* | AVF: Introduce adoption of AVAssetResourceLoaderDelegate protocolVal Doroshchuk2020-02-204-13/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | AVAssetResourceLoaderDelegate allows to load custom resources. Implemented resourceLoader:shouldWaitForLoadingOfRequestedResource to read data from QIODevice. The device should be seekable, and already should have all data available. Since there is a need to know total size of the stream. So the media player will wait for QIODevice::readyRead before loading the resource. Also it requires to have url together with the stream: QMediaPlayer->setMedia(QUrl("does_not_matter.mp3"), buffer); Since the backend uses extension to determine type of the stream. Fixes: QTBUG-69101 Change-Id: I8ab0b69f668ccd67c42a8e5d5c1ad518d3306cce Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | Remove usage of QGL* APIsVaL Doroshchuk2020-02-187-131/+90
| | | | | | | | | | | | | | | | | | QOpenGL API should be used instead. Task-number: QTBUG-74409 Fixes: QTBUG-81902 Change-Id: I80d09cba79248451cf211eabd87651301ae18b63 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-02-152-3/+11
|\| | | | | | | Change-Id: Ia0c325dc50b9a5a1cdd205609ba688ad9874f297
| * Android: Flush qrc to tmp file with original nameVaL Doroshchuk2020-02-121-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since android.media.MediaPlayer does not support playing from data stream, we create a temporary file and copy data to it. Each such file contains unique name. When the app is killed, dtor of QMediaPlayer is not called and thus the temporary file is not deleted. Also these files are located inside app's location, e.g. /data/data/org.qtproject.example.app/files/, and no possibility to delete them automatically. Added a fix to rename the temporary file to original name which allows to keep only one copy of the file when the app is killed. Change-Id: I36c8bc4dd339fbf4091689a05f4d9c7febf046a5 Fixes: QTBUG-59517 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| * AVF: Only resume playback after a stalled buffer if really neededDominik Holland2020-02-061-1/+2
| | | | | | | | | | | | | | | | | | | | When AVFoundation reports that the media is now buffered, we only should resume the playback if the QMediaPlayer is in the according state. Fixes: QTBUG-81912 Change-Id: Idba30ecf6c9c7b87a1c67896d89faa9a1bceae10 Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
| * AVF: Don't use deprecated AVPlayerItem::seekToTime::CMTimeVal Doroshchuk2020-02-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | AVPlayerItem::seekToTime::CMTime is deprecated since 10.13 Also fixed to use accurate seeking by passing a time value of kCMTimeZero for both toleranceBefore and toleranceAfter. Fixes: QTBUG-81804 Change-Id: Ifafeb1fb5ca66ecba14d77abf315ebe6ffd45eab Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | Deprecate QMediaService and QMediaControlv5.15.0-alpha1VaL Doroshchuk2020-02-0639-1/+39
| | | | | | | | | | | | | | | | | | | | Will be moved to private API. [ChangeLog] QMediaService and QMediaControl classes are now deprecated. Task-number: QTBUG-75943 Change-Id: Ic40013ea52301cad812886e22940efa3b096f875 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-02-051-0/+25
|\| | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: Id86ba6a51a1543ba56504af8bb262c8666db9f50
| * Bump versionAlexandru Croitor2020-02-021-1/+1
| | | | | | | | Change-Id: Id8bb08f9f1cbfcb59478d1f5a2ac091819978ec4
| * Merge remote-tracking branch 'origin/5.14.1' into 5.14Qt Forward Merge Bot2020-01-271-0/+25
| |\ | | | | | | | | | Change-Id: I2ee29732bcca07c17fa64d654b729e0ce4ac3144
| | * Merge 5.14 into 5.14.1v5.14.1Kari Oikarinen2020-01-152-3/+1
| | |\ | | | | | | | | | | | | Change-Id: Iedfc42f2d06213a0871ebc55dc9c3cac665c38c3
| | * | Add changes file for Qt 5.14.1Antti Kokko2020-01-151-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + d986420f3f35d096014ca67f6c40fc3c757091f7 QMediaPlaylistProvider::removeMedia(int,int): fix wrong sequence + fa66653d99052f6fce74824ab12e0148922e27bc Make the code compatible with future versions of QNX libasound + d17801df092f6776eaffb7428ba420fba3a45b4b Don't load the specialist videonode plugins when using webgl + c353b0fb5b76da0612d7c140ad7f084b257583db Bump version + ab3fb38237ab73a3cb8e571b3dbcfb3107f63b7c Add binary compatibility files for qtmultimedia 5.14 branch + 61a6a47efc48d46f70bdb8228dbfbf5114dc5aa9 Fix the build with -no-opengl + a8f83d4a3ebbe106a84183178b715bdff24768b3 Fix the build with -no-gui Change-Id: I4438489d451d22d2ec1db494056b72610a41be03 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* | | | GStreamer: Introduce reverse playbackVaL Doroshchuk2020-02-032-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed to use negative playback rate. Change-Id: I864e76710f2ea176262639d5e91059c71b9bb382 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | | | Make video surfaces constantVaL Doroshchuk2020-01-304-18/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Video surface property for QVideoWidget, QGprahicsVideoItem and QDeclarativeVideoOutput should be CONSTANT and kept the same value while the object is alive. Note, currently this property can be suddenly changed, when videoSurface is mixed/used together with source property. To keep the patch simple, this will be fixed in next commits. Change-Id: I80046524a70bcb70bb45e7f1bbae74bff1b3b0f2 Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | | | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-01-282-1/+3
|\| | | | | | | | | | | | | | | Change-Id: Ic6618a0d2e40f7008d766d861f4d2cb0190a94dd
| * | | AVF: Always lock the capture device when start the cameraVal Doroshchuk2020-01-242-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the viewfinder settings are valid, need to lock the capture device to avoid reseting settings to default values. See also a8123e737140719549252806e0e6a1c121359f79 Fixes: QTBUG-81048 Change-Id: I834815ef6c5ef28d8017d04bdb9d5256c02d1de7 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* | | | Introduce MediaPlayer::videoOutput propertyVaL Doroshchuk2020-01-228-3/+186
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This property holds the target video output, and allows to render video to multiple items. MediaPlayer { videoOutput: [videoOutput1, 1, "ignored", videoOutput2.videoSurface] } Incorrect inputs are ignored. The property also accepts single either QAbstractVideoSurface or QDeclarativeVideoOutput objects. Task-number: QTBUG-32939 Change-Id: I41fc557dcac60be6d70b3889036ff4ae75734cc0 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* | | | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-01-215-221/+184
|\| | | | | | | | | | | | | | | Change-Id: I0bc0e3caceaca0def467237983d9c611c46c5d7a
| * | | GStreamer: Don't create encoding profile if container is not supportedVaL Doroshchuk2020-01-201-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It does not make sense to create a GstEncodingContainerProfile with a non-supported media container. The correct way to use it is to provide supported values for mediaContainer together with videoCodec. mediaContainer: "video/quicktime, variant=(string)iso" videoCodec: "video/x-h264" Task-number: QTBUG-81075 Change-Id: Ia25fff32a39dc9dd512c353d1ced7d7d7e4f6370 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
| * | | Android: JNI_OnLoad return JNI_VERSION_1_6 instead of JNI_VERSION_1_4Assam Boudjelthia2020-01-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update instance of old code using JNI_VERSION_1_4 to make the code consistent. Change-Id: I21a3f7eb43614896536838f83bd5eb6027af64c1 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| * | | Android: Fix loading multimedia pluginsVaL Doroshchuk2020-01-171-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ater ec0e9f29dfd0b45edf5fd33e8ccf763e604612d7, the logic of accessing to platform plugins has been changed. For Android the plugin suffix is not allowed to have "subdirs" anymore in QFactoryLoader. But some multimedia plugins are located in subdirs like: video/videonode or video/declarativevideobackend And the plugin loader was not able to find plugins by filter: libplugins_video/videonode_*.so Fixes: QTBUG-81006 Change-Id: Ie5bcfa0792cdb67073f08917541ae89387f1c0b5 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
| * | | Doc: Fix QCamera and Camera docsLeena Miettinen2020-01-172-182/+140
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use \value for \qmlproperty enumeration instead of \table. Move some docs around. On C++ side, add leading sentences to \enum docs and remove empty lines from \value commands. Fix some language issues. Change-Id: If682c0a52d72babae563b075ed9ff987fdf16bd0 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
| * | | Doc: Explain that the camera consumes power in Camera.LoadedStateLeena Miettinen2020-01-172-36/+33
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | Fix the QDoc code to use \value for \qmlproperty enumeration. Remove empty lines within \value on the C++ side, because they break the docs. Fixes: QTBUG-81364 Change-Id: I5b26e4ec9d86292d63d70c3751865ca26ff13fa0 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* | | gsttools: do not check pointer before calling free()Rolf Eike Beer2020-01-201-6/+3
| | | | | | | | | | | | | | | Change-Id: I6deb8d5a282ecfe5cacc884ddfb3d4dc3ef3106d Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
* | | AVF: Check supported surface's pixel formats to enable glVal Doroshchuk2020-01-141-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Supported formats might be changed, thus need to inform the renderer control about this. If gl textures are supported by the surface, the video frames will be rendered to FBO instead of QImage, next time when the update request will be received. Change-Id: I7750def3e943ea2680bb8b83853cb987ab554f00 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>