summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* 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>
* Adding hasAudio and hasVideo properties to QML MediaPlayerMithra Pattison2011-12-292-0/+37
| | | | | | | | | | Adding hasAudio and hasVideo to MediaPlayer QML object to allow users to determine whether the current media has audio and/or video streams. Also adding notifies for when these properties change. Change-Id: Ife7606e148f0c0ad558b4019c68c70973c199c08 Reviewed-by: Sergey Dubitskiy Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Added Video.qml to QtMultimedia, Video componentAngus Cummings2011-12-233-1/+109
| | | | | Change-Id: I0f5707a7cae931988aaddced23ad157105d0643b Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Fix readyChanged signal emit in gstreamervideorendererMithra Pattison2011-12-211-6/+5
| | | | | | | | | | Modified handling of source update in gstreamervideorenderer as the existing logic meant that it would never emit the readyChanged signal. Change-Id: I0a1488cfc151388fe0145d231001e502e9f45f0e Reviewed-by: Michael Goddard <michael.goddard@nokia.com> Reviewed-by: Mithra Pattison <mithra.pattison@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-1315-78/+80
| | | | | | | | | 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>
* Remove the module prefix from a number of includes.Michael Goddard2011-12-095-7/+7
| | | | | | | Since I get build failures due to other changes in lower modules. Change-Id: Iac6a814071c019de25db52daf941185337fad14a Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Registered CameraFlash qml typeDmytro Poplavskiy2011-12-081-0/+2
| | | | | Change-Id: I0d05006dcfd690b2246bc0ccfea468168b207333 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>
* QtMultimedia: Fix warnings about declarative/quick.Friedemann Kleint2011-12-056-8/+8
| | | | | Change-Id: Ic9323b222641e41dae05cb4b0dccb6531e845676 Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
* Implemented QDeclarativeCameraCapture::setMetadataDmytro Poplavskiy2011-12-012-3/+9
| | | | | | | QMetaDataWriterControl is used if it's available. Change-Id: I18fd36c411b6d3c397ff22ebfea9b2c0e878cdeb Reviewed-by: Ling Hu <ling.hu@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>
* Add orientation support to VideoOutput.Michael Goddard2011-11-254-11/+126
| | | | | | | | | Just uses an integer to represent the degrees rotation from standard. Only supports multiples of 90 - other rotation can be done with standard QML. Change-Id: Id4013169c5d9da473b6e5be94ba341da21c2f2a3 Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
* Fixed QtMultimedia core namespace compilation.Toby Tomkins2011-11-2546-43/+148
| | | | | Change-Id: Ie276a7766bd26f3e49b2bc9c1a28ec96f1e3e4b0 Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Updated I420 video node to be consistent with RGB node implementation.Dmytro Poplavskiy2011-11-242-94/+120
| | | | | | | | | | Don't keep the frame after it was uploaded to texture; Upload frame data during rendering (in material shader updateState) instead of updatePaintNode(). Change-Id: Ia6a4063bfa02d4d20f75735649fe4f777cf50494 Reviewed-by: Michael Goddard <michael.goddard@nokia.com> Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
* If we fail to connect to pulse, don't enumerate sinks or sources.Michael Goddard2011-11-241-3/+5
| | | | | | | | Otherwise the pulse client library dislikes having methods called with a null context. Change-Id: I96629065b7a0e36e0d10402526cb167e65458e27 Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
* VideoOutput: release video frames when the video surface is stopped.Dmytro Poplavskiy2011-11-223-0/+24
| | | | | | | | It's necessary to release video frames during media pipeline shutdown or reconfiguration. Change-Id: I386ad4d173b8731f257ec9272ef8c46a27769bd0 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>
* Fixed qtmultimedia imports -qtnamespace issues.Toby Tomkins2011-11-214-0/+12
| | | | | Change-Id: Ie7896faf92b3cc5fdf2b6dbe885913c2669e6e36 Reviewed-by: Rohan McGovern <rohan.mcgovern@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>
* Add cap on internal read/write buffer for QAudioOuput(PA)Ling Hu2011-11-151-1/+1
| | | | | | | cap set to no more than 5x period size Change-Id: If3ae244993a8929832f6724c386dac6f12ef0f03 Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Added support for non QMediaObject based VideoOutput sources.Dmytro Poplavskiy2011-11-152-8/+34
| | | | | | | | | | | | VideoOutput element checks first for mediaObject property of source object and if it's not available it checks for videoSurface property. It allows to implement video frames generator and connect it to optimized VideoOutput QML element. Change-Id: I8ee618cf61b9d9100f25e742c631ea8724c188dc Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
* Add additional protection on the write size in QAudioOuput(pulseaudio)Ling Hu2011-11-141-0/+5
| | | | | | | | | Check and cap the write size in pull mode to handle the case where user returned an invalid write size through QIODevice Change-Id: Ie0610a63f1d5400fba87f32a99bdc38479e0e7e8 Reviewed-by: Michael Goddard <michael.goddard@nokia.com> Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
* Changed QVideoSurfaceGstSink to take pools from pluginsJonas Rabbe2011-11-146-16/+118
| | | | | 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>
* Fix pullmode data lost problem in QAudioOutput(pulseaudio)Ling Hu2011-11-092-42/+36
| | | | | | | | | | | At each userFeed, m_bytesAvailable is not updated properly in pullmode, so the pull data size become irrelevent to the size we can actually write. This problem is fixed by checking the actual writable size each time before pulling the data and limit the size of the pulled and written data. Change-Id: I6f53e6348693ddf4e3c79e90d3c3d0c1ffc713aa Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com> Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Change the order textures are bound.Michael Goddard2011-11-081-2/+2
| | | | | | | | Leave texture unit 0 active at the end, since the active texture unit is not restored by SG itself. Change-Id: I4970a955fea5c9342cc93c1d1b07ffbfb71e5f04 Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@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-0217-42/+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-016-356/+9
| | | | | | | 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>
* We already have a mock backend.Michael Goddard2011-10-2510-1185/+0
| | | | | | Change-Id: Ic4f9277c4c4bff225ac6cd70d28b495a42435e35 Reviewed-by: Sergey Dubitskiy <sergey.dubitskiy@nokia.com> 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>
* Adapt to QtDeclarative api renaming (QSG --> QQuick)Kent Hansen2011-10-242-6/+6
| | | | | Change-Id: Iefee24c6262679263caef1976d0d9af541834ea0 Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Fixed compile; QDesktopServices -> QStandardPathsRohan McGovern2011-10-241-2/+2
| | | | | | | Broken by qtbase dfa24768a3243eda68d91f573050bf23f96da2dd. Change-Id: Ie0d79eaee5c6fedfaacae69800f6aec9190f83db Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
* Added RDS functionality to the QRadioTuner/QDeclarativeRadioSami Nurmenniemi2011-10-2123-9/+1580
| | | | | | 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>
* Fixed build problems with QuicktimeJonas Rabbe2011-10-204-5/+5
| | | | | | | | | | Because the Q_WS_* defines were removed, the Quicktime backend stopped working. Replacing them with Q_OS_* works. Additionally, the Quicktimer Player Service has to depend on QtWidgets. Change-Id: I687b352191c38a91edaaf2a687ac13ed118fcf88 Reviewed-by: Michael Goddard <michael.goddard@nokia.com> Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
* Init mediaobject at classBegin rather than componentCompleteLing Hu2011-10-171-7/+9
| | | | | | | | | | | | Since we use an explicit backgroundaudio class, there is no need to wait for other property to determine the mediaobject type. So it is better to init the mediaobject at classBegin to prevent being accessed before mediaobject initialized. Change-Id: Ia55b8b4c1ab70cc0acbf6f49bcb3e20bdb813a88 Reviewed-by: Michael Goddard <michael.goddard@nokia.com> Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com> Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
* Make the C++ API of QSoundEffect public.Michael Goddard2011-10-177-21/+11
| | | | | | | | | 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>
* Declarative VideoOutput: added support for more rgb formats.Dmytro Poplavskiy2011-10-145-163/+294
| | | | | | | | | | RGB 565, RGB 32 and BGR 32 formats added, all of them supported with OpenGL ES. Change-Id: I026628611c59575af5934bac0a5f95dfbc6770cb Reviewed-on: http://codereview.qt-project.org/6644 Reviewed-by: Michael Goddard <michael.goddard@nokia.com> Reviewed-by: Jonas Rabbe <jonas.rabbe@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>