summaryrefslogtreecommitdiffstats
path: root/src/plugins/gstreamer/mediacapture
Commit message (Collapse)AuthorAgeFilesLines
...
* GStreamer: fix memory leaks.Yoann Lopes2014-03-214-6/+38
| | | | | | | Many GStreamer objects were not properly managed or never released. Change-Id: I38b3854e8b9e2264b5b647f331d3bb16b886e2d6 Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
* New QCameraInfo class.Yoann Lopes2014-02-282-0/+20
| | | | | | | | | | | | | | | | | | | | The class allows to get the list of available cameras on the system as well as getting some static information about them such as their unique ID, display name, physical position and sensor orientation. This makes QCamera::availableDevices() and QCamera::deviceDescription() obsolete. This patch contains the API, documentation and auto-tests but not the actual implementation by each backend (except for retrieving the default camera device). [ChangeLog][QtMultimedia] Added new QCameraInfo class [ChangeLog][QtMultimedia] QCamera: availableDevices() and deviceDescription() are deprecated, use QCameraInfo instead Change-Id: I64fd65729ab26a789468979ed5444ee90bb82cd0 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* Use QStringRef instead of QString whenever possible.Jędrzej Nowacki2014-01-152-2/+2
| | | | | | | That way we reduce count of temporary QString instances. Change-Id: Id806c68ea616828c2355c07b8576616fa6a8da17 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* GStreamer: add missing breaks in QGstreamerRecorderControl.Yoann Lopes2014-01-061-0/+3
| | | | | | Task-number: QTBUG-34914 Change-Id: I8237201cb656a3cde23e3d750939fe11e35519cd Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Some cleanup in the GStreamer plugin.Yoann Lopes2013-09-202-10/+9
| | | | | | | | | | | | Removed QGstreamerVideoOverlay and related classes. It was used as 'Window' control but performs worse than QGstreamerVideoWindow which does basically the same thing using GStreamer ready-made components instead. Removed X11 dependencies and related configuration tests. It was only needed for QGstreamerVideoOverlay. Change-Id: I2ad2636ccf0060e56cd64f3d9e5b3c24dc75f5a3 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Multimedia plugins now have a unique JSON metadata 'Keys' property.Yoann Lopes2013-06-212-2/+4
| | | | | | | | | | | | | | | | | | | | | They previously had the multimedia services they provided as keys. This was a problem when several plugins were available on the same platform, providing the same multimedia service, but with different features or capabilities. Since they had the same key, only the first plugin in the directory was loaded. Nevertheless, it was actually working until commit 732dcfe7 in qtbase, as all plugins were loaded even when sharing the same key. The services a multimedia plugin provides are now declared in the 'Services' property. To preserve compatibility with third-party plugins, if that new property doesn't exist it falls back to the 'Keys' property. Task-number: QTBUG-31868 Task-number: QTBUG-31476 Change-Id: Ic3ba32eeef21b69b922bd3d4feb111101559d132 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Decouple qmediametadata.h from qmultimedia.hSze Howe Koh2013-05-141-0/+2
| | | | | | | | qmultimedia.h is included in more places, but qmediametadata.h is larger. This patch should reduce unnecessary #include-ing. Change-Id: I4a3d174bafc555d794bb75087c1f6b79745ae903 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Update copyright year in Digia's license headersSergio Ahumada2013-01-1024-24/+24
| | | | | | Change-Id: Ia8c1c38aba1544603fada8c414cc856f365fd15b Reviewed-by: Akseli Salovaara <akseli.salovaara@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* Add PLUGIN_CLASS_NAME to qtmultimedia pluginsMiikka Heikkinen2012-12-101-0/+1
| | | | | | | | Needed for automating static plugin loading. Task-number: QTBUG-28131 Change-Id: Ia392b112fc46dedd34c9ffdbd6e874dbbfeaef83 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Rename namespace QtMultimedia -> QMultimediaSze Howe Koh2012-11-064-6/+6
| | | | | | | | | | | | | | | | Main code, examples, tests and docs updated. Method: 1. Mass find+replace "QtMultimedia::" -> "QMultimedia::" 2. Hand-modified declaration in qtmedianamespace.h/cpp For consistency (with minimal disruption), namespaces with a "Qt" prefix will be renamed. Part of the Header Consistency Project (http://lists.qt-project.org/pipermail/development/2012-October/007570.html) Change-Id: I1fbc43a1aa91d996aa61869fcd8d05186bf7cf6d Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Rename namespace QtMultimedia::MetaData -> QMediaMetaDataSze Howe Koh2012-11-061-47/+47
| | | | | | | | | | | | | | | | | | Main code, examples, tests and docs updated. Method: 1. Remove unused forward-declarations, "class QMediaMetaData" 2. Mass find+replace "QtMultimedia::MetaData" -> "QMediaMetaData" 3. Un-nest from the QtMultimedia namespace in qtmedianamespace.h For consistency (with minimal disruption), namespaces with a "Qt" prefix will be renamed. Also, Qt guidelines don't include nested namespaces (http://lists.qt-project.org/pipermail/development/2012-October/006756.html) Part of the Header Consistency Project (http://lists.qt-project.org/pipermail/development/2012-October/007570.html) Change-Id: I40e59c1cf58c1792725e735e9285c51bc5f226b1 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* adjust to qt_plugin.prf changesOswald Buddenhagen2012-11-051-5/+1
| | | | | | | | | | DESTDIR and INSTALLS+=target are set up automatically now. note that in the qmediaserviceprovider test we must override that. also, TARGET munging is done automatically. Change-Id: Ida5d5601e22b099134d1ec07ace713e0d0986bd6 Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-2424-576/+576
| | | | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: Id77334cfb15de096941c88e32d04ca07b4eb4709 Reviewed-by: Janne Anttila <janne.anttila@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix gstreamer plugin build for platforms with qreal -> floatRomain Pokrzywka2012-09-141-1/+1
| | | | | | | | | | simple case of qFuzzyCompare with double and float. I kept m_volume as double rather than changing it to float, to mimic the behavior of the mute variable. Change-Id: Ife2f58f60738215ebd430ba94bef885c09994e72 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@gmail.com>
* centralize load(qt_build_config)s in .qmake.confOswald Buddenhagen2012-09-121-2/+0
| | | | | Change-Id: Ie07a32729ec8679f799613f8f6ccdd9c1b6bf7c9 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* Use QStandardPaths instead of QDesktopServicesThiago Macieira2012-08-021-2/+2
| | | | | | | | | The use of QDesktopServices for getting paths is deprecated in favour of QStandardPaths. Change-Id: I93c4a15dd65962d668c90e78f3f33f357e2450bb Reviewed-by: David Faure <faure@kde.org> Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
* Replaced endpoint control with audio input and output controlsDmytro Poplavskiy2012-07-242-10/+10
| | | | | Change-Id: I981aabe39d106ced4ee1240db9e5b653c6fa5e91 Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Added volume property to QMediaRecorderDmytro Poplavskiy2012-07-194-4/+35
| | | | | Change-Id: I19f727107651c9f640ca1c010a3764f05aef8820 Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Gst capture: use QDesktopServices for default storage locationDmytro Poplavskiy2012-07-091-0/+6
| | | | | Change-Id: Icff46f2dc88572beab2eb835e24424f15ff05616 Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Gst capture: report the actual media location to applicationDmytro Poplavskiy2012-07-041-0/+2
| | | | | Change-Id: I2ebc7b9607fe499e2465428118bff3fe98e58672 Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Gst Capture: image capture fixesDmytro Poplavskiy2012-06-293-2/+25
| | | | | | | | | Report camera is ready to capture only in image capture modes; Emit capture failed if camera not configured for capture Change-Id: Ia2b92e2f8c760db948185a29c3e5ceae81dd3af4 Reviewed-by: Lev Zelenskiy <lev.zelenskiy@nokia.com> Reviewed-by: Ling Hu <ling.hu@nokia.com>
* Gst capture service: capture mode fixesDmytro Poplavskiy2012-06-293-6/+22
| | | | | | | | | | Fixed reporting the current capture mode Set the correct default capture mode Allow viewfinder only and Video+Image capture modes Change-Id: Ib12504304bca22fe664631ff5ffbc0a392ba34a8 Reviewed-by: Ling Hu <ling.hu@nokia.com> Reviewed-by: Lev Zelenskiy <lev.zelenskiy@nokia.com>
* Gst capture: don't wait for pipeline to stopDmytro Poplavskiy2012-06-292-15/+0
| | | | | | | | State changes to lower state are synchronous in gstreamer Change-Id: Ib87eabfeee9ec100f24efbaa989ec909ac7f9a1b Reviewed-by: Lev Zelenskiy <lev.zelenskiy@nokia.com> Reviewed-by: Ling Hu <ling.hu@nokia.com>
* Allow gst video capture startup without viewfinder attached.Dmytro Poplavskiy2012-06-291-1/+2
| | | | | | Change-Id: I5f0b7dc12f4ee8e988d6107047d963949bcdb5bf Reviewed-by: Lev Zelenskiy <lev.zelenskiy@nokia.com> Reviewed-by: Ling Hu <ling.hu@nokia.com>
* Rename a few controls.Michael Goddard2012-06-296-14/+14
| | | | | | | | | | The encoder controls could be confused with actual encoding, so make clear they are just settings. Also, the end point selector controls were not named very well. Change-Id: I27f8bf9c865c5f295abad97c01ef98752af42613 Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Ling Hu <ling.hu@nokia.com>
* build system cleanupsOswald Buddenhagen2012-06-251-1/+1
| | | | | | | | | | | | | | | | | - load(qt_module) => load(qt_build_config) - remove: - CONFIG+=module (obsolete) - code relating to module version headers (automated now) - %mastercontent assignment (automated now) - QT_BUILD_*_LIB defines (automated now) - pointless QPRO_PWD assignments - pointless DEFINES+=QT_MAKEDLL - pointless and commented out include and depend paths - qmake -project boilerplate Change-Id: I8f4586403848fe8f2dff4e889b389956ffcdea59 Reviewed-by: Jonas Rabbe <jonas.rabbe@gmail.com> Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Avoid string-based, dynamic lookup of signalsKent Hansen2012-06-051-14/+14
| | | | | | | | | | | | | | Qt5 has a new function QMetaMethod::fromSignal() for obtaining the meta-method that corresponds to a particular signal (member function). This also avoids calling the virtual metaObject() function to resolve the meta-method every time the signal is emitted; it is known at compile-time which class the signals are defined in, so it's safe to retain the meta-methods across calls. Change-Id: I47328ec2dfc335c570fb18bcd304a2ee405bfd6e Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
* Change uses of {to,from}Ascii to {to,from}Latin1Thiago Macieira2012-05-043-13/+13
| | | | | | | | | | This operation should be a no-op anyway, since at this point in time, the fromAscii and toAscii functions simply call their fromLatin1 and toLatin1 counterparts. Task-number: QTBUG-21872 Change-Id: Ic591779a3431999c007fb0ff362c7e25ce54097e Reviewed-by: Jonas Rabbe <jonas.rabbe@gmail.com>
* Replaced QMediaRecorderControl::play/stop/pause with setStateDmytro Poplavskiy2012-05-022-0/+16
| | | | | | | This allows to introduce new states without breaking BC. Change-Id: I03c064cec92d6745b251a51cfb301e7f01f4b765 Reviewed-by: Ling Hu <ling.hu@nokia.com>
* Added QMediaRecorder::status propertyDmytro Poplavskiy2012-05-022-14/+65
| | | | | | | | | | | | | QMediaRecorder::state property represents the user request and changed synchronously during record(), pause() or stop() calls. Recorder status is changed asynchronously and represents the actual status of media recorder. This also makes API more consistent with QMediaPlayer and QCamera. Change-Id: I80b4aaa70bb88e555c492908da8c29d0fc5ed5ea Reviewed-by: Ling Hu <ling.hu@nokia.com>
* Split gstreamer plugin into smaller plugins providing fewer servicesJonas Rabbe2012-04-278-13/+425
| | | | | | | | | | | | | | The gstreamer blob has been split into four plugins: audiodecoder, camerabin, mediacapture, and mediaplayer. Note: camerabin is still disabled because it is untested camerabin2 implementation. A new qmake configuration use_gstreamer_camera has been introduced and is needed for the mediacapture plugin to expose the camera service. This configuration has been disabled by default. Shared functionality has been moved to the internal gsttools library. Change-Id: Ifb2604f440cfa97513d39f5d7978766c88eaec45 Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* QMediaRecorder: GStreamer backend changes for media probing API.Lev Zelenskiy2012-02-163-0/+113
| | | | | | | | QGstreamerCaptureSession: Using GStreamer buffer probe to access media data. Change-Id: I2ee38e864fbd69fcba9efe90d4dcf138528e00c0 Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Moved QMediaServiceProvider to private header.Dmytro Poplavskiy2012-02-061-1/+1
| | | | | | | It's not intended to be used by applications. Change-Id: I2acc26180ebb5c2419438169827f39aaf4578389 Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Added metaDataChanged(key,value) signal to metadata controls.Dmytro Poplavskiy2012-02-061-0/+1
| | | | | | | | | | | | | | It may be more efficient and convenient for application to use this signal instead of metaDataChanged(). metaDataChanged() signal is emitted for compatibility, backends should emit both signals. Signal added QMetadataReader/WritterControl, QMediaObject and QMediaRecorder. Change-Id: I5ca34a40e64b22034e6fde8cd7f9735cc3f72c68 Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Split QMediaRecorder::setEncodingSettings to separate setters.Dmytro Poplavskiy2012-02-013-7/+7
| | | | | | | | | | It's easier to change only the necessary part of encoding settings. The settings are applied during the next event loop or before recording starts. Change-Id: Ia2b5c93826a302212aa7f79a0c75e4cbaaf1dd7a Reviewed-by: Ling Hu <ling.hu@nokia.com> Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Remove "All rights reserved" line from license headers.Jason McDonald2012-01-3022-22/+22
| | | | | | | | | | As in the past, to avoid rewriting various autotests that contain line-number information, an extra blank line has been inserted at the end of the license text to ensure that this commit does not change the total number of lines in the license header. Change-Id: I20e5215108c6ebd5f8474fed5c3665118e4791e6 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Fix some static analysis defects.Michael Goddard2012-01-251-1/+0
| | | | | | | | | A few silly errors, a few unlikely errors, a few changes that should not have resulted in a problem but makes the code clearer. Change-Id: Id2c82e9317d53822e4da13c94dec9595ea33b07a Reviewed-by: Ling Hu <ling.hu@nokia.com> Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
* Update obsolete contact address.Jason McDonald2012-01-2322-22/+22
| | | | | | | Replace Nokia contact email address with Qt Project website. Change-Id: Ie8cd560b6d9a2c6e552b6be1ad8bc96c80a6535c Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Changed metadata keys type from enum to QString.Dmytro Poplavskiy2012-01-202-83/+58
| | | | | | | | This allows to combine metaData and extendedMetaData and simplify metadata handling on both backend and application sides. Change-Id: I136eedc86c215be3485db101c43069ca7c82101b Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Use US spelling for organization.Michael Goddard2012-01-191-1/+1
| | | | | | | | Since it seems it was never implemented, don't keep the legacy spelling. Change-Id: Idc918548a4ed643ba7da35e97ce08f401e74303f Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
* Changed QCamera::captureMode property to QFlagsDmytro Poplavskiy2012-01-172-5/+5
| | | | | | | | | This enables the expression of extra camera modes like viewfinder only or capture during video recording. Change-Id: Ie02fdeef5eb7fd6fc2f133c1afb0141e37c22b06 Reviewed-by: Mithra Pattison <mithra.pattison@nokia.com> Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
* Update year in Nokia copyright headers.Jason McDonald2012-01-1222-22/+22
| | | | | | | Update headers from before 2011 that were missed in the previous commit. Change-Id: Ib0fd91a39ffc57117fe01280e34519c3f914fac0 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Properly handle the case where QtWidgets is not available.Michael Goddard2012-01-062-7/+16
| | | | | | | | | | | | | | | It does use a config test for now, just to make it clearer. The Mac backend currently requires widgets, but most of the others should work without it (just not supporting QVideoWidget/WindowControl). The QVideoDeviceControl interface was modified to remove the QIcon usage - it was never implemented. Unfortunately even the QML examples need widgets for the wrapper application, and will need to be ported to QtGui based wrapper. Change-Id: I8a55ad5cf09ab51749510bf16f49de0bd3f0bcdb Reviewed-by: Ling Hu <ling.hu@nokia.com>
* Fix X11 and QPA compilation problemsJonas Rabbe2011-12-131-1/+1
| | | | | | | | | The X11 buffer pool was using outdated APIs, and as the 'qpa' configuration value is being removed, it caused the X11 code to be pulled in, and therefore cause compilation failures. Change-Id: I5fdaed854c6525716fccca44b5fbd0b850880cb9 Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Fixed QtMultimedia core namespace compilation.Toby Tomkins2011-11-2513-16/+47
| | | | | Change-Id: Ie276a7766bd26f3e49b2bc9c1a28ec96f1e3e4b0 Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Moved general gstreamer helper classes into separate library.Jonas Rabbe2011-10-123-3/+3
| | | | | | | | | | Cleaned up configuration of gstreamer with a separate config test. Change-Id: I1ec9ee466233687fbcfdc544a12d9fce578e4379 Reviewed-on: http://codereview.qt-project.org/6459 Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Rename QtMultimediaKit to QtMultimedia.Michael Goddard2011-10-074-61/+61
| | | | | | | | | | There are a few legacy bits left in place so it passes CI, and then qt5.git etc can be updated. Change-Id: I6b082e50e6958c72fdabc2974992e16d90dafa3a Reviewed-on: http://codereview.qt-project.org/5368 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
* Gstreamer media backend cleanup.Dmytro Poplavskiy2011-08-053-38/+16
| | | | | | | | | | | Moved controls specific bus/sync messages handling from player/camera/capture session to corresponding controls. Reviewed-by: Michael Goddard Change-Id: Ieb67976ed335b0ef1cde87dc60e8ad8da3409526 Reviewed-on: http://codereview.qt.nokia.com/2535 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Remove most of the "mobility" references.Michael Goddard2011-07-1922-22/+22
| | | | | | | | | Docs still need some fixing, but there are some legitimate usages of it there. Change-Id: I94c7b68788ce97829711a4384884d7e52fe84162 Reviewed-on: http://codereview.qt.nokia.com/1736 Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
* Remove some obsolete bits.Michael Goddard2011-07-184-15/+3
| | | | | | | | | They can be updated again later when things are more stable, if needed. Change-Id: I73bdacdd3d1fd43a60cd3a0c14b925fa9c32ee27 Reviewed-on: http://codereview.qt.nokia.com/1724 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>