summaryrefslogtreecommitdiffstats
path: root/src/multimedia
Commit message (Collapse)AuthorAgeFilesLines
* Fix for QSoundEffect crash bugMithra Pattison2012-01-061-1/+2
| | | | | | | | | | | | When multiple QSoundEffect instances play the same wav source file simultaneously, the system would crash due to some instances not waiting for the underlying pulse audio stream to complete its setup logic. QSoundEffect now waits for the stream to attain the correct state before playing the sound. Change-Id: Ib5a1e6bc3f1cc314054f9cdc89c10100ad546721 Reviewed-by: Ling Hu <ling.hu@nokia.com> Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Add the spot for spot metering mode.Michael Goddard2012-01-064-1/+34
| | | | | | | Not yet fully documented in QML - needs a bit of an overhaul first. Change-Id: Ic11684858fb872d0b4dcedf60b390571371db252 Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
* Properly handle the case where QtWidgets is not available.Michael Goddard2012-01-062-8/+0
| | | | | | | | | | | | | | | 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>
* Update copyright year in license headers.Jason McDonald2012-01-0611-11/+11
| | | | | Change-Id: Ib82c1be5548443ef1f5e97b3d5641a2f55d212af Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* QtMultimedia: Fix compiler warnings.Friedemann Kleint2012-01-051-1/+1
| | | | | | | | | | | - Fix deprecated QDeclarative includes. - Comment out unused parameter. - Remove trailing comma from enumeration value (Clang) Reviewed-by: Michael Goddard <michael.goddard@nokia.com> Change-Id: I31d54a12505f4e3a48eb4b7736a48d5dacc2c0d9 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Restructure the source code a little.Michael Goddard2012-01-05122-164/+193
| | | | | Change-Id: I995b0fb33bdda7f01bf6266c1c50a1b17eba6760 Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
* add Q_OBJECT to QMediaGaplessPlaybackControlLing Hu2012-01-041-0/+1
| | | | | Change-Id: I010b14f7900bd168012bb876f708397eec4dfa4b Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Add new gapless playback control interfaceLing Hu2012-01-043-3/+250
| | | | | | Change-Id: If14c20af6da81dd65177102c9b955e3ebd40c722 Reviewed-by: Mithra Pattison <mithra.pattison@nokia.com> Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Add new implementation of QSound classMithra Pattison2011-12-309-18/+403
| | | | | | | | | | | | Added a re-implementation of QSound, using functionality derived from QSoundEffect. QSound API remains the same as the original 4.x version. It offers both a static interface (with auto resource cleanup on sound completion), as well as an object instance interface for more detailed control. Change-Id: I85c00dd88547f8dea9b1e1ef2da31d2f2e28a172 Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Fix a compiler warning.Michael Goddard2011-12-211-2/+2
| | | | | Change-Id: Ie53ebaecc14a5bd2baa609b7cae6f0ee59aa0fd2 Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
* Fix X11 and QPA compilation problemsJonas Rabbe2011-12-132-7/+11
| | | | | | | | | 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>
* QtMultiMedia: Fix warnings about missing return values.Friedemann Kleint2011-12-063-27/+67
| | | | | | | In QDebug operator<< for enumerations. Change-Id: I52309356f05a9520b7472a673450a224d7fa71d3 Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Allow nested read only maps of QVideoFrame.Dmytro Poplavskiy2011-11-281-6/+48
| | | | | | | | It's useful when video frame is accessed from multiple places like display and encoding. Change-Id: I8af175c780783216d8b7717cdf0744ad9bc95348 Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Fixed QtMultimedia core namespace compilation.Toby Tomkins2011-11-256-2/+20
| | | | | Change-Id: Ie276a7766bd26f3e49b2bc9c1a28ec96f1e3e4b0 Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Fix SoundEffect(pulseaudio) crash in qfeedbackmmk auto testLing Hu2011-11-215-22/+158
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-Number: QTBUG-22779 Some pulseaudio callback may happen after SoundEffect was deleted, thus the userdata(SoundEffect point) we passed previously may result in potential crash with QMetaObject::invokeMethod to queue some event. To solve this problem, the release mehtod is added to SoundEffectPrivate, and instead of calling d->deleteLater in SoundEffect::dtor, d->release is called. So SoundEffectPrivate will no when it is going to be deleted soon rather than handle everything in SoundEffectPrivate::dtor which may be too late. class RefObject is also added to be able to track the SoundEffectPrivate status by pulseaduio callbacks. I thought this could be avoided by checking the connection state of pulse stream. However, that doesn't work as expected, stream state remains Ready when checked in callbacks even after disconnect stream has been called. So RefObject is used instead and its lifecycle is managed by an internal reference count. When release is invoked, m_ref->onDeleted is called first, this will mark SoundEffectPrivate as dead. and then unloadPulseStream is called. After those two invocations, we can be asured that: 1. if some pulse callbacks has been called without knowing SoundEffectPrivate dead, the queued invocation on SoundEffectPrivate would be safe, since SoundEffectPrivate::deleteLater would be called after them. 2. Since on pulse callbacks would be executed when unloadPulseStream is called, then at this moment if some pulse callbacks is called again, it would certainly knows that SoundEffectPrivate is marked as dead and would not queue and event on SoundEffectPrivate. Now, the deleteLater can be safely called. Change-Id: I807f29cddb677d1f4bc078fd306ed0d83d6f7dc4 Reviewed-by: Ling Hu <ling.hu@nokia.com>
* If the sample hasn't been loaded, don't try and delete things.Michael Goddard2011-11-181-2/+5
| | | | | | | | Causes entirely reasonable warnings from QCoreApplication::postEvents, when calling deleteLater on a null pointer. Change-Id: I5f1fa526b2d57844b9c0d2e634d434e2f7867bdf Reviewed-by: Ling Hu <ling.hu@nokia.com>
* Export QMediaPluginLoader so it can be used by libqgsttools_p.Jonas Rabbe2011-11-181-1/+1
| | | | | | Change-Id: I2af6a68646cccaa92ae8b85b67e2095dcfee485e Reviewed-by: Michael Goddard <michael.goddard@nokia.com> Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
* If Pulse isn't ready, don't crash when trying to play.Michael Goddard2011-11-171-1/+1
| | | | | Change-Id: I996581e4492004f716d44a39fb5f74c26c9f9ac2 Reviewed-by: Ling Hu <ling.hu@nokia.com>
* Fix volume change error on mono stream for soundeffect(pulseaudio)Ling Hu2011-11-171-2/+4
| | | | | | | | (Cherry-picked from 663df44fc8563c548c26a7ae21927b09664c28f2) Change-Id: I005071bc1a8b2eae4d0660042fc8986d61804c47 Reviewed-by: Michael Goddard Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Changed QVideoSurfaceGstSink to take pools from pluginsJonas Rabbe2011-11-143-11/+46
| | | | | Change-Id: Iec743efc52513e2000276b9a18d1d9639c270699 Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
* Add qRegisterMetaTypes for the public Q_DECLARE_METATYPEs.Michael Goddard2011-11-0917-2/+199
| | | | | | | | Also turned qtmedianamespace.qdoc into a cpp file so I could stick the qRegisterMetaTypes into it. Change-Id: Idd6d3e2f348f1ed45b0a35ce180d023a170e8625 Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
* Added qRegisterMetatype for QVideoSurfaceFormat.Jonas Rabbe2011-11-081-0/+13
| | | | | Change-Id: I7dbae1dde2f24db89479dcb23ef6fc5e29377f25 Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
* Use QAtomicInt::load() and ::store()Bradley T. Hughes2011-11-073-9/+9
| | | | | | | | The operator=(int) and implicit int cast operators are deprecated and will be removed. Change-Id: I5091d705fba45195239c901f210355e09e123faa Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
* Declare more metatypes and debug operators.Michael Goddard2011-11-0215-37/+268
| | | | | | | | | | | Nearly all of the multimedia metatypes used in the auto tests are now declared properly, and a large number of the types have debug operators as well. Removed the superfluous decls as well. Change-Id: I42cfe37562db0c71d9811b4577fc326a3326ccc9 Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
* Add a private class, since we now can.Michael Goddard2011-11-012-37/+42
| | | | | | | | This was a XXX Qt5 thing for binary compatibility. We could also now use QObjectPrivate if we wanted to. Change-Id: I7d95e3adf7b0725e91e1e229646a453863e989ed Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
* QtMultimedia: Remove qpa-sections from .profiles.Friedemann Kleint2011-11-015-349/+1
| | | | | | | Prepare for removal of the -qpa configure option. Change-Id: Ibf4be58231d29cd972eb765f32b410e1eb9d7fed Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
* Fix logic in QAudioDeviceInfoInternal::updateLists()Kent Hansen2011-10-311-40/+40
| | | | | | | Task-number: QTBUG-20482 Change-Id: I0dd59a0388965726eb8cfd36a8549250916d999a Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Remove the last bits of QtMultimediaKit (*).Michael Goddard2011-10-271-142/+0
| | | | | | | Except a comment about it in the module overview. Change-Id: I22d9111d7917d1a3259ee1e525fd52501733454e Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Use deleteLater when called on a decoder error.Michael Goddard2011-10-271-2/+2
| | | | | | | | | Since we cleanup the decoder itself, it can crash when the stack unwinds back into the decoder code. Similarly on a network error. Change-Id: Ice36a3008359565f186406945973747b3134d296 Reviewed-by: Ling Hu <ling.hu@nokia.com> (cherry picked from commit fb10bcf6cea520e1c43a77b6b88cf01ae9dc74ad)
* Don't ignore debug plugins on Mac when release plugins aren't availableRohan McGovern2011-10-251-5/+26
| | | | | | | | | | Previously, we unconditionally ignored any plugins whose names ended with _debug.dylib. This makes the mediaservice plugins unusable on Mac if Qt is configured to build plugins as debug-only (which is incidentally the default). Change-Id: I5a8981b2251e803fa233b74c968f6eaa452d367c Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Declare these metatypes.Michael Goddard2011-10-251-0/+6
| | | | | Change-Id: I5b10669f2b17f67d95469dc28e99822d7f08280c Reviewed-by: derick hawcroft <derick.hawcroft@nokia.com>
* Added RDS functionality to the QRadioTuner/QDeclarativeRadioSami Nurmenniemi2011-10-219-0/+846
| | | | | | Change-Id: I865e3caba82977002cf1f01f1d64ee0a42de77c6 Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com> Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Limit the sequential bytes skipping to a max 16kB at a time.Michael Goddard2011-10-211-1/+1
| | | | | | | | | Otherwise QIODevice::read will try and allocate whatever junk is passed in, so a corrupt chunk can result in 1GB+ allocations which are never actually used. Change-Id: I1ea4a5c1a5d21b1ee6f7e428105c52c0ee6ca7f7 Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
* Make the C++ API of QSoundEffect public.Michael Goddard2011-10-176-20/+10
| | | | | | | | | The QML API already was. The C++ API still needs good documentation, though. Change-Id: I669f5ec7dd17d616788d71d77dc906acc0c0279f Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com> Reviewed-by: Ling Hu <ling.hu@nokia.com>
* Copied ALSA config test into QtMultimedia moduleJonas Rabbe2011-10-141-1/+1
| | | | | | | | | | The config test which still exists in QtBase should be removed at a later date, together with pulseaudio and gstreamer config tests. Change-Id: I4bea45ab69d1bac10814fc60ecf24dbc859b0f20 Reviewed-on: http://codereview.qt-project.org/6643 Reviewed-by: Ling Hu <ling.hu@nokia.com> Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Multimedia: Compile on Windows.Friedemann Kleint2011-10-1212-34/+34
| | | | | | | | | | | MSVC is more strict about #include <> and #include "". Reviewed-by: Ling Hu <ling.hu@nokia.com> Change-Id: I8973d7b2717d892407ad93785f92a64b05bdb6b5 Reviewed-on: http://codereview.qt-project.org/6134 Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Moved general gstreamer helper classes into separate library.Jonas Rabbe2011-10-127-0/+733
| | | | | | | | | | 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 the parsing error signal to parsingError.Michael Goddard2011-10-113-15/+21
| | | | | | | | | Refactor the error handling code a little. Change-Id: I717b3aaacb24660b3f26769f19ac718b73106473 Reviewed-on: http://codereview.qt-project.org/6401 Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: derick hawcroft <derick.hawcroft@nokia.com>
* Fix the wavedecoder a little.Michael Goddard2011-10-112-30/+102
| | | | | | | | | | | Handle RIFX and corrupted files better. Update the autotest so that it is run properly (and copies files properly in shadow build). Fix the gendata script to properly create testdata. Change-Id: I47b705507bebaef54df2835ec767c6b220c64678 Reviewed-on: http://codereview.qt-project.org/6380 Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: derick hawcroft <derick.hawcroft@nokia.com>
* bail out in case of missing descriptorshawcroft2011-10-101-3/+4
| | | | | | | | Change-Id: I7c231367a4b5ef2d15fd1a7af2c2a6c1d51c9460 Reviewed-on: http://codereview.qt-project.org/6279 Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com> Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Improve video test coverage and debugging output.Michael Goddard2011-10-076-114/+137
| | | | | | | | | | | Added a few debug operators for some useful enums, and added tests for them. One or two other features not really tested. Change-Id: Idffec6ade1d4e05dbf72f3dc47dfc0d01ddddf8b Reviewed-on: http://codereview.qt-project.org/6201 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
* Rename QtMultimediaKit to QtMultimedia.Michael Goddard2011-10-07184-0/+44005
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>