summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge 5.14 into 5.14.1v5.14.15.14.1Kari Oikarinen2020-01-152-3/+1
|\ | | | | | | Change-Id: Iedfc42f2d06213a0871ebc55dc9c3cac665c38c3
| * AVF: Set the stopped state before emitting the status after EOSVal Doroshchuk2020-01-131-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | Fixed a bug when the media status was changed and emitted, but the state was kept old, this prevented to start playing again in a loop if the loops were requested. This is a regression since 9dbdd5d. Fixes: QTBUG-81122 Change-Id: Id2c7d03a25cc22f7f45c6017d2da0af9bb52e528 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| * AVF: Don't apply settings if the camera is not active yetVal Doroshchuk2020-01-091-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In macOS, a capture session can still automatically configure the capture format after you make changes. If frame rates are applied to the capture device and the camera is still not active, these rates will be overridden by old values when the capture session will be started. For this purpose lockForConfiguration is currently used within startRunning method of capture session. But in case if the settings are already applied to the capture device, we don't call lockForConfiguration within starting of the capture session (since it is needed to be called only when the settings have been changed). Suggesting to postpone setting of the format (to the capture device) until the camera is started. This will lead to apply settings before startRunning method with proper configuration lock. Fixes: QTBUG-81048 Change-Id: I04664e7b63474ce28571e888e524170b995a38d6 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | 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>
* Fix the build with -no-guiLiang Qi2020-01-031-0/+1
| | | | | | Task-number: QTBUG-74602 Change-Id: If2e4c8ad9822999e9fe4c5d8dd820cc78e1e1924 Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
* Fix the build with -no-openglLiang Qi2020-01-021-1/+1
| | | | | | Task-number: QTQAINFRA-3407 Change-Id: I6719856c5e9749b7b3108406f6ace91001515379 Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
* Add binary compatibility files for qtmultimedia 5.14 branchMilla Pohjanheimo2019-12-172-0/+36028
| | | | | | | BC files built against 5.14.0 added. Change-Id: Ibf60167e1fcb47ad4ceda492c33f12c980f99a82 Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
* Bump versionDaniel Smith2019-12-161-1/+1
| | | | Change-Id: Id5c7f408cd3103bad70578049237010cbbcf2aeb
* Merge remote-tracking branch 'origin/5.14.0' into 5.14Qt Forward Merge Bot2019-12-132-0/+57
|\ | | | | | | Change-Id: I29d8f54569c08b66576ce65737753dc9c3d84ebf
| * Fix build: don't let X11/Xlib.h's None interferev5.14.0-rc2v5.14.05.14.0Thiago Macieira2019-12-041-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mesa's EGL headers #include <X11/Xlib.h> In file included from /usr/include/X11/Xlib.h:44, from /usr/include/EGL/eglplatform.h:130, from /usr/include/EGL/egl.h:39, from qsgvideonode_egl.h:48, from .moc/moc_qsgvideonode_egl.cpp:10: qurl.h:135:9: error: expected identifier before numeric constant 135 | None = 0x0, | ^~~~ Similar to e16ac8b55c36586aa67b1d4ec5e1b4edf03cd06b (5.4). Change-Id: Ic96c456e54524e25b03ffffd15dcc08f16385cbb Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| * Add changes file for Qt 5.14.0v5.14.0-rc1Antti Kokko2019-11-251-0/+54
| | | | | | | | | | Change-Id: Ia0457a2d6e5cedc1aae9e980ccf82763147c0bcc Reviewed-by: Christian Strømme <christian.stromme@qt.io>
* | Don't load the specialist videonode plugins when using webglAndy Shaw2019-12-091-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | When the webgl platform is being used then we do not want to load the videonode plugins because this will cause it to potentially use a backend that is not going to be supported by WebGL. This is due to the fact that it will potentially use extensions to OpenGL (such as the imx6 ones). But since the rendering is not happening on the device, but in the browser then the standard backends will work fine in this case. Fixes: QTBUG-79181 Change-Id: I03021d4ec01d9447dd1ca3815d32a167392ac781 Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
* | Make the code compatible with future versions of QNX libasoundJames McDonnell2019-12-022-0/+12
| | | | | | | | | | | | | | | | Some changes are being made to improve the consistency of the API. Change-Id: Idb4b8ba5d73a5242c25d306dcc7c77e3654ac3b6 Reviewed-by: Dan Cape <dcape@qnx.com> Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
* | QMediaPlaylistProvider::removeMedia(int,int): fix wrong sequenceRolf Eike Beer2019-11-261-1/+1
|/ | | | | | | Calling this with (1,2) on a list with 4 items would remove 1 and 3 instead. Change-Id: I8135c982889c9f65daac9ca996adb3049014bf9d Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
* Android: Remove usage of qt_androidRequestPermissionVal Doroshchuk2019-11-154-15/+13
| | | | | | | Use specific function instead, e.g. qt_androidRequestCameraPermission. Change-Id: I925e4d8ac4f1993c073930a79453894dd516d769 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Android: Don't close camera when recording permission is askedVal Doroshchuk2019-11-157-9/+22
| | | | | | | | | | | | | | | | If camera permission is granted and recording is requested it also requires recording audio permission. If it was not granted before the popup will be shown to ask the user to grant the permission and the app goes to inactive state, which destroys the camera handlers. When the camera is loaded but the app requires additional permissions, it should not destroy the camera. Change-Id: Iee3662a7ac3381b0eb29190779b0116f9f64304f Fixes: QTBUG-79909 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Merge remote-tracking branch 'origin/5.13' into 5.14Qt Forward Merge Bot2019-11-142-0/+38
|\ | | | | | | Change-Id: Ie351f3c36eecf9e83a5b6a55ec0aac27387b5656
| * Android: Fix fetching video frame data from the GUI thread5.13Val Doroshchuk2019-11-122-0/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If QAbstractVideoSurface is not used on rendering thread added a way to pass shared opengl context via GLContext surface property. Camera and media players that are created in Qt Quick will usually have their rendering done on the render thread, but the callback for custom video surface(s) (or probes) will usually be handle on the GUI thread, so to make it convenient to for the user to access the frame data, which is rendered on request, we now set-up context sharing and render to a fbo on the calling thread, if needed. Task-number: QTBUG-69333 Change-Id: I4cc5c1f741c82376f1402a047b946b59281c9a4c Reviewed-by: Christian Strømme <christian.stromme@qt.io>
* | Doc: Fix documentation warningsTopi Reinio2019-11-132-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Mark member functions of \internal classes also as \internal, as otherwise QDoc fails to match function documentation with the declaration in the header. Comment out one instance of \instantiates referring to an internal class. Fixes: QTBUG-79834 Change-Id: I056c060537ee60beca128166ae3903ae3289a413 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* | Merge remote-tracking branch 'origin/5.13' into 5.14Qt Forward Merge Bot2019-11-128-25/+36
|\ \ | |/ | | | | Change-Id: I5b99b3d05502e15373ebaedcad06d6ab4d25d387
| * QGstreamerPlayerControl: do not touch m_mediaStatus if it is EndOfMediaRolf Eike Beer2019-11-111-4/+4
| | | | | | | | | | | | | | | | It would be reset to this state at the end of updateMediaStatus() anyway, so simply leave it alone. Change-Id: I7fa24773ebb1dd43ecfa8d7eb28d6f8e7862fa75 Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
| * opensl: support android voice comm preset in order to trigger aecBrad Davis2019-11-113-1/+5
| | | | | | | | | | | | | | | | | | OpenSL ES support acoustic echo cancellation via the SL_ANDROID_RECORDING_PRESET_VOICE_COMMUNICATION preset, but this isn't exposed through Qt's wrapping layer. This change exposes new Qt constants to enable the use of this feature Change-Id: Ie64a949313b5a5b35d24159d3549290893ce32dd Fixes: QTBUG-70368 Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
| * GStreamer: Fix crash when video sink is used when it has been destroyedVaL Doroshchuk2019-11-051-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When custom pipeline is requested, all playbin related elements must be cleared. Also when QMediaPlayer is destroying, it disables showing preroll frames, property of the video sink, which was already destroyed. Destroying of m_videoOutputBin decreases refcounter for m_videoSink, since the video sink is owned by m_videoOutputBin. Fixes: QTBUG-79753 Change-Id: I2fcbd19372caf46adf2ae1ed2e5a7d0ee70040ad Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| * AVFMediaAsserWriter: remove deprecated declrationTimur Pocheptsov2019-11-053-20/+24
| | | | | | | | | | | | | | | | | | | | Interface in headers should not contain i-var declarations, these days it must be in implementation part. Also, replace quite suspicious 'load' with 'loadAquire' to pair 'storeRelease'. Since I have QT_USE_NAMESPACE in *.mm file, no need in ugly QT_PREPEND_NAMESPACE macro anymore. Change-Id: Ia19e3c5b68687030c97e8e8e982ae89627e909f9 Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
* | Merge remote-tracking branch 'origin/5.13' into 5.14v5.14.0-beta3Qt Forward Merge Bot2019-11-057-59/+129
|\ \ | |/ | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I255dc22dc21d3629a41a8c2ae2076c48b594e626
| * ALSA: Calculate buffer size based on min period timeVaL Doroshchuk2019-11-041-19/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When defualt buffer size (100000us) and period time (20000us) are out of range, currently buffer size is computed with respect of either 2 or 4 chunks of maximum buffer time. Which is not enough. Fixing computing of buffer time based on minimum period time: How many minimum periods could fit in maximum suggested buffer time. Fixes: QTBUG-43256 Task-number: QTBUG-79526 Change-Id: I722e5145e3b6d323e306da420ec764db3575225f Reviewed-by: Christian Strømme <christian.stromme@qt.io>
| * Qt Mumtimedia - fix build for iOSTimur Pocheptsov2019-11-011-4/+4
| | | | | | | | | | | | | | | | | | Since RestrictedBool conversion operator was introduced, objective-C method calls require explicit .data() on our smart pointers. Fixes: QTBUG-79686 Change-Id: Ie32ebf0442cd56a01466aa58b89651d7c293de6d Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
| * Merge remote-tracking branch 'origin/5.13.2' into 5.13Qt Forward Merge Bot2019-10-302-1/+69
| |\ | | | | | | | | | Change-Id: I6bd582b1d4dee508c0e694b806b43c85c55fddd4
| | * 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
| * | Build without OpenGL supportAndy Shaw2019-10-243-12/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | There is support for rendering video without OpenGL on most platforms although some features are unavailable as a result, so we can make sure that what is available can be used. Change-Id: I63938e8e4e8063fcc2064d0f9d8d5f10e0fb06f9 Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
| * | QMediaPlayList: use new style connect syntaxRolf Eike Beer2019-10-231-24/+24
| | | | | | | | | | | | | | | Change-Id: Idf13b2f851b78a9134b0c22ec9333f28f5b265cf Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
* | | Merge remote-tracking branch 'origin/5.13' into 5.14Qt Forward Merge Bot2019-10-221-21/+4
|\ \ \ | |/ / | | | | | | Change-Id: Ib880ad9150a59700878942fa6c3b711004bec4b0
| * | Fix tst_qcamerabackend.cpp to pass if capturing to JPEG is not supportedVal Doroshchuk2019-10-151-21/+4
| |/ | | | | | | | | | | | | | | | | | | | | DirectShow capture control supports only RGB32 to capture to buffer, which fails the test. Decided to fix the test to avoid checking against Jpeg format and just make sure that it returns proper QImage. Change-Id: Ibcd565d6157cf3543eb15d3e1e371df271fc358c Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | GStreamer: Add support of Androidv5.14.0-beta2Val Doroshchuk2019-10-1810-2/+305
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since for Android GStreamer is distributed in archives, and should be staticlly linked, so by default it is not built and should be explicitly enabled within configuring by -gstreamer option. (currently it is auto and enabled if gstreamer exists) ("libs" of the gstreamer library in configure.json is empty to prevent any libs to be added while building any code that uses gstreamer library) Some base gst archives are fully included to Qt5MultimediaGstTools. Users would need to just use: QT += multimediagsttools-private Before building, GSTREAMER_ROOT_ANDROID env var should be set to point to gst binaries. Also all necessary plugins must be registered in user's code by GST_PLUGIN_STATIC_DECLARE/GST_PLUGIN_STATIC_REGISTER macros after QGstUtils::initializeGst(). and e.g. project file might contain: INCLUDEPATH += $$(GSTREAMER_ROOT_ANDROID)/armv7/include/ \ $(GSTREAMER_ROOT_ANDROID)/armv7/include/gstreamer-1.0 \ $(GSTREAMER_ROOT_ANDROID)/armv7/include/glib-2.0 \ $(GSTREAMER_ROOT_ANDROID)/armv7/lib/glib-2.0/include LIBS += -L$$(GSTREAMER_ROOT_ANDROID)/armv7/lib/ \ -L$$(GSTREAMER_ROOT_ANDROID)/armv7/lib/gstreamer-1.0 \ __here_list_of_plugins__ See video/android/gstreamer example Change-Id: Ie4e586fa8489f1bd23622763f5578abed1729272 Task-number: QTBUG-72125 Reviewed-by: Andy Shaw <andy.shaw@qt.io> Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
* | Merge remote-tracking branch 'origin/5.13' into 5.14Qt Forward Merge Bot2019-10-154-6/+16
|\ \ | |/ | | | | | | | | | | | | Conflicts: src/multimedia/video/qvideoframe.cpp src/plugins/directshow/player/directshowplayercontrol.cpp Change-Id: I00840245e35861cf4fe1d62789815ca125b2052a
| * 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>
* | Remove Format_ABGR32 from supported formats for sq texture video nodeVaL Doroshchuk2019-10-101-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Format_ABGR32 was introduced together with gst opengl support. And is supposed to be used with QT_GSTREAMER_USE_OPENGL_PLUGIN=1, Which should be fine for Raspberry Pi, but suddenly does not work for iMX boards. RPI's omxh264dec provides buffers in RGBA format, and corresponding textures will be created using GL_RGBA. Since we return Format_ABGR32 as supported format, which is RGBA, no conversion is needed and everything was ok. But for iMX, imxvpudec provides buffers in I420 format. And textures will be created using GL_RED with only 1 plane. Following patch https://bugzilla.gnome.org/show_bug.cgi?id=779067 requests RGBA too. Since incaps contains I420 and RGBA, and we say that we support RGBA, this leads to use buffers in I420 but *passthrough* in gst_gl_color_convert_element_prepare_output_buffer(). Since incaps and outcaps contain the same video format. No conversion will be done there and textures will be rendered incorrectly. Removing support of Format_ABGR32 from texture video node will cause to ignore requested RGBA from DIRECTVIV and perform converting, I420->BGRx on iMX and RGBA->BGRA on RPI. QT_GSTREAMER_USE_OPENGL_PLUGIN should be used together with decoders that use gpu memory. Otherwise some converting/uploading operations will be done which will also introduce some performance issues, so not recommended to be used for iMX. Change-Id: I8f037316c40587c81b2116c43a7262c6a70a5b44 Fixes: QTBUG-78855 Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
* | Fix qConvertFuncs to respect QVideoFrame::Format_YUV422PVal Doroshchuk2019-10-081-3/+3
| | | | | | | | | | | | | | After changing sequence in QVideoFrame, need to fix qConvertFuncs Change-Id: Ie022676a66d9c47a1b89cf5ef61c2146921a2a0b Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
* | Merge remote-tracking branch 'origin/5.13' into 5.14Qt Forward Merge Bot2019-10-0811-47/+135
|\ \ | |/ | | | | | | | | | | Conflicts: src/multimedia/configure.json Change-Id: Ie887a5f4d718cb3e082b0e2ee996c6687af330cb
| * 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>