summaryrefslogtreecommitdiffstats
path: root/src/plugins
Commit message (Collapse)AuthorAgeFilesLines
* DirectShow: Change parameter of qt_evr_pixelFormatFromD3DFormat() to DWORDFriedemann Kleint2017-06-203-3/+3
| | | | | | | | | | | | Fixes g++ warnings: ..\common\evr\evrhelpers.cpp: In function 'QVideoFrame::PixelFormat qt_evr_pixelFormatFromD3DFormat(D3DFORMAT)': ..\common\evr\evrhelpers.cpp:143:5: warning: case value '842094158' not in enumerated type 'D3DFORMAT {aka _D3DFORMAT}' [-Wswitch] case D3DFMT_NV12: ..\common\evr\evrhelpers.cpp:145:5: warning: case value '842094169' not in enumerated type 'D3DFORMAT {aka _D3DFORMAT}' [-Wswitch] case D3DFMT_YV12: Change-Id: I11869144b34d848bd68434d3a062852608518978 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* DirectShowPlayerService::doSetVideoProbe(): Break out of loopFriedemann Kleint2017-06-201-1/+2
| | | | | | | | | | | | | | Fix g++ 7.1 warning: player\directshowplayerservice.cpp:724:9: warning: this 'if' clause does not guard... [-Wmisleading-indentation] if (SUCCEEDED(DirectShowUtils::connectFilters(m_graph, m_source, m_videoSampleGrabber->filter(), true))) player\directshowplayerservice.cpp:726:13: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if' break; Amends 8e4d966f4e5546787257de046d2c3af8a19214b4. Change-Id: I491e14e0116140d2ebb870441c2f048a2d7ddc31 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* DirectShow: Silence g++ warnings about missing initializers for AM_MEDIA_TYPEFriedemann Kleint2017-06-201-0/+10
| | | | | Change-Id: I9f764077d257dadfe1641e9bd446b6939c381173 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* Fix goto bypassing variable initializationThiago Macieira2017-06-191-3/+1
| | | | | | | | Though it's a pointer. Task-number: QTBUG-60464 Change-Id: Ia3e896da908f42939148fffd14c660fd8da43aa2 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* OpenSL ES: Fix crash caused by overcommitting device with dataMika Salmela2017-06-121-2/+5
| | | | | | | | | Sometimes m_format.bytesForDuration(delta) is larger than the QByteArray containing the data. Therefore select the minimum of these. Task-number: QTBUG-61085 Change-Id: I20a8ffb77095aecd2711f53d4c9fc7da7f9ae8e2 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* Emit the StoppedState change after the file has finished writingAndy Shaw2017-05-232-6/+12
| | | | | | | | | | | Where possible, we should be emitting the stateChanged() signal to StoppedState when we know the file is no longer being written to. The finializing status can be used to indicate it is finishing and when it is actually finished then StoppedState should be used. Task-number: QTBUG-50588 Change-Id: Ie3ac1c5cd00a6a36978e72b5485622e3302054ce Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* DirectShow: Expose the camera control interfacev5.9.0-beta4Christian Stromme2017-05-032-0/+22
| | | | | | | The interface is needed to implement Qt's camera control classes. Change-Id: I468527dd1f5e9e7a0f8868f0b7addc3c069adf54 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* DirectShow: Merge the helpers and common folderChristian Strømme2017-05-0322-25/+19
| | | | | Change-Id: Ie1c39c26ae6dec288daafb24b5aa0b6cc2bdd218 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* DirectShow: Enable audio and video probes in DirectShowChristian Strømme2017-05-033-17/+381
| | | | | | | | | | | | This change enables the video and audio probe functionality, so it can be used with the media player. [ChangeLog][DirectShow] Added support for audio and video probes in the mediaplayer. Task-number: QTBUG-56415 Change-Id: If6f36a693b1d22372eab130df07d435c9df5a796 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* Fix licensingJani Heikkinen2017-05-037-98/+140
| | | | | | | | | - Remove unused license files - Switch old LGPLv21 license headers with LGPL one Task-number: QTBUG-57147 Change-Id: If939b9a09e0cd5ccda7f12172363cbc8f78297e8 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* Android: Fix crash caused by stale video-frame objectsChristian Strømme2017-04-272-18/+36
| | | | | | | | | | Make sure that the frame being processed is still valid, that is, the size is valid and correct, and that the frame buffer is accessible. Task-number: QTBUG-60115 Change-Id: Ic64b6f7d45d92b7923d97d6ecdc630da31abee17 Reviewed-by: Michael Dippold <mike@dippold.com> Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* AVF: Fix mediaplayer state and status issuesChristian Strømme2017-04-263-52/+90
| | | | | | | | | This fixes the issues that were causing the whole qmediaplayerbackend test to be blacklisted on macOS. Task-number: QTBUG-46368 Change-Id: I59a35dd50a9c07e4e4382c5facb391f5c8a27ee7 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* DirectShow: Fix namespaced build with MinGWFriedemann Kleint2017-04-2639-37/+136
| | | | | | | | | | | | | | | | | | | | | | Remove QT_USE_NAMESPACE from headers and enclose headers/sources in QT_BEGIN/END_NAMESPACE. Fixes MinGW build error: qtbase/src/corelib/global/qtypeinfo.h:246:7: error: specialization of 'template<class T> class tn::QTypeInfo' in different namespace [-fpermissive] class QTypeInfo<TYPE > \ ^ qtbase/src/corelib/global/qtypeinfo.h:265:1: note: in expansion of macro 'Q_DECLARE_TYPEINFO_BODY' Q_DECLARE_TYPEINFO_BODY(TYPE, FLAGS) ^ helpers\directshowmediatype.h:92:1: note: in expansion of macro 'Q_DECLARE_TYPEINFO' Q_DECLARE_TYPEINFO(DirectShowMediaType, Q_MOVABLE_TYPE); ^ qtbase/src/corelib/global/qtypeinfo.h:57:7: error: from definition of 'template<class T> class tn::QTypeInfo' [-fpermissive] class QTypeInfo ^ Task-number: QTBUG-60118 Change-Id: Idfe7a49b50a0046a5cb17630a3ec99615ec6150a Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* DirectShow: Fix uninitialized memory read in DirectShowMediaTypeEnum::Next()Friedemann Kleint2017-04-253-1/+7
| | | | | | | | | | | | | Newly allocated memory was passed to DirectShowMediaType::copy(), which calls DirectShowMediaType::clear() on the target, which crashes when trying to release a COM pointer. Split out a DirectShowMediaType::copyToUninitialized() helper function which does not call clear() for this purpose. Task-number: QTBUG-59515 Change-Id: I2801f4ba2c8da618ff8a1c57c4cea215fff292b4 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Android: Run-time permission checks for cameraChristian Strømme2017-04-233-1/+16
| | | | | | | | | | | | | | | The camera should ask for permission before being used. Normally this should be handle by the user, which can provide proper reasons for why the camera is used. To verify that we are allowed to open the camera, and as a good default, we'll check the permission and request access if needed. [ChangeLog][Android] Added run-time permission checks for accessing the camera. Task-number: QTBUG-55992 Change-Id: Ifb4e176728aab3076fdba292e17e17d33b1260a2 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@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-1812-5/+278
|\ | | | | | | 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>
* | 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>
* | 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>
* | Merge remote-tracking branch 'origin/5.8' into 5.9Liang Qi2017-03-1042-184/+165
|\| | | | | | | | | | | | | Conflicts: src/plugins/gstreamer/camerabin/camerabincontainer.h Change-Id: I4942d41d69112335fe0c994002f1b32ef3aad051
| * 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-2735-151/+133
| | | | | | | | | | | | | | 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>
| * 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>
| * Merge remote-tracking branch 'origin/5.8.0' into 5.8Liang Qi2017-01-263-3/+3
| |\ | | | | | | | | | | | | | | | | | | Conflicts: src/multimedia/configure.json Change-Id: Ide124447e1667f0b6557b6ab1ba7188ae76772c5
| | * Fix building the WMF pluginYoann Lopes2016-12-133-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | 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>
* | | 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>
* | | Merge remote-tracking branch 'origin/5.8' into devYoann Lopes2017-01-264-4/+14
|\| | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf examples/multimediawidgets/videographicsitem/videoplayer.h src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp Change-Id: Id5ce05ffe2cd25657232157b162680b2e24a35ba
| * | Only update the texture if the m_glResources are validAndy Shaw2017-01-131-1/+1
| | | | | | | | | | | | | | | Change-Id: Ifa0c768e2f0299d31d3d52db975c896bdb2aab5e Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
| * | winrt: Fix pause/play for videosMaurice Kalinowski2017-01-031-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is partially a revert of bff19dbe6733d245. While that commit fixed switching cameras it did not respect pausing a video, where setActive is called from a different thread than in the camera case. Using shutdown introduced a wait, which in that case deadlocked. Instead revert to request an interrupt, but when restarting make sure that the render thread is on hold before start is invoked. Task-number: QTBUG-53722 Change-Id: Id5a722911bb2c30509fabb73bec925cadbf77628 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| * | winrt: Fix video playbackMaurice Kalinowski2017-01-031-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rendering should only be activated once the video frame size is known. Otherwise the texture is created with an invalid size and rendering will be stopped. This happens for some codecs where MF_MEDIA_ENGINE_EVENT_LOADEDMETADATA is not known instantly after loading video files. Task-number: QTBUG-57707 Change-Id: Ic2347c8606239770e129544fd228b96929ed6198 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| * | return better images in metadata in gstreamerTasuku Suzuki2016-12-151-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | cover art image uses "preview image". But "image" is better for that. "preview image" will be used for thumbnail image. Change-Id: Ic01f878f146b0369eb84e6b153fa68fbc6c54e57 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
| * | GStreamer: Only register one typefind functionChristian Strømme2016-12-142-12/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Each time a GStreamer session was created it would register the same callback function, but each time with a new user data, which in our case was a pointer to the session. The pointer would then be used without verification of its validity. The problem with this is that the typefind function is static and used for all sessions, making multiple sessions impossible. The documentation for gst_type_find_register() also clearly specifies that the supplied user data needs to valid as long as the plugin is loaded, which of course was not the case. With this change only one callback function will be registered, and each session will register itself with a typefind delegate, that will keep track of sessions that are still alive. Note: This only makes sure that the typefind function is called on a valid session, it does not make sure that the type actually belong to the session, which is a separate issue. Task-number: QTBUG-50460 Change-Id: I20eeabfe4e85839e8845003298d6f64705c2e15e Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
| * | GStreamer: fix a memory leak in the media player sessionYoann Lopes2016-12-121-4/+6
| |/ | | | | | | | | | | | | A gchar* was never freed. Change-Id: Ib28fee3d13839bf15a9216bdcd5da68b6d1f904c Reviewed-by: Christian Stromme <christian.stromme@qt.io>