From 9a1e3164f977acc2aa1b8ae182c2000d2ecbe7fc Mon Sep 17 00:00:00 2001 From: Sergio Ahumada Date: Mon, 17 Dec 2012 20:35:45 +0100 Subject: [PATCH 01/10] point dependencies to 'release' branches Change-Id: Iabbadc65f1cd3cd8c43f10971b0b5213e459c268 Reviewed-by: Thiago Macieira Reviewed-by: Lars Knoll --- sync.profile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sync.profile b/sync.profile index f33c9a8c..b0fee010 100644 --- a/sync.profile +++ b/sync.profile @@ -20,8 +20,8 @@ # - any git symbolic ref resolvable from the module's repository (e.g. "refs/heads/master" to track master branch) # %dependencies = ( - "qtbase" => "refs/heads/stable", - "qtxmlpatterns" => "refs/heads/stable", - "qtdeclarative" => "refs/heads/stable", - "qtjsbackend" => "refs/heads/stable", + "qtbase" => "refs/heads/release", + "qtxmlpatterns" => "refs/heads/release", + "qtdeclarative" => "refs/heads/release", + "qtjsbackend" => "refs/heads/release", ); From 39439409236c791bf307fd8b46ab7e03af254502 Mon Sep 17 00:00:00 2001 From: Sergio Ahumada Date: Wed, 9 Jan 2013 15:50:47 +0100 Subject: [PATCH 02/10] Update changes file for 5.0.1 release Change-Id: I1d5fbb280146042da3894ecfdb544e0cbffb3368 Reviewed-by: Yoann Lopes Reviewed-by: Venugopal Shivashankar Reviewed-by: Mark Brand Reviewed-by: Kai Koehne Reviewed-by: Sze Howe Koh Reviewed-by: Oleg Shparber --- dist/changes-5.0.1 | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/dist/changes-5.0.1 b/dist/changes-5.0.1 index cc5a6704..2257275b 100644 --- a/dist/changes-5.0.1 +++ b/dist/changes-5.0.1 @@ -29,6 +29,21 @@ Third party components * Library * **************************************************************************** + - WMF: added more metadata keys (on Windows 7 and later). + - Compile in 32-bit mode. + - remove leftover code from multimediawidgets carve-out + - WMF: release video controls before releasing the session + - WMF: Fixed uninitialized member variable. + - WMF: re-enabled video probes and made it more robust. + - [QTBUG-28376] Make QtMultimedia an identified module + - [QTBUG-28727] Doc: Moved the qdocinc and image to the sourcedirs + - Remove comma at the end of the enum + - fix include statements + - Use qrc to deploy qml files in declarative-camera examples + - [QTBUG-26621] WMF: Fixed incorrect QMediaPlayer volume reporting. + - Polish and fix qmlvideofx example + - Add qmake generated files to .gitignore. + - Example: Notify user of errors **************************************************************************** * Platform Specific Changes * @@ -40,11 +55,6 @@ Third party components **************************************************************************** -**************************************************************************** -* Tools * -**************************************************************************** - - **************************************************************************** * Plugins * **************************************************************************** From c6b54f3521bb06c80106ca5a820c5dfd3ca2b093 Mon Sep 17 00:00:00 2001 From: Sergio Ahumada Date: Sat, 12 Jan 2013 09:19:54 +0100 Subject: [PATCH 03/10] doc: Fix namespace version to 5.0.1 for qhp documentation Change-Id: Ie2d0aeff6d8b63ae9d18896320557d28cc9adb68 Reviewed-by: hjk --- src/multimedia/doc/qtmultimedia.qdocconf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/multimedia/doc/qtmultimedia.qdocconf b/src/multimedia/doc/qtmultimedia.qdocconf index 3873bd25..c86534a3 100644 --- a/src/multimedia/doc/qtmultimedia.qdocconf +++ b/src/multimedia/doc/qtmultimedia.qdocconf @@ -14,7 +14,7 @@ version = 5.0.1 # format. qhp.projects = qtmultimedia qhp.qtmultimedia.file = qtmultimedia.qhp -qhp.qtmultimedia.namespace = org.qt-project.qtmultimedia.500 +qhp.qtmultimedia.namespace = org.qt-project.qtmultimedia.501 qhp.qtmultimedia.indexTitle = Qt Multimedia qhp.qtmultimedia.virtualFolder = qtmultimedia From 8e6ffcc6afe984cc9598184c9a71cdf377674597 Mon Sep 17 00:00:00 2001 From: Venugopal Shivashankar Date: Thu, 3 Jan 2013 17:50:32 +0100 Subject: [PATCH 04/10] Doc: Fixed random QDoc warnings - Fixed \snippet paths - Minor language edits - Removed unnecessary multiple page commands in a single comment block. For example, \fn and \qmlsignal in a single comment block is not allowed. Such instances must be documented in separate comment blocks. Change-Id: I65f4518499e2600c4e1807356d4116c575e48c19 Reviewed-by: Andy Nichols Reviewed-by: Jerome Pasion (cherry picked from commit 51334d299520118bbbc077696ca589f972a2f2ea) --- examples/multimedia/video/doc/src/qmlvideo.qdoc | 2 +- .../audioengine/qdeclarative_audiosample_p.cpp | 12 +----------- src/imports/multimedia/qdeclarativecamera.cpp | 4 ---- .../multimedia/qdeclarativecameraexposure.cpp | 10 ++++------ src/multimedia/audio/qaudiodeviceinfo.cpp | 4 ++-- src/multimedia/audio/qaudioinput.cpp | 8 ++++---- src/multimedia/audio/qaudiooutput.cpp | 8 ++++---- src/multimedia/audio/qsound.cpp | 6 +++--- src/multimedia/audio/qsoundeffect.cpp | 8 ++++---- src/multimedia/camera/qcamera.cpp | 2 +- src/multimedia/camera/qcamerafocus.cpp | 8 ++++---- src/multimedia/camera/qcameraimagecapture.cpp | 4 ++-- src/multimedia/camera/qcameraimageprocessing.cpp | 4 ++-- src/multimedia/controls/qvideorenderercontrol.cpp | 2 +- src/multimedia/controls/qvideowindowcontrol.cpp | 2 +- src/multimedia/doc/src/cameraoverview.qdoc | 11 +++++++---- src/multimedia/doc/src/multimedia.qdoc | 8 ++++---- src/multimedia/playback/qmediaplayer.cpp | 4 ++-- src/multimedia/playback/qmediaplaylist.cpp | 2 +- src/multimedia/qmediaservice.cpp | 2 +- src/multimedia/qmediaserviceprovider.cpp | 5 ++++- src/multimedia/qmediatimerange.cpp | 1 + src/multimediawidgets/qcameraviewfinder.cpp | 2 +- src/multimediawidgets/qgraphicsvideoitem.cpp | 2 +- src/multimediawidgets/qvideowidget.cpp | 2 +- src/multimediawidgets/qvideowidgetcontrol.cpp | 2 +- 26 files changed, 58 insertions(+), 67 deletions(-) diff --git a/examples/multimedia/video/doc/src/qmlvideo.qdoc b/examples/multimedia/video/doc/src/qmlvideo.qdoc index 0f4de6ce..4f39641d 100644 --- a/examples/multimedia/video/doc/src/qmlvideo.qdoc +++ b/examples/multimedia/video/doc/src/qmlvideo.qdoc @@ -72,7 +72,7 @@ the following items: Each scene in the flickable list is implemented in its own QML file - for example the video-basic scene (which just displays a static \l{VideoOutput} in the center of the screen) is implemented in the -\l{multimedia/ideo/qmlvideo/qml/qmlvideo/VideoBasic.qml}{VideoBasic.qml} file. As you +\l{multimedia/video/qmlvideo/qml/qmlvideo/VideoBasic.qml}{VideoBasic.qml} file. As you can see from the code, this makes use of a type of inheritance: a \l{multimedia/video/qmlvideo/qml/qmlvideo/VideoBasic.qml}{VideoBasic} item ... diff --git a/src/imports/audioengine/qdeclarative_audiosample_p.cpp b/src/imports/audioengine/qdeclarative_audiosample_p.cpp index 14e1a98a..b2f94dd5 100644 --- a/src/imports/audioengine/qdeclarative_audiosample_p.cpp +++ b/src/imports/audioengine/qdeclarative_audiosample_p.cpp @@ -149,7 +149,7 @@ bool QDeclarativeAudioSample::isPreloaded() const /*! \qmlproperty bool QtAudioEngine1::AudioSample::loaded - This property holds indicates whether this sample has been loaded into memory or not. + This property indicates whether this sample has been loaded into memory or not. */ bool QDeclarativeAudioSample::isLoaded() const { @@ -236,16 +236,6 @@ QSoundBuffer* QDeclarativeAudioSample::soundBuffer() const return m_soundBuffer; } -/*! - \omit - Note: This QML property is documented twice. - \qmlproperty bool QtAudioEngine1::AudioSample::loaded - - This property holds the load status of the audio sample. - \endomit -*/ - - /*! \qmlsignal QtAudioEngine1::AudioSample::onLoadedChanged() diff --git a/src/imports/multimedia/qdeclarativecamera.cpp b/src/imports/multimedia/qdeclarativecamera.cpp index 746e100a..f5ef5e01 100644 --- a/src/imports/multimedia/qdeclarativecamera.cpp +++ b/src/imports/multimedia/qdeclarativecamera.cpp @@ -630,21 +630,18 @@ void QDeclarativeCamera::setDigitalZoom(qreal value) */ /*! - \fn void QDeclarativeCamera::opticalZoomChanged(qreal zoom) \qmlsignal Camera::opticalZoomChanged(zoom) The optical zoom setting has changed to \a zoom. */ /*! - \fn void QDeclarativeCamera::digitalZoomChanged(qreal zoom) \qmlsignal Camera::digitalZoomChanged(zoom) The digital zoom setting has changed to \a zoom. */ /*! - \fn void QDeclarativeCamera::maximumOpticalZoomChanged(qreal zoom) \qmlsignal Camera::maximumOpticalZoomChanged(zoom) The maximum optical zoom setting has changed to \a zoom. This @@ -653,7 +650,6 @@ void QDeclarativeCamera::setDigitalZoom(qreal value) */ /*! - \fn void QDeclarativeCamera::maximumDigitalZoomChanged(qreal zoom) \qmlsignal Camera::maximumDigitalZoomChanged(zoom) The maximum digital zoom setting has changed to \a zoom. This diff --git a/src/imports/multimedia/qdeclarativecameraexposure.cpp b/src/imports/multimedia/qdeclarativecameraexposure.cpp index 9732b2b6..0a9b0686 100644 --- a/src/imports/multimedia/qdeclarativecameraexposure.cpp +++ b/src/imports/multimedia/qdeclarativecameraexposure.cpp @@ -80,15 +80,15 @@ QT_BEGIN_NAMESPACE For example, to select automatic shutter speed selection: - \qml + \code camera.exposure.setAutoShutterSpeed() - \endqml + \endcode Or for a specific shutter speed: - \qml + \code camera.exposure.manualShutterSpeed = 0.01 // 10ms - \endqml + \endcode You can only choose one or the other mode. */ @@ -331,7 +331,6 @@ void QDeclarativeCameraExposure::setAutoIsoSensitivity() */ /*! \qmlproperty enumeration QtMultimedia5::CameraExposure::exposureMode - \property QDeclarativeCameraExposure::exposureMode This property holds the camera exposure mode. @@ -402,7 +401,6 @@ void QDeclarativeCameraExposure::setSpotMeteringPoint(const QPointF &point) */ /*! \qmlproperty enumeration QtMultimedia5::CameraExposure::meteringMode - \property QDeclarativeCameraExposure::meteringMode This property holds the camera metering mode (how exposure is balanced). diff --git a/src/multimedia/audio/qaudiodeviceinfo.cpp b/src/multimedia/audio/qaudiodeviceinfo.cpp index 9c2240e8..6b67ba8d 100644 --- a/src/multimedia/audio/qaudiodeviceinfo.cpp +++ b/src/multimedia/audio/qaudiodeviceinfo.cpp @@ -138,7 +138,7 @@ public: supported format that is as close as possible to the format with nearestFormat(). For instance: - \snippet doc/src/snippets/multimedia-snippets/audio.cpp Setting audio format + \snippet multimedia-snippets/audio.cpp Setting audio format The static functions defaultInputDevice(), defaultOutputDevice(), and @@ -149,7 +149,7 @@ public: For instance: - \snippet doc/src/snippets/multimedia-snippets/audio.cpp Dumping audio formats + \snippet multimedia-snippets/audio.cpp Dumping audio formats In this code sample, we loop through all devices that are able to output sound, i.e., play an audio stream in a supported format. For each device we diff --git a/src/multimedia/audio/qaudioinput.cpp b/src/multimedia/audio/qaudioinput.cpp index 5788c182..82dd5123 100644 --- a/src/multimedia/audio/qaudioinput.cpp +++ b/src/multimedia/audio/qaudioinput.cpp @@ -76,9 +76,9 @@ QT_BEGIN_NAMESPACE with a QIODevice opened for writing. For instance, to record to a file, you can: - \snippet doc/src/snippets/multimedia-snippets/audio.cpp Audio input class members + \snippet multimedia-snippets/audio.cpp Audio input class members - \snippet doc/src/snippets/multimedia-snippets/audio.cpp Audio input setup + \snippet multimedia-snippets/audio.cpp Audio input setup This will start recording if the format specified is supported by the input device (you can check this with @@ -86,7 +86,7 @@ QT_BEGIN_NAMESPACE snags, use the error() function to check what went wrong. We stop recording in the \c stopRecording() slot. - \snippet doc/src/snippets/multimedia-snippets/audio.cpp Audio input stop recording + \snippet multimedia-snippets/audio.cpp Audio input stop recording At any point in time, QAudioInput will be in one of four states: active, suspended, stopped, or idle. These states are specified by @@ -108,7 +108,7 @@ QT_BEGIN_NAMESPACE an error is encountered. Connect to the stateChanged() signal to handle the error: - \snippet doc/src/snippets/multimedia-snippets/audio.cpp Audio input state changed + \snippet multimedia-snippets/audio.cpp Audio input state changed \sa QAudioOutput, QAudioDeviceInfo */ diff --git a/src/multimedia/audio/qaudiooutput.cpp b/src/multimedia/audio/qaudiooutput.cpp index 2f4acf95..414087f7 100644 --- a/src/multimedia/audio/qaudiooutput.cpp +++ b/src/multimedia/audio/qaudiooutput.cpp @@ -72,9 +72,9 @@ QT_BEGIN_NAMESPACE needs from the io device. So playing back an audio file is as simple as: - \snippet doc/src/snippets/multimedia-snippets/audio.cpp Audio output class members + \snippet multimedia-snippets/audio.cpp Audio output class members - \snippet doc/src/snippets/multimedia-snippets/audio.cpp Audio output setup + \snippet multimedia-snippets/audio.cpp Audio output setup The file will start playing assuming that the audio system and output device support it. If you run out of luck, check what's @@ -82,7 +82,7 @@ QT_BEGIN_NAMESPACE After the file has finished playing, we need to stop the device: - \snippet doc/src/snippets/multimedia-snippets/audio.cpp Audio output state changed + \snippet multimedia-snippets/audio.cpp Audio output state changed At any given time, the QAudioOutput will be in one of four states: active, suspended, stopped, or idle. These states are described @@ -110,7 +110,7 @@ QT_BEGIN_NAMESPACE You can check for errors by connecting to the stateChanged() signal: - \snippet doc/src/snippets/multimedia-snippets/audio.cpp Audio output state changed + \snippet multimedia-snippets/audio.cpp Audio output state changed \sa QAudioInput, QAudioDeviceInfo */ diff --git a/src/multimedia/audio/qsound.cpp b/src/multimedia/audio/qsound.cpp index c6fae3f0..7e634391 100644 --- a/src/multimedia/audio/qsound.cpp +++ b/src/multimedia/audio/qsound.cpp @@ -47,7 +47,7 @@ /*! \class QSound \brief The QSound class provides a method to play .wav sound files. - + \inmodule QtMultimedia \ingroup multimedia \ingroup multimedia_audio @@ -55,12 +55,12 @@ applications: asynchronously playing a sound file. This is most easily accomplished using the static play() function: - \snippet doc/src/snippets/multimedia-snippets/qsound.cpp 0 + \snippet multimedia-snippets/qsound.cpp 0 Alternatively, create a QSound object from the sound file first and then call the play() slot: - \snippet doc/src/snippets/multimedia-snippets/qsound.cpp 1 + \snippet multimedia-snippets/qsound.cpp 1 Once created a QSound object can be queried for its fileName() and total number of loops() (i.e. the number of times the sound will diff --git a/src/multimedia/audio/qsoundeffect.cpp b/src/multimedia/audio/qsoundeffect.cpp index 080e037d..75890c42 100644 --- a/src/multimedia/audio/qsoundeffect.cpp +++ b/src/multimedia/audio/qsoundeffect.cpp @@ -67,13 +67,13 @@ QT_BEGIN_NAMESPACE This example shows how a looping, somewhat quiet sound effect can be played: - \snippet doc/src/snippets/multimedia-snippets/qsound.cpp 2 + \snippet multimedia-snippets/qsound.cpp 2 Typically the sound effect should be reused, which allows all the parsing and preparation to be done ahead of time, and only triggered when necessary. This assists with lower latency audio playback. - \snippet doc/src/snippets/multimedia-snippets/qsound.cpp 3 + \snippet multimedia-snippets/qsound.cpp 3 Since QSoundEffect requires slightly more resources to achieve lower latency playback, the platform may limit the number of simultaneously playing @@ -107,7 +107,7 @@ QT_BEGIN_NAMESPACE The following example plays a WAV file on mouse click. - \snippet doc/src/snippets/multimedia-snippets/soundeffect.qml complete snippet + \snippet multimedia-snippets/soundeffect.qml complete snippet Since SoundEffect requires slightly more resources to achieve lower latency playback, the platform may limit the number of simultaneously playing @@ -340,7 +340,7 @@ bool QSoundEffect::isLoaded() const This is the default method for SoundEffect. - \snippet doc/src/snippets/multimedia-snippets/soundeffect.qml play sound on click + \snippet multimedia-snippets/soundeffect.qml play sound on click */ /*! \fn QSoundEffect::play() diff --git a/src/multimedia/camera/qcamera.cpp b/src/multimedia/camera/qcamera.cpp index 1746d48a..af37140b 100644 --- a/src/multimedia/camera/qcamera.cpp +++ b/src/multimedia/camera/qcamera.cpp @@ -90,7 +90,7 @@ QT_BEGIN_NAMESPACE See the \l{Camera Overview}{camera overview} for more information. - \snippet doc/src/snippets/multimedia-snippets/media.cpp Request control + \snippet multimedia-snippets/media.cpp Request control */ diff --git a/src/multimedia/camera/qcamerafocus.cpp b/src/multimedia/camera/qcamerafocus.cpp index fcae9f0c..7f390b82 100644 --- a/src/multimedia/camera/qcamerafocus.cpp +++ b/src/multimedia/camera/qcamerafocus.cpp @@ -162,7 +162,7 @@ public: rectangles around areas of the camera frame that are in focus, or changing the color of a zone as it comes into focus. - \snippet doc/src/snippets/multimedia-snippets/camera.cpp Camera focus zones + \snippet multimedia-snippets/camera.cpp Camera focus zones \sa QCameraFocus */ @@ -291,7 +291,7 @@ void QCameraFocusZone::setStatus(QCameraFocusZone::FocusZoneStatus status) interesting area of the viewfinder for the hardware to attempt to focus on. - \snippet doc/src/snippets/multimedia-snippets/camera.cpp Camera custom zoom + \snippet multimedia-snippets/camera.cpp Camera custom zoom Zooming can be accomplished in a number of ways - usually the more expensive but higher quality approach is an optical zoom, which allows @@ -303,7 +303,7 @@ void QCameraFocusZone::setStatus(QCameraFocusZone::FocusZoneStatus status) checked. The \l zoomTo() method allows changing both optical and digital zoom at once. - \snippet doc/src/snippets/multimedia-snippets/camera.cpp Camera combined zoom + \snippet multimedia-snippets/camera.cpp Camera combined zoom \section2 Some notes on autofocus Some hardware supports a movable focus lens assembly, and typically @@ -319,7 +319,7 @@ void QCameraFocusZone::setStatus(QCameraFocusZone::FocusZoneStatus status) are in focus or are being used for autofocusing via the \l focusZones() property: - \snippet doc/src/snippets/multimedia-snippets/camera.cpp Camera focus zones + \snippet multimedia-snippets/camera.cpp Camera focus zones \sa QCameraFocusZone */ diff --git a/src/multimedia/camera/qcameraimagecapture.cpp b/src/multimedia/camera/qcameraimagecapture.cpp index 1fd8810f..8ae3d8c5 100644 --- a/src/multimedia/camera/qcameraimagecapture.cpp +++ b/src/multimedia/camera/qcameraimagecapture.cpp @@ -69,9 +69,9 @@ QT_BEGIN_NAMESPACE It's not intended to be used alone but for accessing the media recording functions of other media objects, like QCamera. - \snippet doc/src/snippets/multimedia-snippets/camera.cpp Camera + \snippet multimedia-snippets/camera.cpp Camera - \snippet doc/src/snippets/multimedia-snippets/camera.cpp Camera keys + \snippet multimedia-snippets/camera.cpp Camera keys \sa QCamera */ diff --git a/src/multimedia/camera/qcameraimageprocessing.cpp b/src/multimedia/camera/qcameraimageprocessing.cpp index 45c8baf3..f9053462 100644 --- a/src/multimedia/camera/qcameraimageprocessing.cpp +++ b/src/multimedia/camera/qcameraimageprocessing.cpp @@ -87,11 +87,11 @@ QT_BEGIN_NAMESPACE For example, you can set the white balance (or color temperature) used for processing images: - \snippet doc/src/snippets/multimedia-snippets/camera.cpp Camera image whitebalance + \snippet multimedia-snippets/camera.cpp Camera image whitebalance Or adjust the amount of denoising performed: - \snippet doc/src/snippets/multimedia-snippets/camera.cpp Camera image denoising + \snippet multimedia-snippets/camera.cpp Camera image denoising In some cases changing these settings may result in a longer delay before an image is ready. diff --git a/src/multimedia/controls/qvideorenderercontrol.cpp b/src/multimedia/controls/qvideorenderercontrol.cpp index 764dc5ad..6e9fb59b 100644 --- a/src/multimedia/controls/qvideorenderercontrol.cpp +++ b/src/multimedia/controls/qvideorenderercontrol.cpp @@ -58,7 +58,7 @@ QT_BEGIN_NAMESPACE QAbstractVideoSurface may be set as the video render target of a QMediaService. - \snippet doc/src/snippets/multimedia-snippets/video.cpp Video renderer control + \snippet multimedia-snippets/video.cpp Video renderer control QVideoRendererControl is one of a number of possible video output controls. diff --git a/src/multimedia/controls/qvideowindowcontrol.cpp b/src/multimedia/controls/qvideowindowcontrol.cpp index 611d18e9..5e8f893e 100644 --- a/src/multimedia/controls/qvideowindowcontrol.cpp +++ b/src/multimedia/controls/qvideowindowcontrol.cpp @@ -58,7 +58,7 @@ QT_BEGIN_NAMESPACE should be rendered to, and the aspectRatioMode() property indicates how the video should be scaled to fit the displayRect(). - \snippet doc/src/snippets/multimedia-snippets/video.cpp Video window control + \snippet multimedia-snippets/video.cpp Video window control QVideoWindowControl is one of a number of possible video output controls. diff --git a/src/multimedia/doc/src/cameraoverview.qdoc b/src/multimedia/doc/src/cameraoverview.qdoc index 40c82a69..8cdc8033 100644 --- a/src/multimedia/doc/src/cameraoverview.qdoc +++ b/src/multimedia/doc/src/cameraoverview.qdoc @@ -104,14 +104,17 @@ In QML, you can use \l Camera and \l VideoOutput together to show a simple viewfinder: \qml +import QtQuick 2.0 +import QtMultimedia 5.0 + +VideoOutput { + source: camera + Camera { id: camera // You can adjust various settings in here } - - VideoOutput { - source: camera - } +} \endqml In C++, your choice depends on whether you are using widgets, or QGraphicsView. diff --git a/src/multimedia/doc/src/multimedia.qdoc b/src/multimedia/doc/src/multimedia.qdoc index 5afa9f6a..05d6d47b 100644 --- a/src/multimedia/doc/src/multimedia.qdoc +++ b/src/multimedia/doc/src/multimedia.qdoc @@ -176,14 +176,14 @@ change when porting code. \section2 QML Types The following types are accessed by using: -\qml +\code import QtMultimedia 5.0 -\endqml +\endcode \annotatedlist multimedia_qml The following types are accessed by using \l {Positional Audio} {QtAudioEngine}: -\qml +\code import QtAudioEngine 1.0 -\endqml +\endcode \annotatedlist multimedia_audioengine \section2 Multimedia Classes diff --git a/src/multimedia/playback/qmediaplayer.cpp b/src/multimedia/playback/qmediaplayer.cpp index 82c709b1..9724c37b 100644 --- a/src/multimedia/playback/qmediaplayer.cpp +++ b/src/multimedia/playback/qmediaplayer.cpp @@ -72,12 +72,12 @@ QT_BEGIN_NAMESPACE main or canonical URL with additional information attached. When provided with a QMediaContent playback may be able to commence. - \snippet doc/src/snippets/multimedia-snippets/media.cpp Player + \snippet multimedia-snippets/media.cpp Player QVideoWidget can be used with QMediaPlayer for video rendering and QMediaPlaylist for accessing playlist functionality. - \snippet doc/src/snippets/multimedia-snippets/media.cpp Movie playlist + \snippet multimedia-snippets/media.cpp Movie playlist Since QMediaPlayer is a QMediaObject, you can use several of the QMediaObject functions for things like: diff --git a/src/multimedia/playback/qmediaplaylist.cpp b/src/multimedia/playback/qmediaplaylist.cpp index 434c8bec..b4181c08 100644 --- a/src/multimedia/playback/qmediaplaylist.cpp +++ b/src/multimedia/playback/qmediaplaylist.cpp @@ -90,7 +90,7 @@ namespace QMediaPlaylist allows to access the service intrinsic playlist functionality if available, otherwise it provides the the local memory playlist implementation. - \snippet doc/src/snippets/multimedia-snippets/media.cpp Movie playlist + \snippet multimedia-snippets/media.cpp Movie playlist Depending on playlist source implementation, most of the playlist mutating operations can be asynchronous. diff --git a/src/multimedia/qmediaservice.cpp b/src/multimedia/qmediaservice.cpp index 6e68e9d0..44ddff85 100644 --- a/src/multimedia/qmediaservice.cpp +++ b/src/multimedia/qmediaservice.cpp @@ -56,7 +56,7 @@ QT_BEGIN_NAMESPACE \ingroup multimedia \ingroup multimedia_control \ingroup multimedia_core - + \inmodule QtMultimedia Media services provide implementations of the functionality promised by media objects, and allow multiple providers to implement a QMediaObject. diff --git a/src/multimedia/qmediaserviceprovider.cpp b/src/multimedia/qmediaserviceprovider.cpp index 9d95fa5d..8be091df 100644 --- a/src/multimedia/qmediaserviceprovider.cpp +++ b/src/multimedia/qmediaserviceprovider.cpp @@ -640,7 +640,7 @@ QMediaServiceProvider *QMediaServiceProvider::defaultServiceProvider() /*! \class QMediaServiceProviderPlugin - + \inmodule QtMultimedia \brief The QMediaServiceProviderPlugin class interface provides an interface for QMediaService plug-ins. @@ -667,6 +667,7 @@ QMediaServiceProvider *QMediaServiceProvider::defaultServiceProvider() /*! \class QMediaServiceSupportedFormatsInterface + \inmodule QtMultimedia \brief The QMediaServiceSupportedFormatsInterface class interface identifies if a media service plug-in supports a media format. @@ -694,6 +695,7 @@ QMediaServiceProvider *QMediaServiceProvider::defaultServiceProvider() /*! \class QMediaServiceSupportedDevicesInterface + \inmodule QtMultimedia \brief The QMediaServiceSupportedDevicesInterface class interface identifies the devices supported by a media service plug-in. @@ -720,6 +722,7 @@ QMediaServiceProvider *QMediaServiceProvider::defaultServiceProvider() /*! \class QMediaServiceFeaturesInterface + \inmodule QtMultimedia \brief The QMediaServiceFeaturesInterface class interface identifies features supported by a media service plug-in. diff --git a/src/multimedia/qmediatimerange.cpp b/src/multimedia/qmediatimerange.cpp index 32ce7ccb..31249d7a 100644 --- a/src/multimedia/qmediatimerange.cpp +++ b/src/multimedia/qmediatimerange.cpp @@ -313,6 +313,7 @@ void QMediaTimeRangePrivate::removeInterval(const QMediaTimeInterval &interval) \brief The QMediaTimeRange class represents a set of zero or more disjoint time intervals. \ingroup multimedia + \inmodule QtMultimedia \reentrant diff --git a/src/multimediawidgets/qcameraviewfinder.cpp b/src/multimediawidgets/qcameraviewfinder.cpp index 2518e847..07e7a994 100644 --- a/src/multimediawidgets/qcameraviewfinder.cpp +++ b/src/multimediawidgets/qcameraviewfinder.cpp @@ -59,7 +59,7 @@ QT_BEGIN_NAMESPACE \inmodule QtMultimediaWidgets \ingroup camera - \snippet doc/src/snippets/multimedia-snippets/camera.cpp Camera + \snippet multimedia-snippets/camera.cpp Camera */ diff --git a/src/multimediawidgets/qgraphicsvideoitem.cpp b/src/multimediawidgets/qgraphicsvideoitem.cpp index e75a86d4..c41a9218 100644 --- a/src/multimediawidgets/qgraphicsvideoitem.cpp +++ b/src/multimediawidgets/qgraphicsvideoitem.cpp @@ -181,7 +181,7 @@ void QGraphicsVideoItemPrivate::_q_serviceDestroyed() is attached to a media object by passing a pointer to the QMediaObject to the setMediaObject() function. - \snippet doc/src/snippets/multimedia-snippets/video.cpp Video graphics item + \snippet multimedia-snippets/video.cpp Video graphics item \b {Note}: Only a single display output can be attached to a media object at one time. diff --git a/src/multimediawidgets/qvideowidget.cpp b/src/multimediawidgets/qvideowidget.cpp index ec073ec5..757e2e14 100644 --- a/src/multimediawidgets/qvideowidget.cpp +++ b/src/multimediawidgets/qvideowidget.cpp @@ -591,7 +591,7 @@ void QVideoWidgetPrivate::_q_dimensionsChanged() to media object by passing a pointer to the QMediaObject in its constructor, and detached by destroying the QVideoWidget. - \snippet doc/src/snippets/multimedia-snippets/video.cpp Video widget + \snippet multimedia-snippets/video.cpp Video widget \b {Note}: Only a single display output can be attached to a media object at one time. diff --git a/src/multimediawidgets/qvideowidgetcontrol.cpp b/src/multimediawidgets/qvideowidgetcontrol.cpp index 0403182c..0eae2d0c 100644 --- a/src/multimediawidgets/qvideowidgetcontrol.cpp +++ b/src/multimediawidgets/qvideowidgetcontrol.cpp @@ -58,7 +58,7 @@ QT_BEGIN_NAMESPACE video widget implemented by the control's media service. This widget is owned by the media service and so care should be taken not to delete it. - \snippet doc/src/snippets/multimedia-snippets/video.cpp Video widget control + \snippet multimedia-snippets/video.cpp Video widget control QVideoWidgetControl is one of number of possible video output controls. From b671a5f688970ec712297615210e32315d83ef85 Mon Sep 17 00:00:00 2001 From: Jerome Pasion Date: Mon, 21 Jan 2013 16:27:42 +0100 Subject: [PATCH 05/10] Doc: Fixed "QML Types" listing C++ classes. Removed "class" from the "selectors" qdocconf variable Task-number: QTBUG-29242 Change-Id: I1d6c264a6a4277dff27bffcd39d9841363241f7d Reviewed-by: Venugopal Shivashankar Reviewed-by: Geir Vattekar --- src/multimedia/doc/qtmultimedia.qdocconf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/multimedia/doc/qtmultimedia.qdocconf b/src/multimedia/doc/qtmultimedia.qdocconf index c86534a3..2fc62408 100644 --- a/src/multimedia/doc/qtmultimedia.qdocconf +++ b/src/multimedia/doc/qtmultimedia.qdocconf @@ -26,7 +26,7 @@ qhp.qtmultimedia.subprojects.classes.selectors = class fake:headerfile qhp.qtmultimedia.subprojects.classes.sortPages = true qhp.qtmultimedia.subprojects.qmltypes.title = QML Types qhp.qtmultimedia.subprojects.qmltypes.indexTitle = Qt Multimedia QML Types -qhp.qtmultimedia.subprojects.qmltypes.selectors = class fake:headerfile +qhp.qtmultimedia.subprojects.qmltypes.selectors = fake:headerfile qhp.qtmultimedia.subprojects.qmltypes.sortPages = true exampledirs += ../../../examples \ From 35393a6469a5d886c415e947be788b206c7ea76d Mon Sep 17 00:00:00 2001 From: Jerome Pasion Date: Mon, 21 Jan 2013 16:49:50 +0100 Subject: [PATCH 06/10] Doc: Summarized documentation fixes in changelog file. Change-Id: I1713bb96c043195af0dadb91b294b6a64db60ad4 Reviewed-by: Sergio Ahumada --- dist/changes-5.0.1 | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/dist/changes-5.0.1 b/dist/changes-5.0.1 index 2257275b..ee63857b 100644 --- a/dist/changes-5.0.1 +++ b/dist/changes-5.0.1 @@ -22,6 +22,9 @@ information about a particular change. General Improvements -------------------- +Documentation: Various documentation fixes such as spelling and snippet +corrections. + Third party components ---------------------- @@ -58,4 +61,3 @@ Third party components **************************************************************************** * Plugins * **************************************************************************** - From a45d35c07f9eed27fc286ab5fbc00789d45259b5 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Fri, 25 Jan 2013 13:39:28 -0800 Subject: [PATCH 07/10] Add virtual destructors to two classes with other virtuals Classes with virtuals are used polymorphically (why have virtuals otherwise?), so they need virtual destructors to be deleted properly. Unless they are never deleted using objects of those two classes -- but why have the interface in the first place if that's the case? This is binary incompatible change. It was agreed upon in the mailing list. Change-Id: I697e4bd53251452a0e6b0c09edd08c4835f90cbd Discussed-on: http://lists.qt-project.org/pipermail/development/2012-December/008908.html Reviewed-by: Lars Knoll --- src/multimedia/audio/qaudiosystemplugin.cpp | 4 ++++ src/multimedia/audio/qaudiosystemplugin.h | 1 + src/multimedia/qmediaserviceprovider.cpp | 4 ++++ src/multimedia/qmediaserviceproviderplugin.h | 1 + 4 files changed, 10 insertions(+) diff --git a/src/multimedia/audio/qaudiosystemplugin.cpp b/src/multimedia/audio/qaudiosystemplugin.cpp index 85fa855b..0262026c 100644 --- a/src/multimedia/audio/qaudiosystemplugin.cpp +++ b/src/multimedia/audio/qaudiosystemplugin.cpp @@ -44,6 +44,10 @@ QT_BEGIN_NAMESPACE +QAudioSystemFactoryInterface::~QAudioSystemFactoryInterface() +{ +} + /*! \class QAudioSystemPlugin \brief The QAudioSystemPlugin class provides an abstract base for audio plugins. diff --git a/src/multimedia/audio/qaudiosystemplugin.h b/src/multimedia/audio/qaudiosystemplugin.h index 7a8a4606..b2e1dd17 100644 --- a/src/multimedia/audio/qaudiosystemplugin.h +++ b/src/multimedia/audio/qaudiosystemplugin.h @@ -66,6 +66,7 @@ struct Q_MULTIMEDIA_EXPORT QAudioSystemFactoryInterface virtual QAbstractAudioInput* createInput(const QByteArray& device) = 0; virtual QAbstractAudioOutput* createOutput(const QByteArray& device) = 0; virtual QAbstractAudioDeviceInfo* createDeviceInfo(const QByteArray& device, QAudio::Mode mode) = 0; + virtual ~QAudioSystemFactoryInterface(); }; #define QAudioSystemFactoryInterface_iid \ diff --git a/src/multimedia/qmediaserviceprovider.cpp b/src/multimedia/qmediaserviceprovider.cpp index 8be091df..09dff9d8 100644 --- a/src/multimedia/qmediaserviceprovider.cpp +++ b/src/multimedia/qmediaserviceprovider.cpp @@ -50,6 +50,10 @@ QT_BEGIN_NAMESPACE +QMediaServiceProviderFactoryInterface::~QMediaServiceProviderFactoryInterface() +{ +} + class QMediaServiceProviderHintPrivate : public QSharedData { public: diff --git a/src/multimedia/qmediaserviceproviderplugin.h b/src/multimedia/qmediaserviceproviderplugin.h index 870ee596..9a7ff1d1 100644 --- a/src/multimedia/qmediaserviceproviderplugin.h +++ b/src/multimedia/qmediaserviceproviderplugin.h @@ -112,6 +112,7 @@ struct Q_MULTIMEDIA_EXPORT QMediaServiceProviderFactoryInterface { virtual QMediaService* create(QString const& key) = 0; virtual void release(QMediaService *service) = 0; + virtual ~QMediaServiceProviderFactoryInterface(); }; #define QMediaServiceProviderFactoryInterface_iid \ From 59150bd50b28484f974fa39fc2957c31a89c1a88 Mon Sep 17 00:00:00 2001 From: Nico Vertriest Date: Fri, 25 Jan 2013 15:53:31 +0100 Subject: [PATCH 08/10] Doc: corrected reference to snippet in qsoundeffect.cpp MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Task-number: QTBUG-29101 Change-Id: Ie8cfd257736b0329d9aa5d1f5270c85651d335ec Reviewed-by: Topi Reiniƶ Reviewed-by: Venugopal Shivashankar Reviewed-by: Jerome Pasion From b01c8274fd937358eb7b37b15a36f0a70e861480 Mon Sep 17 00:00:00 2001 From: Jerome Pasion Date: Mon, 21 Jan 2013 16:27:42 +0100 Subject: [PATCH 09/10] Doc: Add QML Types to table of contents in Assistant MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replace 'headerfile' with 'qmlclass' in qdocconf file. As a positive side-effect, QDoc will also add files for 'All members' for QML Types into .qhp as well. Task-number: QTBUG-29226 Change-Id: I892f386cbd22bfbf7a04be5aecc800896e1090ec Reviewed-by: Topi Reiniƶ Reviewed-by: Geir Vattekar --- src/multimedia/doc/qtmultimedia.qdocconf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/multimedia/doc/qtmultimedia.qdocconf b/src/multimedia/doc/qtmultimedia.qdocconf index 2fc62408..7f11dcab 100644 --- a/src/multimedia/doc/qtmultimedia.qdocconf +++ b/src/multimedia/doc/qtmultimedia.qdocconf @@ -26,7 +26,7 @@ qhp.qtmultimedia.subprojects.classes.selectors = class fake:headerfile qhp.qtmultimedia.subprojects.classes.sortPages = true qhp.qtmultimedia.subprojects.qmltypes.title = QML Types qhp.qtmultimedia.subprojects.qmltypes.indexTitle = Qt Multimedia QML Types -qhp.qtmultimedia.subprojects.qmltypes.selectors = fake:headerfile +qhp.qtmultimedia.subprojects.qmltypes.selectors = fake:qmlclass qhp.qtmultimedia.subprojects.qmltypes.sortPages = true exampledirs += ../../../examples \ From 1f2427642d2aa2e11318f7e5f968fb563f40d24b Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Fri, 25 Jan 2013 14:59:53 -0800 Subject: [PATCH 10/10] Add a changelog for the BC break Change-Id: I768fcbbc871207e99466a2e1a9c7a67d98a2c897 Reviewed-by: Lars Knoll --- dist/changes-5.0.1 | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/dist/changes-5.0.1 b/dist/changes-5.0.1 index ee63857b..84935ada 100644 --- a/dist/changes-5.0.1 +++ b/dist/changes-5.0.1 @@ -1,5 +1,11 @@ Qt 5.0.1 is a bug-fix release. It maintains both forward and backward -compatibility (source and binary) with Qt 5.0.0. +source compatibility with Qt 5.0.0. + +However, to fix a bug we detected after the 5.0 release, this release +has a limited binary compatibility break. We therefore recommend all +users to recompile their applications that provided QtMultimedia +plugins or dealt with them directly. This is an exceptional case: +compatibility will be kept for further releases. For more details, refer to the online documentation included in this distribution. The documentation is also available online: @@ -22,8 +28,15 @@ information about a particular change. General Improvements -------------------- -Documentation: Various documentation fixes such as spelling and snippet -corrections. + * Documentation: Various documentation fixes such as spelling and + snippet corrections. + + * Fixed an issue that could cause memory leak when certain objects + were destroyed. The fix for this issue required a binary + compatibility break in two classes: QAudioSystemFactoryInterface + and QMediaServiceProviderFactoryInterface. Those two classes are + used only in QtMultimedia plugins and code directly dealing with + them and recompilation is only strictly necessary for them. Third party components ----------------------