summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* QNX: Fix resetting video surface5.3Bernd Weimer2014-09-301-1/+1
| | | | | | | | | If video surface object is set to 0, it must not be accessed to set a property on it. Task-number: QTBUG-40746 Change-Id: I1de0e5495918d3ea06706412fab15bf1af012f36 Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
* WMF: Use media source only when it is initialized.David Schulz2014-09-301-5/+6
| | | | | Change-Id: I0efcf6139d0b81194cf25383025f080f8656728c Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* WMF: Fix null ptr derefernce in MFPlayerSession.David Schulz2014-09-301-1/+1
| | | | | | | | | | | | | | | | | | Checking the sender of the mediaSourceReady signal to prevent accessing the incorrect source resolver. When the source resolver has finished the asynchronous operation and the source resolver gets recreated in the player at the same time in a different thread the signal mediaSourceReady still gets emitted from the old source resolver. The player assumes that the signal was emitted from the current source resolver and accesses the unresolved media source in the handleMediaSourceReady slot. Task-number: QTBUG-39980 Change-Id: Ic52f6918995aac250048d91f89c520cfea111bd0 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* AVFoundation: fix build with iOS 8.0 SDK.Yoann Lopes2014-09-291-1/+1
| | | | | Change-Id: I9d9b97ad88631ba12a289f7575ca53386e592bd1 Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
* Remove unused includesChristian Strømme2014-09-111-3/+0
| | | | | Change-Id: Ibbce6e9135649d5dce0522320197dbbd0a92b3b9 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* WMF: fix initializing of media player's volume.Nodir Temirkhodjaev2014-09-111-3/+3
| | | | | | | | According to the docs, MESessionTopologyStatus with status == MF_TOPOSTATUS_READY should be the correct place for the GetService call. Change-Id: I7fdbedbe43b2191b35b95c7fd9c86940f58daff7 Reviewed-by: Wouter Huysentruit <wouter_huysentruit@hotmail.com> Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* WMF: fix memory leaks.Nodir Temirkhodjaev2014-09-112-27/+32
| | | | | | | | | | | Release requested interfaces. Task-number: QTBUG-32481 Change-Id: I846981f6a7a7ea77588b9322fc41e05e583bdb15 Reviewed-by: Wouter Huysentruit <wouter_huysentruit@hotmail.com> Reviewed-by: Alex Blasche <alexander.blasche@digia.com> Reviewed-by: Jeff Tranter <jtranter@ics.com> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
* Make PLS parser more permissive.Yoann Lopes2014-09-101-92/+10
| | | | | | | | | | | | The PLS format is not clearly specified, some rules are just assumed and files don't always respect them. We now only look for 'File' entries, since that's the only thing we actually use. We ignore the Version, NumberOfEntries, Title, Length and any other unrecognized tags. Task-number: QTBUG-40515 Change-Id: I9c176b7b68fd1441abbd50364f88994ad5d6236f Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* WMF: fix start time of QAudioProbe's buffers.Yoann Lopes2014-09-091-0/+3
| | | | | | Task-number: QTBUG-40954 Change-Id: Icd1d144dcff3a3191432722da44a263ca286dbb6 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* Fix URL handling in PLS parser.Yoann Lopes2014-09-091-25/+26
| | | | | | | | Make sure relative paths are resolved to a full path. Task-number: QTBUG-40515 Change-Id: Ideb83fc3a3c4a74c84917a22e3c30162d7b6158a Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* QMediaNetworkPlaylistProvider: Upon error parsing, stop parsing.Andres Gomez2014-09-091-0/+2
| | | | | | | | | | When an error is found parsing a playlist, stop parsing. This will also prevent the emission of the "loaded" signal when the parser finishes. Task-number: QTBUG-40513 Change-Id: Ia814864d0d546806219993f0b727761d5d4e7903 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Fix integer overflow in several audio plugins.Yoann Lopes2014-09-0910-10/+10
| | | | | | Task-number: QTBUG-40804 Change-Id: If006cb7db319bb6fda4ce7eb4f907e897b5d9efa Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* QNX: Fix end of media notificationBernd Weimer2014-09-091-0/+1
| | | | | | | | | When auto-play is on, EndOfMedia would not be emitted. This is due to a workaround for mmrenderer, that wrongly ignored stop events. Once media is played stop events will always have to be processed. Change-Id: I1cfd665bb06638ee3c86807aecc51e78f9baa938 Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* Restore QWindowsAudio support on wince.Bjoern Breitmeyer2014-08-272-1/+32
| | | | | | | Enabled Audio playback with wave device on WindowsCE again. Change-Id: Ic7749821ef8f991a909cbeb29083219ea988f5dc Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* WMF: fix bufferStatus() and availablePlaybackRanges().Yoann Lopes2014-08-251-15/+26
| | | | | | | | - Correctly initialize and clear PROPVARIANT structures - Return coherent data even when the information is not available Change-Id: I22b46f95f255cbb740a154c6296a5c3a91e64f67 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* AVFoundation: fix some controls not being correctly destroyed on iOS.Yoann Lopes2014-08-254-6/+11
| | | | | | | | | This patch also makes sure AVF video layers are removed from their parent layer when their corresponding Qt video outputs are destroyed. Task-number: QTBUG-39385 Change-Id: I164cd0da7084f84c0473ed3e396e734acce2a22e Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* AVFoundation: fix retrieving tracks information from live sources.Yoann Lopes2014-08-252-51/+55
| | | | | | | | | | | | | | For live sources, tracks information is available only after the AVPlayer changed its status to AVPlayerStatusReadyToPlay. It also seems to be available only from AVPlayerItem.tracks rather than AVAsset.tracks. The audioAvailableChanged() and videoAvailableChanged() signals are now correclty emitted and the video layer is correctly positioned for live sources. Task-number: QTBUG-38666 Change-Id: I8ee015a6ce81694c1fc1e44c679887cf7ccb0fd6 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Android: fix retrieving metadata from assets, qrc and remote files.Yoann Lopes2014-08-257-47/+113
| | | | | | | | | | | We need the same logic as for the media player: local files and assets must be loaded with a FileDescriptor. Because of a bug in Android API level >= 14, remote files have to be loaded in different ways depending on the version. Task-number: QTBUG-40274 Change-Id: I6411b959064d22219cf981a4dc8f4f26cf16f65f Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* OpenSL: Fix QAudioOutput::setNotifyInterval().Christian Strømme2014-08-252-5/+32
| | | | | | | | | It was not possible to change the notify interval after calling start(). Task-number: QTBUG-40208 Change-Id: I82a626003e3bdfe7b7fc88b2f97da492c788877e Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Fix QSGVideoNode rendering of rgb frames with padding.Daniele E. Domenichelli2014-08-251-1/+1
| | | | | | Change-Id: I6870cfa51b01b648494e2068be06e52b67403739 Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au> Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* CoreAudioOutput use timeout when waiting for render threadDyami Caliri2014-08-211-2/+2
| | | | | | | | | | On Snow Leopard (at least), changing the default audio device while audio is playing can cause CoreAudioOutput to freeze in audioThreadStop(). It seems that the OS stops calling renderCallback when the device changes, so audioThreadStop() waits forever. Change-Id: If7244cc50f12295ff91a979ef50e3bee1273affd Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Detect V4L availabilityLisandro Damián Nicanor Pérez Meyer2014-08-189-11/+42
| | | | | | | | | | Do not build related stuff if not found. Makes GStreamer support available on Hurd. Task-number: QTBUG-39762 Change-Id: I1f70b6975e5bef99ab2441aac4d90508bc8b64bd Reviewed-by: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com> Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Ensure the system libraries are linked against when -no-opengl is usedAndy Shaw2014-07-241-1/+3
| | | | | | Task-number: QTBUG-40406 Change-Id: I1e166a5003f524cdeb4a53d78a382a6b11719b6a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* CoreAudio: make sure audio stops playing when the device is muted.Yoann Lopes2014-07-161-2/+3
| | | | | | | | | | | | The audio session's category was set to Playback, which implies that audio is still audible even after setting the device to silent mode or locking the screen. This shouldn't be the default behavior. We now set it to Ambient, which preserves mixing with other apps but makes sure sound is turned off when it should. Task-number: QTBUG-39036 Change-Id: Ic36668d73f3179dc38b41023e380e15f8c8517e0 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* Android: Make sure we check and clear exceptions from the camera.Christian Strømme2014-07-143-36/+59
| | | | | | | | | | In several places we where ignoring the fact that we might get an exception from the camera code on Android. Failing to clear them will cause the application to to terminate. Task-number: QTBUG-39425 Change-Id: Idfe40e1749f54d551d37dae25912d9ddbc3da01e Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* DirectShow: Refactor camera backend.Yoann Lopes2014-07-1115-1417/+615
| | | | | | | | | | | | | | | | | | | Almost entire rewrite of the camera backend. It doesn't provide new features but is more stable and behave as it should. - Correctly report camera state and status - Correctly report if the camera is ready to capture - Emit imageExposed() signal - Save captured images in an appropriate directory - Images can be captured even without a viewport - Better error handling Removed the custom QVideoWidgetControl as it doesn't provide anything more than the QVideoWidget's renderer control fallback. Task-number: QTBUG-33782 Change-Id: I9baf6f83e7c69619f20a101921f7865a1c90d5e4 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* Android: fix setting camera parameters from QML.Yoann Lopes2014-07-108-136/+189
| | | | | | | | | | | | We were ignoring new parameter values when the camera was not loaded. All QML properties that were set at initialization time were therefore ignored since the camera is not loaded at that point. We now store all camera parameters and apply them once the camera is loaded. Task-number: QTBUG-39307 Change-Id: If66d768941c25cede2aea1b48fb928c4735c10f8 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* AVFoundation: correctly pass output URLs to AVCaptureMovieFileOutput.Yoann Lopes2014-07-101-4/+2
| | | | | | | | | | The URL string passed to NSURL was not fully encoded, causing the recorder to start with a nil URL, leading to an exception. We now use QURL::toNSURL() which automatically encode the URL. Task-number: QTBUG-38668 Change-Id: I06bf881a0a25fb37efd8784ebf518c8b90ecc6b4 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* PulseAudio: make plugin more robust.Yoann Lopes2014-07-106-253/+347
| | | | | | | | | | | | | Handle more thoroughly error cases, such as when the PulseAudio daemon does not respond or terminates while QAudioInput/QAudioOutput is active, in which cases it used to crash or hang. We now correctly emit the error signal and change the state when errors occur. Task-number: QTBUG-29742 Change-Id: I173d35aece60d96e578785e1522cf78b24dcb8b8 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* Fix documentation for QML Camera's cameraStateChanged signal.Yoann Lopes2014-07-081-2/+2
| | | | | | | | The signal name is 'cameraStateChanged' but was documented as 'stateChanged'. Change-Id: I80279613b55105a925acafc21f67c4a0917906af Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* QAlsaAudioOutput remove async callback.Dyami Caliri2014-07-042-33/+1
| | | | | | | | | | The async callback mechanism in ALSA is prone to deadlock. There was already a timer fallback mechanism that appears to be sufficient. Task-number: QTBUG-39677 Change-Id: I44b59e6b16eea1c9c4eeb6967335ce4f468cf3c4 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* QAlsaAudioInput remove unused async_handler member.Dyami Caliri2014-07-042-2/+0
| | | | | | | | The member 'ahandler' was not used and will not be used. Removing to avoid confusion. Change-Id: I35f3659a650f109c564c6308573a211f324e5411 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* GStreamer: correctly handle URLs from QMediaRecorder::setOutputLocationYoann Lopes2014-07-032-3/+16
| | | | | | Task-number: QTBUG-39949 Change-Id: Idf575b126bd3531655c8abda55c9e04149a4fb85 Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
* GStreamer: fix looping a media when it's loaded from qrc.Yoann Lopes2014-07-031-1/+1
| | | | | | | | | | | | When playing a media for the second time, the backend resets the the media by calling setMedia() with the same value. The problem is that setMedia() clears the previous media, which is a QFile in this case and is the one we are trying to set again... The QFile was deleted, causing the current media to be a dangling pointer. Change-Id: I6854b40212fd084d1e31e756a040a02ad103b7ba Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* Doc: link errorsNico Vertriest2014-07-012-2/+2
| | | | | | Task-number: QTBUG-34749 Change-Id: I1d107a8700e03ac550fd6611d80a985a36558b22 Reviewed-by: Martin Smith <martin.smith@digia.com>
* Android: fix crash when stopping the camera while a recording is activeYoann Lopes2014-06-301-1/+2
| | | | | | | | | | When unloading the camera, any active recording is automatically stopped, which in turn triggers the viewfinder to be restarted... We don't try anymore to restart the viewfinder after stopping recording unless the camera is still active. Change-Id: I77e4e3fc8d7116ac660d8bb23f6c400ebed4ffed Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* Android: fix registering recorded videos with the Android media scannerYoann Lopes2014-06-301-1/+1
| | | | | Change-Id: I6dfc4e13b8a0bccb1bcfead728f7e1ddb7b58bb4 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* Android: correctly update camera focus zones.Yoann Lopes2014-06-301-15/+14
| | | | | | | | | When setting a null custom focus point, we were correctly resetting the focus zones but we were not emitting the focusZonesChanged signal, causing the QML Camera to not update its focus zones. Change-Id: I59940c4cd2979fa08dc26566dc0f6d19e503f64f Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* Make multimedia QML types available for the 5.3 import version.Yoann Lopes2014-06-101-0/+5
| | | | | | | | At least one type needs to be registered with the 5.3 version number to make it known to the QML engine. Change-Id: Iacfe62650b4194fbb89135fef7cb148309227ce2 Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com>
* Fix static initialization order fiasco in some plugins.Yoann Lopes2014-06-065-347/+337
| | | | | | | | | Some static variables were initialized using QMediaMetaData values, which are also statically initialized. Task-number: QTBUG-39202 Change-Id: Ibedc0a77d96cdfa575aad122c4ec654e6830e1f7 Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
* Android: Use a file descriptor for all local media files.Christian Strømme2014-06-052-6/+11
| | | | | | | | | Using a fd is more consistent across different Android versions and also works with files that are in the applications private storage. Task-number: QTBUG-39346 Change-Id: I462822459d12d7842d15f1cb7caafc75c18fe32c Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Improve default audio plugin selection.Yoann Lopes2014-06-051-6/+21
| | | | | | | | | When no audio plugin is marked as default, use the first plugin available. Change-Id: Ide8db0fe55f43c4881c24505c1e2821b0fc176f6 Reviewed-by: Dyami Caliri <dyami@dragonframe.com> Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* Android: don't start camera preview until the viewfinder is ready.Yoann Lopes2014-06-052-12/+26
| | | | | | | | | If no video output is set for a camera, don't try to start the camera and report an error. If the video output is not ready, delay starting until it is. Change-Id: Id08e31a4e795b71ac036a6532e9499ca5670d790 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* Android: fix media player's volume.Yoann Lopes2014-06-051-11/+18
| | | | | | | | | - Preserve the volume when changing the current media. - Don't actually set a new volume when the media player is muted. Intead, save the value to apply it when setMuted(false) is called. Change-Id: I829eb280406ea35ff82a0c2638b2d19cf1d90643 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* Doc: Remove comment about preliminary API for Qt 5.0Topi Reinio2014-06-051-7/+3
| | | | | | Task-number: QTBUG-39195 Change-Id: I193321a29d06760e4ad5aa2eaca99d98b2e1f65a Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Android: Don't expose java calls in the control classes.Christian Strømme2014-06-0415-114/+238
| | | | | | | Makes the abstraction more clear. Change-Id: Ia9a7b0b157e1182158cd26b62775d13f6c5e1727 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Make it possible to build multimedia for embedded AndroidChristian Strømme2014-06-041-2/+2
| | | | | Change-Id: I3400b18379242ea4d1b4f94f5da6b60c64d551e4 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Android: Rename the wrapper classesChristian Strømme2014-06-0434-533/+533
| | | | | Change-Id: I2ce15c8475da3186f128ba59b7c58f9b5b0a67e1 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* Use Q_CONSTRUCTOR_FUNCTION macro to register multimedia meta types.Yoann Lopes2014-05-3025-271/+150
| | | | | | Task-number: QTBUG-39131 Change-Id: I2493c9e3e6f0065d0441a74ff240d7d91fbe059c Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* OpenSL: don't try to enqueue new buffers when the buffer queue is full.Yoann Lopes2014-05-301-1/+1
| | | | | | | | | | It could lead to corrupted sound since we were overwritting buffers that weren't played yet. Task-number: QTBUG-39015 Change-Id: I4c015c5383b813955998145d6316acc8c22f19a3 Reviewed-by: jian liang <jianliang79@gmail.com> Reviewed-by: Christian Stromme <christian.stromme@digia.com>