summaryrefslogtreecommitdiffstats
path: root/src/plugins/gstreamer
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.8' into 5.9Liang Qi2017-04-182-3/+35
|\ | | | | | | Change-Id: I7cd203eec77f3b5689c14b81b0862c5b70bab1a6
| * 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>
* | 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>
* | Merge remote-tracking branch 'origin/5.8' into 5.9Liang Qi2017-03-1023-113/+117
|\| | | | | | | | | | | | | Conflicts: src/plugins/gstreamer/camerabin/camerabincontainer.h Change-Id: I4942d41d69112335fe0c994002f1b32ef3aad051
| * 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-2723-112/+117
| | | | | | | | | | | | | | And remove many custom defines. Change-Id: I658cc8430d1d99ed3c0aafe03a77adce76621a29 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | Merge remote-tracking branch 'origin/5.8' into devYoann Lopes2017-01-261-1/+2
|\| | | | | | | | | | | | | | | | | Conflicts: .qmake.conf examples/multimediawidgets/videographicsitem/videoplayer.h src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp Change-Id: Id5ce05ffe2cd25657232157b162680b2e24a35ba
| * 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>
* | GStreamer: Add missing override and remove redundant virtualAlexander Volkov2016-12-1323-125/+125
| | | | | | | | | | Change-Id: I61997676d7f002e769de499b19cbea3d96876480 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | GStreamer camerabin: Add missing override and remove redundant virtualAlexander Volkov2016-12-1323-119/+119
| | | | | | | | | | Change-Id: I17d716e366cd74226ac858669b10fa0ed28a2fad Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | GStreamer: Remove typefind functionChristian Strømme2016-12-122-68/+12
| | | | | | | | | | | | | | | | | | | | The typefind function was not well suited for our use-case, as it can't be configured to work with multiple sessions. The detection of playlist resources has also been moved into the abstraction layer; making this implementation redundant. Change-Id: Ife04ffe91707665a36706330f89401b49248bf91 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | Merge remote-tracking branch 'origin/5.8' into devLiang Qi2016-12-1214-266/+27
|\| | | | | | | | | | | | | Conflicts: src/plugins/gstreamer/mediacapture/qgstreameraudioencode.cpp Change-Id: I7c30c2d13fdd07ee07e4449d5d3e256e988d3793
| * Fix mir detectionLars Knoll2016-11-232-6/+3
| | | | | | | | | | | | | | | | | | The old check would have never triggered unless you compiled with CONFIG+=mir by hand. Change-Id: I1d418dce09adaedbdff366dfeb8f4036cac0f075 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * Cleanup all maemo/meego specific codeLars Knoll2016-11-1412-243/+9
| | | | | | | | | | Change-Id: I6c6f28084c6b030928eebc53c5d0009b168ede6a Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
| * Move qtmultimedia over to the new config systemLars Knoll2016-11-143-22/+10
| | | | | | | | | | | | | | | | | | | | | | | | Use the new configuration system to define external libraries, configure tests and features. Don't use pkg-config outside of the configuration step. And move all command line options over from qtbase, so that we can remove them from there in a second step. Change-Id: I1aa4b557a6aee17eeceb00602005a2d28b426a26 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
| * Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-11-111-6/+6
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: qtmultimedia.pro src/multimedia/playback/qmediaplayer.cpp src/plugins/directshow/directshow.pro tests/auto/integration/qmediaplayerbackend/BLACKLIST Change-Id: I6dacdcbb223c1d12dd72eb308a67170983c709b3
| | * Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-11-041-6/+6
| | |\ | | | | | | | | | | | | Change-Id: Ib038c5e3ebb48c0e46569a35d530fa5ceaf06a32
| | | * GStreamer: emit mediaStatus changes before state changesYoann Lopes2016-10-061-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes sure all mediaStatus changes are emitted, even when some action is done on the media player as a result of a state change. Task-number: QTBUG-49578 Change-Id: I60153cd8e1d665797a25549ab81afcfb553ce2cc Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | | | Merge remote-tracking branch 'origin/5.8' into devLiang Qi2016-10-114-5/+28
|\| | | | | | | | | | | | | | | Change-Id: I7291f7a3bd5851eafe2bf0a4bd5c5f8e705a90bc
| * | | GStreamer: Support video probe on QCameraDaniel Nicoletti2016-09-233-4/+16
| | | | | | | | | | | | | | | | | | | | Change-Id: I54889a72346da24654c8a0618056c14999ecf71e Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
| * | | Merge remote-tracking branch 'origin/5.7' into 5.8Yoann Lopes2016-09-231-1/+12
| |\| | | | | | | | | | | | | | Change-Id: I96aca24df935d51b40380c727b6c5002432a6be6
| | * | Merge remote-tracking branch 'origin/5.6' into 5.7Yoann Lopes2016-09-221-1/+12
| | |\| | | | | | | | | | | | | Change-Id: I5bce2843ac62bb97efc1ccaaa9c671c4adf10640
| | | * GStreamer: print a warning when the camerabin plugin is missingYoann Lopes2016-09-211-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't create the camera service when the camerabin plugin is not available on the system and print a warning. Task-number: QTBUG-50775 Change-Id: I56c7e6297bebe4b90596cb3c0323f1d38231bceb Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | | | GStreamer use QGstCodecsInfo in QGstreamerVideoEncodeYoann Lopes2016-08-232-48/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Dynamically retrieve the list of available codecs rather than having a hardcoded list. Change-Id: Ib9c4d75b1b397f137b9021d8b7ed8646c0e84d14 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | | | GStreamer: use QGstCodecsInfo in QGstreamerMediaContainerControlYoann Lopes2016-08-232-49/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Dynamically retrieve the list of available codecs rather than having a hardcoded list. Change-Id: Ie78513b541786da2359c1853271536db2819aaaf Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | | | GStreamer: use QGstCodecsInfo in QGstreamerAudioEncodeYoann Lopes2016-08-232-67/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Dynamically retrieve the list of available codecs rather than having a hardcoded list. Task-number: QTBUG-50567 Change-Id: I00e4aaae567759e623898244d48ce1154fbffb3d Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | | | GStreamer: move suggestedFileExtension() out of camerabin pluginYoann Lopes2016-08-233-37/+4
|/ / / | | | | | | | | | | | | | | | | | | Now in QGstUtils, in order to be used from other places. Change-Id: Id8beae1b804fa22bd648e254a1ff2a1f1e455a02 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* | | Merge remote-tracking branch 'origin/5.7' into devLiang Qi2016-08-021-1/+4
|\| | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf tests/auto/integration/qsoundeffect/BLACKLIST Change-Id: Icd2edd4410a4ee914d489634d26b262c0c146bf4
| * | Merge remote-tracking branch 'origin/5.6' into 5.7Yoann Lopes2016-08-011-1/+4
| |\| | | | | | | | | | Change-Id: Ic29cb09048003f18ff86d4546cd547be715eaec8
| | * Resource leak fixedJesus Fernandez2016-07-251-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | CameraBinV4LImageProcessing::setParameter was leaking the resource fd in some cases in the switch using return instead of break. Change-Id: Ie56eaf4cf1d1b7531094c321f49a818632985628 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | | GStreamer: support cover artTasuku Suzuki2016-07-261-0/+1
|/ / | | | | | | | | Change-Id: I05987f578a40c23dc2eb6f3e6a7f76d11f704214 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-05-103-7/+19
|\| | | | | | | | | | | | | Conflicts: src/plugins/winrt/qwinrtcameracontrol.cpp Change-Id: I45d3042adf19577a72794610fa1c310cb22e26c4
| * GStreamer camerabin: return the proper camera sourceZhang Xingtao2016-04-283-7/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | - return m_cameraSrc for function cameraSource() instead of m_videoSrc. m_videoSrc is not always assigned(default 0), it will crash on: if (g_object_class_find_property( G_OBJECT_GET_CLASS(m_session->cameraSource()), "exposure-mode")) { And as the function name says, it would be better to return the value m_cameraSrc. - make sure pointers are not NULL before using them. Change-Id: I8a56db34a805724b428409b87de7d072ee7bfa57 Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
* | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-03-075-17/+15
|\| | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/avfoundation/mediaplayer/mediaplayer.pro tests/auto/unit/qmediaserviceprovider/mockserviceplugin1/mockserviceplugin1.pro tests/auto/unit/qmediaserviceprovider/mockserviceplugin2/mockserviceplugin2.pro tests/auto/unit/qmediaserviceprovider/mockserviceplugin3/mockserviceplugin3.pro tests/auto/unit/qmediaserviceprovider/mockserviceplugin4/mockserviceplugin4.pro tests/auto/unit/qmediaserviceprovider/mockserviceplugin5/mockserviceplugin5.pro Change-Id: I5742596230dc510ba2a09eba624429bb67179194
| * remove redundant statements from project filesOswald Buddenhagen2016-02-251-1/+0
| | | | | | | | | | | | | | | | | | | | - TARGET is unnecessary if it matches the project file's basename - CONFIG+=no_private_qt_headers_warning is added by qt_build_config.prf - load(qt_build_config) is done by .qmake.conf Change-Id: I3eb45a758dfee34be3c78fc13d996780741c95e9 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
| * consistently put {qt,qml}_{module,plugin} at the end of project filesOswald Buddenhagen2016-02-254-16/+15
| | | | | | | | | | | | | | | | this fixes static builds by ensuring that all dependencies are exported. Task-number: QTBUG-51071 Change-Id: I8e1554b648327ea2fb342b882ce8e439bd6f271d Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2016-01-262-11/+16
|\| | | | | | | Change-Id: I2e4e9cca01d63ed0d1e7f71c7a58322390696036
| * Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2016-01-212-11/+16
| |\ | | | | | | | | | Change-Id: I6d88b17f44479a522d181374023648dd007112bd
| | * GStreamer: fix GstAppSrc usage.Yoann Lopes2016-01-192-11/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow our GstAppSrc wrapper to be reconfigured with a new GstAppSrc object. This is necessary because that object changes every time playback is restarted, even for the same source. The consequence of not allowing the reconfigure was that playback for a given qrc media would only work the first time; any subsequent calls to play() would not work since our wrapper wouldn't know about the new GstAppSrc object and therefore wouldn't be able to produce any data. Also improved management of the wrapper lifecycle. Task-number: QTBUG-49531 Change-Id: I905afb6848cc7e9a563b4edc2c5875cdd7e53d21 Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* | | Updated license headersAntti Kokko2016-01-1996-1346/+1922
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new LGPL header instead of LGPL21 one (in those files which will be under LGPL v3) Change-Id: I324f65c61171f36641472964d095d72e452afb3a Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | | Merge remote-tracking branch 'origin/5.6' into devChristian Strømme2016-01-156-26/+551
|\| | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/android/src/mediacapture/qandroidcamerasession.cpp src/plugins/wmf/mftvideo.cpp Change-Id: I78868b416ea4baec89ca3e2dc9eb4712db16d5fc
| * | GStreamer: Add color balance and sharpening adjustments using V4L2Denis Shienkov2015-12-103-11/+124
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GStreamer's backend does not implements this features, therefore now is used the V4L2 interface for the contrast, saturation, brightness and the sharpening adjustments. The V4l2 interface works together with the GStreamer and covers the features which are not supported by the GStreamer. Change-Id: I995ed6cb096a29543fb80206384a92c13a1d1af2 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
| * | GStreamer: Adjust the camera's manual color temperature through V4L2Denis Shienkov2015-12-106-16/+428
| | | | | | | | | | | | | | | | | | | | | | | | | | | GStreamer does not support setup of manual color temperature for the camera. Now it is implemented through the V4L2 interface, where it is works together with the GStreamer and covers the GStreamer's holes. Change-Id: Icaeadeb4e21ec7865bcfa908bead318d4ead8ba5 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | | Gstreamer plugin: replace foreach with range-based forAnton Kudryavtsev2016-01-1514-37/+51
| | | | | | | | | | | | | | | Change-Id: Ic6d0f9d6b45eae1cdadc46783cb6f5bb7c64ac8c Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | | fix expensive iteration over QMap::keys() and QHash::keys()Anton Kudryavtsev2016-01-142-4/+4
|/ / | | | | | | | | Change-Id: I244aa1ecf006774ebe5fb9bb5b22d37142186e39 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.5' into 5.6Yoann Lopes2015-11-2013-18/+151
|\| | | | | | | Change-Id: I8e0f222f110cc23b426f2d68416f5cc3982e30f2
| * Support compiling with GStreamer < 0.10.32 in the camerabin plugin.Yoann Lopes2015-11-1913-18/+151
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The documented minimum GStreamer version for Qt Multimedia is 0.10.24, however, the camerabin plugin actually required 0.10.32 to compile successfully. The reason is mainly due to the GstEncodingProfiles API, which is used to implement the audio and video encoding settings controls. There's no hard requirement for that API anymore and the aforementioned controls simply don't do anything when the GStreamer version used to compile is older than 0.10.32. A few other GStreamer calls had to be ifdef'd or replaced in order to compile with 0.10.24. Note that this patch only makes sure it compiles with older versions, running the camerabin plugin with GStreamer < 0.10.32 is currently untested and it might not work as expected. Task-number: QTBUG-48914 Change-Id: I4ce8e932f24a33e919e29326729e12bbae561faf Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>