summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add changes file for Qt 5.13.2v5.13.25.13.2Antti Kokko2019-10-151-0/+68
| | | | | Change-Id: I4cc304daa4098bd1209152bb84cae7ee93d92933 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* Bump versionFrederik Gladhorn2019-10-141-1/+1
| | | | Change-Id: Ic40941bd63720eb1d753abd457f5861782f99105
* Create QML camera.viewfinder eagerlyRatchanan Srirattanamet2019-10-081-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | QDeclarativeCameraViewfinder connects to QCamera's statusChanged() to update its chached settings when the status becomes LoadedStatus or ActiveStatus. However, it's updated after QDeclarativeCamera has signaled cameraStatusChanged because QDeclarativeCameraViewfinder connects the that signal after QDeclarativeCamera, making those connected to cameraSignalChanged still receiving old values despite camera.cameraStatus already changed. This commit moves the creation of QDeclarativeCameraViewfinder into the constructor of QDeclarativeCamera, before the later connects to signals. This make values in camera.viewfinder reflects the correct value by the time cameraStatusChanged is signaled. A side effect of this change is that camera.viewfinder.resolutionChanged and similar signals will be signaled before camera.cameraStatusChanged. This might not be as bad as it seems; if the user of resolutionChanged checks camera.cameraStatus, the value will be correct anyway as it's not cached. Change-Id: Ief0c3d55e441cc872d37de937ba54fed0f2b877d Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
* Fix qConvertFuncs to respect QVideoFrame::Format_ABGR32 in the endVal Doroshchuk2019-10-081-2/+3
| | | | | | | Additional to bf6ac0 commit, need to fix convert funcs Change-Id: I8eb82234557489e66bc179e1696afc154332b656 Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
* WinRT: Ignore media in MediaPlayer only if stream is not changed tooVal Doroshchuk2019-10-081-1/+1
| | | | | | | | | | When qrc media content is set, it allocates and opens QFile. If the same content is set again, the url remains the same, but it creats new QFile, and need to update by new stream. Change-Id: Iee6c50135bb8304177affbe70b27d24898fc5b5c Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
* DirectShow: Fix crash when media in qrc is set twiceVal Doroshchuk2019-10-081-1/+2
| | | | | | | | | | | When qrc media content is set, it allocates and opens QFile. If the same content is set again, the url remains the same, but it creats new QFile, and need to update DirectShowIOReader by new stream. Change-Id: If3f5c187c4e2987e1a593b45f9a46c3c1b77ce45 Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
* AVF: Emit StalledMedia when unbuffered and resume playback afterwardsVaL Doroshchuk2019-10-081-0/+13
| | | | | | | | | | | | If remote source is requested to play but there is a limitation in network bandwidth, StalledMedia status is never emitted, also the playback is not resumed after buffer gets full again. Based on AVPlayerItem.playbackLikelyToKeepUp introduced changing the media status and resuming the playback. Task-number: QTBUG-49806 Change-Id: If8aa10a1ea2cee2a40c679871b836d2dca622fcd Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
* Fix build with ALSA in non-system locationJoerg Bornemann2019-10-071-1/+1
| | | | | | | | This amends commit f0ea2641. Fixes: QTBUG-79014 Change-Id: Ib04d844ef64e335785408dc8d7e512a5a3651655 Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
* imx6: Fix mapping VPU texture using real physical address of dataVaL Doroshchuk2019-10-023-1/+34
| | | | | | | | | | | | | | | * Get real physical address of video frame data and provide it to imx6 vivante videonode to prevent memory leak from kernel. By default qtmultimedia does not depend on gstreamer-imx, but the plugin should exist on imx platform. So gstreamer_imxcommon will be disabled. And should be manually enabled in yocto receipt. Change-Id: I6e75746a2ba651d12bdd7697ae483699aad450fc Fixes: QTBUG-73084 Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
* Override QGraphicsItem::type in QGraphicsVideoItemVal Doroshchuk2019-10-021-0/+9
| | | | | | Fixes: QTBUG-45064 Change-Id: I6b4a7a4b92affe80fc288e08d514092ac3d6899a Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
* Gstreamer: also remove features when simplifying capsRatchanan Srirattanamet2019-10-021-0/+6
| | | | | | | | | | | | | | | | | | Some element can return caps with same resolution/framerate but different features. gst_simplify_caps() won't de-duplicate this, resulting in duplicated entries for the same resolution/framerate. This commit add calls to also remove features from the caps in addition to setting name to video/x-raw. The GST_CHECK_VERSION macro is added to maintain compatibility with earlier version of Gstreamer without GstCapsFeatures. [ChangeLog][CameraBin] Fixed duplicated entries in supported resolution/ framerate if the underlying element uses caps' features. Change-Id: I15101899eb0369925013ccc1d925afb890a01205 Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
* DirectShow: Don't seek if playback is stoppedVal Doroshchuk2019-10-011-3/+5
| | | | | | | | | | | | | | | | | | If the playback is already stopped, and after that new position is requested twice, e.g. stop(); setPosition(0); setPosition(0); this causes the playback to start. Need to postpone setting of new position until play is requested. Also no need to emit positionChanged when position is not changed. Fixes: QTBUG-68778 Change-Id: Ib62942ee155d9c8ed2310132dcc6b501dfef1a04 Reviewed-by: Christian Strømme <christian.stromme@qt.io>
* GStreamer: Recreate playbin after custom pipelineVaL Doroshchuk2019-10-012-29/+64
| | | | | | | | | | | | Currently if custom pipeline is set, old playbin elements are destroyed. And if normal url is passed again after the custom pipeline, it is unable to play. Because no playbin elements exist anymore. Adding a fix to recreate playbin elements if "not a pipeline url" is passed. Fixes: QTBUG-78079 Change-Id: I8b3498c4660639f5d757b322a136846ee82fdc28 Reviewed-by: Christian Strømme <christian.stromme@qt.io>
* DirectShow: Emit media status before errorVal Doroshchuk2019-10-011-3/+3
| | | | | | | | | | | | | | | Media status should be emitted before any error. Since error can cause changing the media and changing to new media status. Fixes BFAIL : tst_QMediaPlayerBackend::playlistObject() Compared values are not the same Actual (mediaStatusSpy.count()): 4 Expected (6) : 6 Task-number: QTBUG-46368 Change-Id: I8eb82e7a551d78abd143baa594cfda9bacd7e544 Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
* DirectShow: Fix tst_QMediaPlayerBackend::seekPauseSeekVal Doroshchuk2019-10-011-8/+12
| | | | | | | | | | | Fixed tests about start times. Since DirectShow can provide frames with negative start time, also from the beginning, also pixels can vary, e.g. (rgb) 255:0:0 would be 230:19:19 after decoding. Task-number: QTBUG-46368 Change-Id: I025f7cf9238ddf9ba2a04f63e3e54b77f3cceafe Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
* Fix leaking QVideoFilterRunnable when window is closedVal Doroshchuk2019-10-011-2/+1
| | | | | | | | | | | | | When QDeclarativeVideoOutput::releaseResources() is called, means the window is going to be destroyed and it is too late to use scheduleRenderJob() to clear filters. This beforeSynchronizingJobs will not be handled in this case. Which produces a leak of filter's runnable. Fixes: QTBUG-51588 Change-Id: I71ec351463a2c4136d8b7e241d61e628a1b0c64b Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* GstreamerPlayerControl: use new style connect syntaxRolf Eike Beer2019-09-301-30/+18
| | | | | Change-Id: I2fc8d9c8b951092498f11a4a31c6c890df9d7495 Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
* QGstreamerPlayerSession: build list of debug strings only onceRolf Eike Beer2019-09-301-4/+4
| | | | | Change-Id: I9aab0c5c20f97bc45fa26cc3a0faf6cf10c916d2 Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
* DirectShow: Fix tst_QMediaPlayerBackend::surfaceTestVal Doroshchuk2019-09-271-0/+4
| | | | | | | | | | | | YVU formats are likely not supported by the codecs and the pipeline will not be negotiated in this case. Fixes BFAIL : tst_QMediaPlayerBackend::surfaceTest(YVU formats) 'surface.m_totalFrames >= 25' returned FALSE. (Expected >= 25, got 0) Task-number: QTBUG-46368 Change-Id: I6bf1a5822481a018549fe58aaf5fe79c79ff8456 Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
* DirectShow: Implement QMediaVideoProbeControl->flushVal Doroshchuk2019-09-273-1/+23
| | | | | | | | | | | | Need to flush when at least one frame is probed and stop is called, EOS or QMediaPlayer is destroyed. Fixes BFAIL : tst_QMediaPlayerBackend::probes() '(probeHandler.isVideoFlushCalled)' returned FALSE. () Task-number: QTBUG-46368 Change-Id: I09ebd6608c9a1b8a0a0707d83200d75ddb435734 Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
* CameraBin: do fetch viewfinder settings even after LoadedStatusRatchanan Srirattanamet2019-09-271-1/+1
| | | | | | | | | | | | | | | | Commit 84d0d87699a2a92b3207beae30a52f25e23acb65 (CameraBin: Postpone fetching supported viewfinder settings) checks if the camera is in LoadedStatus before fetching supported viewfinder settings. However, if viewfinder settings is never requested or not (yet) available during LoadedStatus, it won't try to fetch it at e.g. ActiveStatus. In that case, requesting supported viewfinder settings never works. [ChangeLog][CameraBin] CameraBin plugin now fetches supported viewfinder settings at status higher or equal to LoadedStatus if it has not been fetched. Change-Id: Ibd32c25feac9b1a133945e754d26181937190a24 Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
* Move QVideoFrame::Format_ABGR32 to the end of the Pixel FormatsVaL Doroshchuk2019-09-251-1/+1
| | | | | | | | | | | | | | Since ABGR32 was introduced in 5.13.0 but placed in the middle of the list, which breaks enum values. [ChangeLog] In Qt 5.13.0 binary compatibility was broken for usage of the enum QVideoFrame::PixelFormat by introducing QVideoFrame::Format_ABGR32. To minimize the impact of this, the break has been reverted, thus introducing a binary compatibility break with earlier Qt 5.13.x versions, but restoring compatibility with all earlier versions of Qt 5. Change-Id: I3c490f2fc30f3b6914306b2d496724f12729338e Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Fix deprecation condition for QMediaResourceVaL Doroshchuk2019-09-212-8/+0
| | | | | | | | | | | | Decided to update only docs that the class is obsolete. QT_DEPRECATED_SINCE is not needed. Also due to deprecation warnings (produced e.g. by Q_DECLARE_METATYPE), QT_DEPRECATED_X is not used. NOTE, QMediaResource will be removed from Qt 6 Change-Id: I24c6b58f90315880839dd137cab3108809a63760 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* MultimediaGstTools: fix string warnings when defining DEBUG_PLAYBINRolf Eike Beer2019-09-191-2/+4
| | | | | Change-Id: I0069b96f00830cd441b60bef5847b1543ba2c1af Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
* QMediaPlayer: use new connect syntaxRolf Eike Beer2019-09-181-11/+11
| | | | | | | Only the Q_PRIVATE_SLOTs remain. Change-Id: Id3daf8275e8510a99a7089d4a537d06a123b6a27 Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
* Extract QAudioProbe code snippetMariana Meireles2019-09-112-12/+52
| | | | | | | Adding the code to a snippet file Change-Id: Iee3a24a1d2f28bc8863cf321b0b55c0459708995 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* Fix building with namespaced QtChristian Stenger2019-09-113-4/+3
| | | | | Change-Id: I690fa71f171b821098d33ce5482c9de467b645d5 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* GStreamer: Use member initializationVaL Doroshchuk2019-09-1030-207/+116
| | | | | | Change-Id: I96026828c357677c84e880ea85e6e82b8c0495c7 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* DirectShow: Allow QMediaPlayer in secondary threadVal Doroshchuk2019-09-094-22/+29
| | | | | | | | | | | | | | | Since using of any COM objects must be only after CoInitialize(), otherwise CoCreateInstance() returns nothing which causes a crash. If QMediaPlayer is moved to another thread, loading of any content will also cause a crash because of COM is not initialized. Proposing to use thread_local ref counter to keep each thread initialized and avoid double initialization. Fixes: QTBUG-77163 Change-Id: I81c67d6407b853c824edd3b42454fddf792fd90c Reviewed-by: Christian Strømme <christian.stromme@qt.io>
* Include moc files after QT_END_NAMESPACEVal Doroshchuk2019-09-0957-72/+68
| | | | | | Fixes: QTBUG-76574 Change-Id: I69ef47bbd01967c3d7a0c5d1554fcdd29619ebfa Reviewed-by: Christian Strømme <christian.stromme@qt.io>
* Merge "Merge remote-tracking branch 'origin/5.12' into 5.13"Qt Forward Merge Bot2019-09-097-1/+71
|\
| * Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-09-087-1/+71
| |\ |/ / | | | | Change-Id: Idc377c82cc1d2bd53069babc7f14618ef46dc67b
| * Merge "Merge remote-tracking branch 'origin/5.12.5' into 5.12"Qt Forward Merge Bot2019-09-071-0/+35
| |\
| | * Merge remote-tracking branch 'origin/5.12.5' into 5.12Qt Forward Merge Bot2019-09-071-0/+35
| | |\ | |/ / | | | | | | Change-Id: I6137c73fe14e171aaa184e25ebc3a8374e4d91e2
| | * Merge 5.12 into 5.12.5v5.12.55.12.5Paul Wicking2019-08-231-3/+4
| | |\ | | | | | | | | | | | | Change-Id: If27d8e3bb898607c5bf07dbfc97476859ae24646
| | * | Add changes file for Qt 5.12.5Antti Kokko2019-08-221-0/+35
| | | | | | | | | | | | | | | | | | | | Change-Id: I282469f6c634283cec565b692b29b16cf0fdbea4 Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
| * | | DirectShow: Add startTime and endTime to QVideoFrameVal Doroshchuk2019-08-296-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the application seeks to a new position, the Media Session restarts the presentation clock at the specified seek time. The media source might deliver samples with a slightly earlier time stamp if the seek time does not fall on a key-frame boundary. And IMFSample->GetSampleTime will return time that is related to a position when the clock has been restarted, and can be also negative. So if it needs to have times from the beginning, it would require to add seeked position to times from IMFSample. It also reverts c4de056a6aa44567cdbf2ce91a464e597ad4af8f Fixes: QTBUG-77849 Change-Id: I1a7cb7bd18aee73087a61d2ed2c3d644ad0fbd50 Reviewed-by: Christian Strømme <christian.stromme@qt.io>
| * | | DirectShow: Fix crash when there is no surface on flush()Val Doroshchuk2019-08-291-1/+1
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | When QDeclarativeRendererBackend is being destroyed, it clears the surface and postpones releasing IMediaControl, which is done on worker thread. It also calls flush() where null surface is used. Fixes: QTBUG-77829 Change-Id: I327583c1f8fb7585dbec3c3fb7e80d0155cc4819 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | | Merge "Merge remote-tracking branch 'origin/5.13.1' into 5.13"Qt Forward Merge Bot2019-09-051-0/+46
|\ \ \
| * \ \ Merge remote-tracking branch 'origin/5.13.1' into 5.13Qt Forward Merge Bot2019-09-051-0/+46
| |\ \ \ |/ / / / | | | | | | | | Change-Id: Ibccd00bdb62b0cce00882bafa602d1cef8051aeb
| * | | Add changes file for Qt 5.13.1v5.13.15.13.1Antti Kokko2019-08-091-0/+46
| | | | | | | | | | | | | | | | | | | | Change-Id: I57e7aa684f589159f7957d68122c0ae983b2a70c Reviewed-by: Christian Strømme <christian.stromme@qt.io>
* | | | Fix crash when VideoOutput.sourceRect is requested but playback is stoppedVaL Doroshchuk2019-09-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the playback is stopped, QAbstractVideoSurface::stop is called where current surface format is reset. And when sourceRect is requested before QAbstractVideoSurface::surfaceFormatChanged() is handled, it produces an ASSERT. Suggesting to use cached surfaceFormat instead of removing the ASSERT. To reproduce: MediaPlayer { onStatusChanged: console.log(output.sourceRect) } Change-Id: I73ad72f1e4968fe45266827ec5c7e3b36333ee30 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | | | Merge "Merge remote-tracking branch 'origin/5.12' into 5.13"Qt Forward Merge Bot2019-08-281-3/+4
|\ \ \ \
| * \ \ \ Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-08-281-3/+4
| |\ \ \ \ |/ / / / / | | | _ / | | | / Change-Id: I896f59dcbad36c6cebf328a2799b9fe94e72f3d2
| * | | CameraBinV4LImageProcessing: Show additional info in case of errorsVaL Doroshchuk2019-08-201-3/+4
| | |/ | |/| | | | | | | | | | Change-Id: I1ed22d646c2ff230217e1ecefaf37a0a45fa4b54 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | | Merge "Merge remote-tracking branch 'origin/5.12' into 5.13"Qt Forward Merge Bot2019-08-206-1/+116
|\ \ \
| * \ \ Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-08-206-1/+116
| |\ \ \ |/ / / / | | _ / | | / Change-Id: Ic46475146abe7b8493ae343e8332736fa6dcc3af
| * | GStreamer: Add docs for custom pipelinesVaL Doroshchuk2019-08-146-1/+116
| | | | | | | | | | | | | | | | | | | | | | | | | | | The feature was added in 5.12.2. And it is relevant only for GStreamer backend. Change-Id: I87e22e506158dc61bb7f111e74806e7eb8c28d7a Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* | | Merge "Merge remote-tracking branch 'origin/5.12' into 5.13"Qt Forward Merge Bot2019-08-137-10/+59
|\ \ \ | |_|/ |/| |
| * | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-08-137-10/+59
| |\ \ |/ / / | | _ | | Change-Id: I428528333e89214d96acef5c2ba8ea832b2b145f