From 8484b0ff9c40fe70cdfc17bf74b0a5be93d674de Mon Sep 17 00:00:00 2001 From: Michael Goddard Date: Tue, 10 Apr 2012 20:19:34 +1000 Subject: Fix a number of doc errors and warnings. * Document a few missing classes/functions/methods * Fix a number of QML snippets that wouldn't work as standalone snippets * Add files to .pro so they show up in Creator.. Still the mysterious lack of controls dir documentation persists :/ Change-Id: I57162371a4d966e4db5bdb1b71d1baf9c0ca57c3 Reviewed-by: Jonas Rabbe --- doc/doc.pro | 24 ++ doc/src/audioengineoverview.qdoc | 1 + doc/src/plugins/qml-multimedia.qdoc | 25 +- src/imports/multimedia/qdeclarativecamera.cpp | 42 +-- .../multimedia/qdeclarativecameracapture.cpp | 40 +-- src/imports/multimedia/qdeclarativecamerafocus.cpp | 24 +- src/imports/multimedia/qdeclarativeradio.cpp | 51 ++-- src/multimedia/audio/qaudio.cpp | 8 +- src/multimedia/audio/qaudiobuffer.cpp | 158 ++++++++++- src/multimedia/audio/qaudiodecoder_p.cpp | 20 +- src/multimedia/camera/qcameraimagecapture.cpp | 12 +- src/multimedia/controls/qaudiodecodercontrol_p.cpp | 19 +- src/multimedia/controls/qcameraexposurecontrol.cpp | 18 +- src/multimedia/controls/qcamerafocuscontrol.cpp | 6 +- src/multimedia/controls/qvideorenderercontrol.h | 5 - src/multimedia/multimedia.pro | 4 - src/multimedia/qaudionamespace.qdoc | 71 ----- src/multimedia/qtmedianamespace.cpp | 289 +++++++++++---------- src/multimedia/qtmedianamespace.h | 114 ++++++++ src/multimedia/recording/qaudiorecorder.cpp | 6 + 20 files changed, 602 insertions(+), 335 deletions(-) delete mode 100644 src/multimedia/qaudionamespace.qdoc diff --git a/doc/doc.pro b/doc/doc.pro index 314a87398..db2f31196 100644 --- a/doc/doc.pro +++ b/doc/doc.pro @@ -8,3 +8,27 @@ TEMPLATE = subdirs # Doc snippets use widgets !isEmpty(QT.widgets.name): SUBDIRS += src/snippets + +OTHER_FILES += \ + src/audioengineoverview.qdoc \ + src/audiooverview.qdoc \ + src/cameraoverview.qdoc \ + src/changes.qdoc \ + src/multimediabackend.qdoc \ + src/multimedia.qdoc \ + src/qtmultimedia5.qdoc \ + src/radiooverview.qdoc \ + src/videooverview.qdoc \ + src/examples/audiodevices.qdoc \ + src/examples/audioinput.qdoc \ + src/examples/audiooutput.qdoc \ + src/examples/audiorecorder.qdoc \ + src/examples/camera.qdoc \ + src/examples/declarative-camera.qdoc \ + src/examples/declarative-radio.qdoc \ + src/examples/player.qdoc \ + src/examples/qmlvideofx.qdoc \ + src/examples/qmlvideo.qdoc \ + src/examples/spectrum.qdoc \ + src/examples/videographicsitem.qdoc \ + src/examples/videowidget.qdoc diff --git a/doc/src/audioengineoverview.qdoc b/doc/src/audioengineoverview.qdoc index 888293e82..483447cbf 100644 --- a/doc/src/audioengineoverview.qdoc +++ b/doc/src/audioengineoverview.qdoc @@ -51,6 +51,7 @@ import QtAudioEngine 1.0 AudioEngine { //... +} \endqml \section1 Examples diff --git a/doc/src/plugins/qml-multimedia.qdoc b/doc/src/plugins/qml-multimedia.qdoc index d264c1541..25a9ec59f 100644 --- a/doc/src/plugins/qml-multimedia.qdoc +++ b/doc/src/plugins/qml-multimedia.qdoc @@ -58,15 +58,20 @@ import QtMultimedia 5.0 // ... - Audio { - id: playMusic - source: "music.wav" - } + Item { + width: 640 + height: 360 + + Audio { + id: playMusic + source: "music.wav" + } - MouseArea { - id: playArea - anchors.fill: parent - onPressed: { playMusic.play() } + MouseArea { + id: playArea + anchors.fill: parent + onPressed: { playMusic.play() } + } } \endqml @@ -194,6 +199,9 @@ import QtQuick 2.0 import QtMultimedia 5.0 + Item { + width: 640 + height: 360 SoundEffect { id: effect @@ -204,6 +212,7 @@ anchors.fill: parent onPressed: { effect.play() } } + } \endqml diff --git a/src/imports/multimedia/qdeclarativecamera.cpp b/src/imports/multimedia/qdeclarativecamera.cpp index b540cbaf6..d20f2e9b5 100644 --- a/src/imports/multimedia/qdeclarativecamera.cpp +++ b/src/imports/multimedia/qdeclarativecamera.cpp @@ -93,32 +93,38 @@ void QDeclarativeCamera::_q_availabilityChanged(QtMultimedia::AvailabilityError import QtQuick 2.0 import QtMultimedia 5.0 - Camera { - id: camera + Item { + width: 640 + height: 360 - imageProcessing.whiteBalanceMode: CameraImageProcessing.WhiteBalanceFlash + Camera { + id: camera - exposure { - exposureCompensation: -1.0 - exposureMode: Camera.ExposurePortrait - } + imageProcessing.whiteBalanceMode: CameraImageProcessing.WhiteBalanceFlash + + exposure { + exposureCompensation: -1.0 + exposureMode: Camera.ExposurePortrait + } - flash.mode: Camera.FlashRedEyeReduction + flash.mode: Camera.FlashRedEyeReduction - imageCapture { - onImageCaptured: { - photoPreview.source = preview // Show the preview in an Image element + imageCapture { + onImageCaptured: { + photoPreview.source = preview // Show the preview in an Image element + } } } - } - VideoOutput { - source: camera - focus : visible // to receive focus and capture key events when visible - } + VideoOutput { + source: camera + anchors.fill: parent + focus : visible // to receive focus and capture key events when visible + } - Image { - id: photoPreview + Image { + id: photoPreview + } } \endqml diff --git a/src/imports/multimedia/qdeclarativecameracapture.cpp b/src/imports/multimedia/qdeclarativecameracapture.cpp index 8f7606a19..7cb0c6c9c 100644 --- a/src/imports/multimedia/qdeclarativecameracapture.cpp +++ b/src/imports/multimedia/qdeclarativecameracapture.cpp @@ -67,29 +67,35 @@ QT_BEGIN_NAMESPACE import QtQuick 2.0 import QtMultimedia 5.0 - Camera { - id: camera - - imageCapture { - onImageCaptured: { - // Show the preview in an Image element - photoPreview.source = preview + Item { + width: 640 + height: 360 + + Camera { + id: camera + + imageCapture { + onImageCaptured: { + // Show the preview in an Image element + photoPreview.source = preview + } } } - } - VideoOutput { - source: camera - focus : visible // to receive focus and capture key events when visible + VideoOutput { + source: camera + focus : visible // to receive focus and capture key events when visible + anchors.fill: parent - MouseArea { - anchors.fill: parent; - onClicked: camera.imageCapture.capture(); + MouseArea { + anchors.fill: parent; + onClicked: camera.imageCapture.capture(); + } } - } - Image { - id: photoPreview + Image { + id: photoPreview + } } \endqml diff --git a/src/imports/multimedia/qdeclarativecamerafocus.cpp b/src/imports/multimedia/qdeclarativecamerafocus.cpp index 82084d1a8..d69ed1781 100644 --- a/src/imports/multimedia/qdeclarativecamerafocus.cpp +++ b/src/imports/multimedia/qdeclarativecamerafocus.cpp @@ -64,13 +64,23 @@ QT_BEGIN_NAMESPACE import QtQuick 2.0 import QtMultimedia 5.0 - Camera { - id: camera + Item { + width: 640 + height: 360 - focus { - focusMode: Camera.FocusMacro - focusPointMode: Camera.FocusPointCustom - customFocusPoint: Qt.point(0.2, 0.2) //focus to top-left corner + Camera { + id: camera + + focus { + focusMode: Camera.FocusMacro + focusPointMode: Camera.FocusPointCustom + customFocusPoint: Qt.point(0.2, 0.2) //focus to top-left corner + } + } + + VideoOutput { + source: camera + anchors.fill: parent } } @@ -232,7 +242,7 @@ void QDeclarativeCameraFocus::setCustomFocusPoint(const QPointF &point) color: "transparent" // Map from the relative, normalized frame coordinates - property mappedRect: viewfinder.mapNormalizedRectToItem(area); + property variant mappedRect: viewfinder.mapNormalizedRectToItem(area); x: mappedRect.x y: mappedRect.y diff --git a/src/imports/multimedia/qdeclarativeradio.cpp b/src/imports/multimedia/qdeclarativeradio.cpp index 1f2a62c3a..cf9e2008b 100644 --- a/src/imports/multimedia/qdeclarativeradio.cpp +++ b/src/imports/multimedia/qdeclarativeradio.cpp @@ -419,34 +419,39 @@ void QDeclarativeRadio::scanUp() and if the user presses a station, the radio is tuned to this station. \qml - Radio { - id: radio - onStationFound: radioStations.append({"frequency": frequency, "stationId": stationId}) - } + Item { + width: 640 + height: 360 - ListModel { - id: radioStations - } + Radio { + id: radio + onStationFound: radioStations.append({"frequency": frequency, "stationId": stationId}) + } - ListView { - model: radioStations - delegate: Rectangle { - MouseArea { - anchors.fill: parent - onClicked: radio.frequency = frequency - } + ListModel { + id: radioStations + } - Text { - anchors.fill: parent - text: stationId + ListView { + model: radioStations + delegate: Rectangle { + MouseArea { + anchors.fill: parent + onClicked: radio.frequency = frequency + } + + Text { + anchors.fill: parent + text: stationId + } } - } - } + } - Rectangle { - MouseArea { - anchors.fill: parent - onClicked: radio.searchAllStations(Radio.SearchGetStationId) + Rectangle { + MouseArea { + anchors.fill: parent + onClicked: radio.searchAllStations(Radio.SearchGetStationId) + } } } \endqml diff --git a/src/multimedia/audio/qaudio.cpp b/src/multimedia/audio/qaudio.cpp index f89783f46..4a516a0ac 100644 --- a/src/multimedia/audio/qaudio.cpp +++ b/src/multimedia/audio/qaudio.cpp @@ -62,7 +62,7 @@ public: } -/* +/*! \namespace QAudio \brief The QAudio namespace contains enums used by the audio classes. \inmodule QtMultimedia @@ -70,7 +70,7 @@ public: \ingroup multimedia_audio */ -/* +/*! \enum QAudio::Error \value NoError No errors have occurred @@ -80,7 +80,7 @@ public: \value FatalError A non-recoverable error has occurred, the audio device is not usable at this time. */ -/* +/*! \enum QAudio::State \value ActiveState Audio data is being processed, this state is set after start() is called @@ -92,7 +92,7 @@ public: is set after start() is called and while no audio data is available to be processed. */ -/* +/*! \enum QAudio::Mode \value AudioOutput audio output device diff --git a/src/multimedia/audio/qaudiobuffer.cpp b/src/multimedia/audio/qaudiobuffer.cpp index 7161e44d4..bde04501f 100644 --- a/src/multimedia/audio/qaudiobuffer.cpp +++ b/src/multimedia/audio/qaudiobuffer.cpp @@ -371,7 +371,18 @@ qint64 QAudioBuffer::startTime() const This method is preferred over the const version of \l data() to prevent unnecessary copying. - */ + + There is also a templatized version of this constData() function that + allows you to retrieve a specific type of read-only pointer to + the data. Note that there is no checking done on the format of + the audio buffer - this is simply a convenience function. + + \code + // With a 16bit sample buffer: + const quint16 *data = buffer->constData(); + \endcode + +*/ const void* QAudioBuffer::constData() const { if (!isValid()) @@ -384,7 +395,17 @@ const void* QAudioBuffer::constData() const You should use the \l constData() function rather than this to prevent accidental deep copying. - */ + + There is also a templatized version of this data() function that + allows you to retrieve a specific type of read-only pointer to + the data. Note that there is no checking done on the format of + the audio buffer - this is simply a convenience function. + + \code + // With a 16bit sample const buffer: + const quint16 *data = buffer->data(); + \endcode +*/ const void* QAudioBuffer::data() const { if (!isValid()) @@ -392,6 +413,12 @@ const void* QAudioBuffer::data() const return d->mProvider->constData(); } + +/* + Template data/constData functions caused override problems with qdoc, + so moved their docs into the non template versions. +*/ + /*! Returns a pointer to this buffer's data. You can modify the data through the returned pointer. @@ -407,7 +434,17 @@ const void* QAudioBuffer::data() const change both buffer instances. Calling \l data() on either instance will again cause a deep copy to be made, which may invalidate the pointers returned from this function previously. - */ + + There is also a templatized version of data() allows you to retrieve + a specific type of pointer to the data. Note that there is no + checking done on the format of the audio buffer - this is + simply a convenience function. + + \code + // With a 16bit sample buffer: + quint16 *data = buffer->data(); // May cause deep copy + \endcode +*/ void *QAudioBuffer::data() { if (!isValid()) @@ -447,4 +484,119 @@ void *QAudioBuffer::data() return 0; } +// Template helper classes worth documenting + +/*! + \class QAudioBuffer::StereoSampleDefault + \internal + + Just a trait class for the default value. +*/ + +/*! + \class QAudioBuffer::StereoSample + \brief The StereoSample class provides a simple wrapper for a stereo audio sample. + \inmodule QtMultimedia + \ingroup multimedia + \ingroup multimedia_audio + + This templatized structure lets you treat a block of individual samples as an + interleaved stereo stream. This is most useful when used with the templatized + \l {QAudioBuffer::data()}{data()} functions of QAudioBuffer. Generally the data + is accessed as a pointer, so no copying should occur. + + There are some predefined instantiations of this template for working with common + stereo sample depths in a convenient way. + + This structure has \e left and \e right members for accessing individual channel data. + + For example: + \code + // Assuming 'buffer' is an unsigned 16 bit stereo buffer.. + QAudioBuffer::S16U *sample = buffer->data(); + for (int i=0; i < buffer->sampleCount() / 2; i++) { + qSwap(sample[i].left, sample[i].right); + } + \endcode + + \sa QAudioBuffer::S8U, QAudioBuffer::S8S, QAudioBuffer::S16S, QAudioBuffer::S16U, QAudioBuffer::S32F +*/ + +/*! + \fn QAudioBuffer::StereoSample::StereoSample() + + Constructs a new sample with the "silent" value for this + sample format (0 for signed formats and floats, 0x8* for unsigned formats). +*/ + +/*! + \fn QAudioBuffer::StereoSample::StereoSample(T leftSample, T rightSample) + + Constructs a new sample with the supplied \a leftSample and \a rightSample values. +*/ + +/*! + \fn QAudioBuffer::StereoSample::operator=(const StereoSample &other) + + Assigns \a other to this sample. + */ + + +/*! + \fn QAudioBuffer::StereoSample::average() const + + Returns the arithmetic average of the left and right samples. + */ + +/*! \fn QAudioBuffer::StereoSample::clear() + + Sets the values of this sample to the "silent" value. +*/ + +/*! + \variable QAudioBuffer::StereoSample::left + \brief the left sample +*/ + +/*! + \variable QAudioBuffer::StereoSample::right + \brief the right sample +*/ + +/*! + \typedef QAudioBuffer::S8U + \relates QAudioBuffer::StereoSample + + This is a predefined specialization for an unsigned stereo 8 bit sample. Each + channel is an \e {unsigned char}. +*/ +/*! + \typedef QAudioBuffer::S8S + \relates QAudioBuffer::StereoSample + + This is a predefined specialization for a signed stereo 8 bit sample. Each + channel is a \e {signed char}. +*/ +/*! + \typedef QAudioBuffer::S16U + \relates QAudioBuffer::StereoSample + + This is a predefined specialization for an unsigned stereo 16 bit sample. Each + channel is an \e {unsigned short}. +*/ +/*! + \typedef QAudioBuffer::S16S + \relates QAudioBuffer::StereoSample + + This is a predefined specialization for a signed stereo 16 bit sample. Each + channel is a \e {signed short}. +*/ +/*! + \typedef QAudioBuffer::S32F + \relates QAudioBuffer::StereoSample + + This is a predefined specialization for an 32 bit float sample. Each + channel is a \e float. +*/ + QT_END_NAMESPACE diff --git a/src/multimedia/audio/qaudiodecoder_p.cpp b/src/multimedia/audio/qaudiodecoder_p.cpp index 8776215ca..b0d57ee8f 100644 --- a/src/multimedia/audio/qaudiodecoder_p.cpp +++ b/src/multimedia/audio/qaudiodecoder_p.cpp @@ -69,7 +69,7 @@ QT_BEGIN_NAMESPACE directly to audio hardware, and playlists and network and streaming based media is not supported. - \sa QAudioBuffer, QAudioDecoder + \sa QAudioBuffer */ namespace @@ -130,7 +130,7 @@ void QAudioDecoderPrivate::_q_error(int error, const QString &errorString) /*! Construct an QAudioDecoder instance - parented to \a parent and with \a flags. + parented to \a parent. */ QAudioDecoder::QAudioDecoder(QObject *parent) : QMediaObject(*new QAudioDecoderPrivate, @@ -204,7 +204,7 @@ QString QAudioDecoder::errorString() const Alternatively, if you wish to block until enough data has been decoded, you can call read() at any time to block until a buffer is ready. - \sa read(), bufferSize() + \sa read() */ void QAudioDecoder::start() { @@ -267,7 +267,7 @@ void QAudioDecoder::setSourceFilename(const QString &fileName) /*! Returns the current source QIODevice, if one was set. - If \l setSourceFilename was called, this will be 0. + If \l setSourceFilename() was called, this will be 0. */ QIODevice *QAudioDecoder::sourceDevice() const { @@ -299,7 +299,7 @@ void QAudioDecoder::setSourceDevice(QIODevice *device) Any buffers returned should have this format. - \sa setAudioFormat, audioFormatChanged + \sa setAudioFormat(), formatChanged() */ QAudioFormat QAudioDecoder::audioFormat() const { @@ -366,6 +366,8 @@ QtMultimedia::SupportEstimate QAudioDecoder::hasSupport(const QString &mimeType, } /*! + \fn QAudioDecoder::bufferAvailable() const + Returns true if a buffer is available to be read, and false otherwise. If there is no buffer available, calling the \l read() function may block until a buffer is available or @@ -471,7 +473,7 @@ QAudioBuffer QAudioDecoder::read() const Signals that the current audio format of the decoder has changed to \a format. - \sa audioFormat(), setAudioFormat + \sa audioFormat(), setAudioFormat() */ /*! @@ -498,7 +500,7 @@ QAudioBuffer QAudioDecoder::read() const Signals that the decoding has finished successfully. If decoding fails, error signal is emitted instead. - \sa start(), stop(), error + \sa start(), stop(), error() */ /*! @@ -506,7 +508,7 @@ QAudioBuffer QAudioDecoder::read() const Signals that the current \a position of the decoder has changed. - \sa durationChanged + \sa durationChanged() */ /*! @@ -514,7 +516,7 @@ QAudioBuffer QAudioDecoder::read() const Signals that the estimated \a duration of the decoded data has changed. - \sa positionChanged + \sa positionChanged() */ diff --git a/src/multimedia/camera/qcameraimagecapture.cpp b/src/multimedia/camera/qcameraimagecapture.cpp index 81c178d2d..bb1e85f43 100644 --- a/src/multimedia/camera/qcameraimagecapture.cpp +++ b/src/multimedia/camera/qcameraimagecapture.cpp @@ -424,7 +424,7 @@ void QCameraImageCapture::setEncodingSettings(const QImageEncoderSettings &setti /*! Returns the list of supported buffer image capture formats. - \sa bufferFormat() setBufferFormat() + \sa bufferFormat(), setBufferFormat() */ QList QCameraImageCapture::supportedBufferFormats() const { @@ -437,7 +437,7 @@ QList QCameraImageCapture::supportedBufferFormats() co /*! Returns the buffer image capture format being used. - \sa supportedBufferFormats() setBufferFormat() + \sa supportedBufferFormats(), setBufferFormat() */ QVideoFrame::PixelFormat QCameraImageCapture::bufferFormat() const { @@ -450,7 +450,7 @@ QVideoFrame::PixelFormat QCameraImageCapture::bufferFormat() const /*! Sets the buffer image capture \a format to be used. - \sa bufferFormat() supportedBufferFormats() captureDestination() + \sa bufferFormat(), supportedBufferFormats(), captureDestination() */ void QCameraImageCapture::setBufferFormat(const QVideoFrame::PixelFormat format) { @@ -461,7 +461,7 @@ void QCameraImageCapture::setBufferFormat(const QVideoFrame::PixelFormat format) /*! Returns true if the image capture \a destination is supported; otherwise returns false. - \sa captureDestination() setCaptureDestination() + \sa captureDestination(), setCaptureDestination() */ bool QCameraImageCapture::isCaptureDestinationSupported(QCameraImageCapture::CaptureDestinations destination) const { @@ -474,7 +474,7 @@ bool QCameraImageCapture::isCaptureDestinationSupported(QCameraImageCapture::Cap /*! Returns the image capture destination being used. - \sa isCaptureDestinationSupported() setCaptureDestination() + \sa isCaptureDestinationSupported(), setCaptureDestination() */ QCameraImageCapture::CaptureDestinations QCameraImageCapture::captureDestination() const { @@ -487,7 +487,7 @@ QCameraImageCapture::CaptureDestinations QCameraImageCapture::captureDestination /*! Sets the capture \a destination to be used. - \sa isCaptureDestinationSupported() captureDestination() + \sa isCaptureDestinationSupported(), captureDestination() */ void QCameraImageCapture::setCaptureDestination(QCameraImageCapture::CaptureDestinations destination) { diff --git a/src/multimedia/controls/qaudiodecodercontrol_p.cpp b/src/multimedia/controls/qaudiodecodercontrol_p.cpp index a6c178b17..d2e1c7e4f 100644 --- a/src/multimedia/controls/qaudiodecodercontrol_p.cpp +++ b/src/multimedia/controls/qaudiodecodercontrol_p.cpp @@ -173,6 +173,15 @@ QAudioDecoderControl::QAudioDecoderControl(QObject *parent): Signals that a new buffer is ready for reading. */ +/*! + \fn QAudioDecoderControl::bufferAvailable() const + + Returns true if a buffer is available to be read, + and false otherwise. If there is no buffer available, calling + the \l read() function may block until a buffer is available or + the end of the media is reached +*/ + /*! \fn QAudioDecoderControl::sourceChanged() @@ -186,7 +195,7 @@ QAudioDecoderControl::QAudioDecoderControl(QObject *parent): Signals that the current audio format of the decoder has changed to \a format. - \sa audioFormat(), setAudioFormat + \sa audioFormat(), setAudioFormat() */ /*! @@ -195,7 +204,7 @@ QAudioDecoderControl::QAudioDecoderControl(QObject *parent): Signals that the decoding has finished successfully. If decoding fails, error signal is emitted instead. - \sa start(), stop(), error + \sa start(), stop(), error() */ /*! @@ -203,7 +212,7 @@ QAudioDecoderControl::QAudioDecoderControl(QObject *parent): Signals that the current \a position of the decoder has changed. - \sa durationChanged + \sa durationChanged() */ /*! @@ -211,7 +220,7 @@ QAudioDecoderControl::QAudioDecoderControl(QObject *parent): Signals that the estimated \a duration of the decoded data has changed. - \sa positionChanged + \sa positionChanged() */ /*! @@ -220,7 +229,7 @@ QAudioDecoderControl::QAudioDecoderControl(QObject *parent): Any buffers returned should have this format. - \sa setAudioFormat, audioFormatChanged + \sa setAudioFormat(), formatChanged() */ /*! diff --git a/src/multimedia/controls/qcameraexposurecontrol.cpp b/src/multimedia/controls/qcameraexposurecontrol.cpp index 5b4572dca..b36c9f474 100644 --- a/src/multimedia/controls/qcameraexposurecontrol.cpp +++ b/src/multimedia/controls/qcameraexposurecontrol.cpp @@ -53,22 +53,18 @@ QT_BEGIN_NAMESPACE \ingroup multimedia \ingroup multimedia_control - You can adjust a number of parameters that will affect images and video taken with - the corresponding QCamera object. - - There are a number of different parameters that can be adjusted, including: + The QCameraExposure class is the usual method of adjusting exposure related parameters + when using camera functionality. This class provides a more complete but less easy + to use interface, and also forms the interface to implement when writing a new + implementation of QCamera functionality. - \table - \row - \header - \ - - \endtable + You can adjust a number of parameters that will affect images and video taken with + the corresponding QCamera object - see the \l {QCameraExposureControl::ExposureParameter}{ExposureParameter} enumeration. The interface name of QCameraExposureControl is \c org.qt-project.qt.cameraexposurecontrol/5.0 as defined in QCameraExposureControl_iid. - \sa QCamera + \sa QCameraExposure, QCamera */ /*! diff --git a/src/multimedia/controls/qcamerafocuscontrol.cpp b/src/multimedia/controls/qcamerafocuscontrol.cpp index 6f5b0598c..38276daf8 100644 --- a/src/multimedia/controls/qcamerafocuscontrol.cpp +++ b/src/multimedia/controls/qcamerafocuscontrol.cpp @@ -172,7 +172,7 @@ QCameraFocusControl::~QCameraFocusControl() Signal is emitted when the focus \a mode is changed, usually in result of QCameraFocusControl::setFocusMode call or capture mode changes. - \sa QCameraFocusControl::focusMode() QCameraFocusControl::setFocusMode() + \sa QCameraFocusControl::focusMode(), QCameraFocusControl::setFocusMode() */ /*! @@ -181,7 +181,7 @@ QCameraFocusControl::~QCameraFocusControl() Signal is emitted when the focus point \a mode is changed, usually in result of QCameraFocusControl::setFocusPointMode call or capture mode changes. - \sa QCameraFocusControl::focusPointMode() QCameraFocusControl::setFocusPointMode() + \sa QCameraFocusControl::focusPointMode(), QCameraFocusControl::setFocusPointMode() */ /*! @@ -189,7 +189,7 @@ QCameraFocusControl::~QCameraFocusControl() Signal is emitted when the custom focus \a point is changed. - \sa QCameraFocusControl::customFocusPoint() QCameraFocusControl::setCustomFocusPoint() + \sa QCameraFocusControl::customFocusPoint(), QCameraFocusControl::setCustomFocusPoint() */ diff --git a/src/multimedia/controls/qvideorenderercontrol.h b/src/multimedia/controls/qvideorenderercontrol.h index c93117d6c..34d6b6eb7 100644 --- a/src/multimedia/controls/qvideorenderercontrol.h +++ b/src/multimedia/controls/qvideorenderercontrol.h @@ -51,11 +51,6 @@ QT_BEGIN_NAMESPACE QT_MODULE(Multimedia) class QAbstractVideoSurface; -QT_END_NAMESPACE - -QT_BEGIN_NAMESPACE - - class Q_MULTIMEDIA_EXPORT QVideoRendererControl : public QMediaControl { Q_OBJECT diff --git a/src/multimedia/multimedia.pro b/src/multimedia/multimedia.pro index 5a77e3413..8239b3b96 100644 --- a/src/multimedia/multimedia.pro +++ b/src/multimedia/multimedia.pro @@ -69,7 +69,3 @@ mac { } HEADERS += $$PUBLIC_HEADERS $$PRIVATE_HEADERS - -OTHER_FILES += \ - qaudionamespace.qdoc \ - diff --git a/src/multimedia/qaudionamespace.qdoc b/src/multimedia/qaudionamespace.qdoc deleted file mode 100644 index 67be246db..000000000 --- a/src/multimedia/qaudionamespace.qdoc +++ /dev/null @@ -1,71 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the documentation of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:FDL$ -** GNU Free Documentation License -** Alternatively, this file may be used under the terms of the GNU Free -** Documentation License version 1.3 as published by the Free Software -** Foundation and appearing in the file included in the packaging of -** this file. -** -** Other Usage -** Alternatively, this file may be used in accordance with the terms -** and conditions contained in a signed written agreement between you -** and Nokia. -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - - - -/*! - \namespace QAudio - \brief The QAudio namespace contains enums used by the audio classes. - \inmodule QtMultimedia - \ingroup multimedia - \inheaderfile qaudio.h -*/ - -/* - \enum QAudio::Error - - Error states - - \value NoError No errors have occurred - \value OpenError An error opening the audio device - \value IOError An error occurred during read/write of audio device - \value UnderrunError Audio data is not being fed to the audio device at a fast enough rate - \value FatalError A non-recoverable error has occurred, the audio device is not usable at this time. -*/ - -/* - \enum QAudio::State - - Audio processing states - - \value ActiveState Audio data is being processed, this state is set after start() is called - and while audio data is available to be processed. - \value SuspendedState The audio device is in a suspended state, this state will only be entered - after suspend() is called. - \value StoppedState The audio device is closed, not processing any audio data - \value IdleState The QIODevice passed in has no data and audio system's buffer is empty, this state - is set after start() is called and while no audio data is available to be processed. -*/ - -/* - \enum QAudio::Mode - - Audio I/O modes - - \value AudioOutput audio output device - \value AudioInput audio input device -*/ diff --git a/src/multimedia/qtmedianamespace.cpp b/src/multimedia/qtmedianamespace.cpp index 0fa456d96..c45f25fa1 100644 --- a/src/multimedia/qtmedianamespace.cpp +++ b/src/multimedia/qtmedianamespace.cpp @@ -31,17 +31,14 @@ QT_BEGIN_NAMESPACE /*! \namespace QtMultimedia + \inheaderfile qtmedianamespace.h \ingroup multimedia \inmodule QtMultimedia \ingroup multimedia \ingroup multimedia_core - \brief The QtMultimedia namespace contains miscellaneous identifiers used throughout the Qt Media services library. - - QtMultimedia is a module containing the low level, low latency, - Multimedia APIs which were introduced in Qt 4.6 and also includes the - high level QtMultimedia APIs which were introduced in QtMobility 1.0. + \brief The QtMultimedia namespace contains miscellaneous identifiers used throughout the Qt Multimedia library. */ @@ -196,162 +193,172 @@ Q_DEFINE_METADATA(ThumbnailImage); \note Not all identifiers are supported on all platforms. Please consult vendor documentation for specific support on different platforms. + \table 60% + \header \li {3,1} Common attributes - \value Title The title of the media. QString. - \value SubTitle The sub-title of the media. QString. - \value Author The authors of the media. QStringList. - \value Comment A user comment about the media. QString. - \value Description A description of the media. QString - \value Category The category of the media. QStringList. - \value Genre The genre of the media. QStringList. - \value Year The year of release of the media. int. - \value Date The date of the media. QDate. - \value UserRating A user rating of the media. int [0..100]. - \value Keywords A list of keywords describing the media. QStringList. - \value Language The language of media, as an ISO 639-2 code. - - \value Publisher The publisher of the media. QString. - \value Copyright The media's copyright notice. QString. - \value ParentalRating The parental rating of the media. QString. - \value RatingOrganization The organization responsible for the parental rating of the media. - QString. - + \header \li Value \li Description \li Type + \row \li Title \li The title of the media. \li QString + \row \li SubTitle \li The sub-title of the media. \li QString + \row \li Author \li The authors of the media. \li QStringList + \row \li Comment \li A user comment about the media. \li QString + \row \li Description \li A description of the media. \li QString + \row \li Category \li The category of the media. \li QStringList + \row \li Genre \li The genre of the media. \li QStringList + \row \li Year \li The year of release of the media. \li int + \row \li Date \li The date of the media. \li QDate. + \row \li UserRating \li A user rating of the media. \li int [0..100] + \row \li Keywords \li A list of keywords describing the media. \li QStringList + \row \li Language \li The language of media, as an ISO 639-2 code. \li QString + + \row \li Publisher \li The publisher of the media. \li QString + \row \li Copyright \li The media's copyright notice. \li QString + \row \li ParentalRating \li The parental rating of the media. \li QString + \row \li RatingOrganization \li The organization responsible for the parental rating of the media. + \li QString + + \header \li {3,1} Media attributes - \value Size The size in bytes of the media. qint64 - \value MediaType The type of the media (audio, video, etc). QString. - \value Duration The duration in millseconds of the media. qint64. + \row \li Size \li The size in bytes of the media. \li qint64 + \row \li MediaType \li The type of the media (audio, video, etc). \li QString + \row \li Duration \li The duration in millseconds of the media. \li qint64 + \header \li {3,1} Audio attributes - \value AudioBitRate The bit rate of the media's audio stream in bits per second. int. - \value AudioCodec The codec of the media's audio stream. QString. - \value AverageLevel The average volume level of the media. int. - \value ChannelCount The number of channels in the media's audio stream. int. - \value PeakValue The peak volume of the media's audio stream. int - \value SampleRate The sample rate of the media's audio stream in hertz. int - + \row \li AudioBitRate \li The bit rate of the media's audio stream in bits per second. \li int + \row \li AudioCodec \li The codec of the media's audio stream. \li QString + \row \li AverageLevel \li The average volume level of the media. \li int + \row \li ChannelCount \li The number of channels in the media's audio stream. \li int + \row \li PeakValue \li The peak volume of the media's audio stream. \li int + \row \li SampleRate \li The sample rate of the media's audio stream in hertz. \li int + + \header \li {3,1} Music attributes - \value AlbumTitle The title of the album the media belongs to. QString. - \value AlbumArtist The principal artist of the album the media belongs to. QString. - \value ContributingArtist The artists contributing to the media. QStringList. - \value Composer The composer of the media. QStringList. - \value Conductor The conductor of the media. QString. - \value Lyrics The lyrics to the media. QString. - \value Mood The mood of the media. QString. - \value TrackNumber The track number of the media. int. - \value TrackCount The number of tracks on the album containing the media. int. - - \value CoverArtUrlSmall The URL of a small cover art image. QUrl. - \value CoverArtUrlLarge The URL of a large cover art image. QUrl. - \value CoverArtImage An embedded cover art image. QImage. - + \row \li AlbumTitle \li The title of the album the media belongs to. \li QString + \row \li AlbumArtist \li The principal artist of the album the media belongs to. \li QString + \row \li ContributingArtist \li The artists contributing to the media. \li QStringList + \row \li Composer \li The composer of the media. \li QStringList + \row \li Conductor \li The conductor of the media. \li QString + \row \li Lyrics \li The lyrics to the media. \li QString + \row \li Mood \li The mood of the media. \li QString + \row \li TrackNumber \li The track number of the media. \li int + \row \li TrackCount \li The number of tracks on the album containing the media. \li int + + \row \li CoverArtUrlSmall \li The URL of a small cover art image. \li QUrl + \row \li CoverArtUrlLarge \li The URL of a large cover art image. \li QUrl + \row \li CoverArtImage \li An embedded cover art image. \li QImage + + \header \li {3,1} Image and video attributes - \value Resolution The dimensions of an image or video. QSize. - \value PixelAspectRatio The pixel aspect ratio of an image or video. QSize. + \row \li Resolution \li The dimensions of an image or video. \li QSize + \row \li PixelAspectRatio \li The pixel aspect ratio of an image or video. \li QSize + \header \li {3,1} Video attributes - \value VideoFrameRate The frame rate of the media's video stream. qreal. - \value VideoBitRate The bit rate of the media's video stream in bits per second. int. - \value VideoCodec The codec of the media's video stream. QString. + \row \li VideoFrameRate \li The frame rate of the media's video stream. \li qreal + \row \li VideoBitRate \li The bit rate of the media's video stream in bits per second. \li int + \row \li VideoCodec \li The codec of the media's video stream. \li QString - \value PosterUrl The URL of a poster image. QUrl. - \value PosterImage An embedded poster image. QImage. + \row \li PosterUrl \li The URL of a poster image. \li QUrl + \row \li PosterImage \li An embedded poster image. \li QImage + \header \li {3,1} Movie attributes - \value ChapterNumber The chapter number of the media. int. - \value Director The director of the media. QString. - \value LeadPerformer The lead performer in the media. QStringList. - \value Writer The writer of the media. QStringList. + \row \li ChapterNumber \li The chapter number of the media. \li int + \row \li Director \li The director of the media. \li QString + \row \li LeadPerformer \li The lead performer in the media. \li QStringList + \row \li Writer \li The writer of the media. \li QStringList + \header \li {3,1} Photo attributes. - \value CameraManufacturer The manufacturer of the camera used to capture the media. QString. - \value CameraModel The model of the camera used to capture the media. QString. - \value Event The event during which the media was captured. QString. - \value Subject The subject of the media. QString. - \value Orientation Orientation of image. - \value ExposureTime Exposure time, given in seconds. - \value FNumber The F Number. - \value ExposureProgram - The class of the program used by the camera to set exposure when the picture is taken. - \value ISOSpeedRatings - Indicates the ISO Speed and ISO Latitude of the camera or input device as specified in ISO 12232. - \value ExposureBiasValue - The exposure bias. - The unit is the APEX (Additive System of Photographic Exposure) setting. - \value DateTimeOriginal The date and time when the original image data was generated. - \value DateTimeDigitized The date and time when the image was stored as digital data. - \value SubjectDistance The distance to the subject, given in meters. - \value MeteringMode The metering mode. - \value LightSource - The kind of light source. - \value Flash - Status of flash when the image was shot. - \value FocalLength - The actual focal length of the lens, in mm. - \value ExposureMode - Indicates the exposure mode set when the image was shot. - \value WhiteBalance - Indicates the white balance mode set when the image was shot. - \value DigitalZoomRatio - Indicates the digital zoom ratio when the image was shot. - \value FocalLengthIn35mmFilm - Indicates the equivalent focal length assuming a 35mm film camera, in mm. - \value SceneCaptureType - Indicates the type of scene that was shot. - It can also be used to record the mode in which the image was shot. - \value GainControl - Indicates the degree of overall image gain adjustment. - \value Contrast - Indicates the direction of contrast processing applied by the camera when the image was shot. - \value Saturation - Indicates the direction of saturation processing applied by the camera when the image was shot. - \value Sharpness - Indicates the direction of sharpness processing applied by the camera when the image was shot. - \value DeviceSettingDescription - Exif tag, indicates information on the picture-taking conditions of a particular camera model. QString - - \value GPSLatitude - Latitude value of the geographical position (decimal degrees). + \row \li CameraManufacturer \li The manufacturer of the camera used to capture the media. \li QString + \row \li CameraModel \li The model of the camera used to capture the media. \li QString + \row \li Event \li The event during which the media was captured. \li QString + \row \li Subject \li The subject of the media. \li QString + \row \li Orientation \li Orientation of image. \li int (degrees) + \row \li ExposureTime \li Exposure time, given in seconds. \li qreal + \row \li FNumber \li The F Number. \li int + \row \li ExposureProgram + \li The class of the program used by the camera to set exposure when the picture is taken. \li QString + \row \li ISOSpeedRatings + \li Indicates the ISO Speed and ISO Latitude of the camera or input device as specified in ISO 12232. \li qreal + \row \li ExposureBiasValue + \li The exposure bias. + The unit is the APEX (Additive System of Photographic Exposure) setting. \li qreal + \row \li DateTimeOriginal \li The date and time when the original image data was generated. \li QDateTime + \row \li DateTimeDigitized \li The date and time when the image was stored as digital data. \li QDateTime + \row \li SubjectDistance \li The distance to the subject, given in meters. \li qreal + \row \li MeteringMode \li The metering mode. \li QCameraExposure::MeteringMode + \row \li LightSource + \li The kind of light source. \li QString + \row \li Flash + \li Status of flash when the image was shot. \li QCameraExposure::FlashMode + \row \li FocalLength + \li The actual focal length of the lens, in mm. \li qreal + \row \li ExposureMode + \li Indicates the exposure mode set when the image was shot. \li QCameraExposure::ExposureMode + \row \li WhiteBalance + \li Indicates the white balance mode set when the image was shot. \li QCameraImageProcessing::WhiteBalanceMode + \row \li DigitalZoomRatio + \li Indicates the digital zoom ratio when the image was shot. \li qreal + \row \li FocalLengthIn35mmFilm + \li Indicates the equivalent focal length assuming a 35mm film camera, in mm. \li qreal + \row \li SceneCaptureType + \li Indicates the type of scene that was shot. + It can also be used to record the mode in which the image was shot. \li QString + \row \li GainControl + \li Indicates the degree of overall image gain adjustment. \li qreal + \row \li Contrast + \li Indicates the direction of contrast processing applied by the camera when the image was shot. \li qreal + \row \li Saturation + \li Indicates the direction of saturation processing applied by the camera when the image was shot. \li qreal + \row \li Sharpness + \li Indicates the direction of sharpness processing applied by the camera when the image was shot. \li qreal + \row \li DeviceSettingDescription + \li Exif tag, indicates information on the picture-taking conditions of a particular camera model. \li QString + + \row \li GPSLatitude + \li Latitude value of the geographical position (decimal degrees). A positive latitude indicates the Northern Hemisphere, - and a negative latitude indicates the Southern Hemisphere. double. - \value GPSLongitude - Longitude value of the geographical position (decimal degrees). + and a negative latitude indicates the Southern Hemisphere. \li double + \row \li GPSLongitude + \li Longitude value of the geographical position (decimal degrees). A positive longitude indicates the Eastern Hemisphere, - and a negative longitude indicates the Western Hemisphere. double. - \value GPSAltitude - The value of altitude in meters above sea level. double. - \value GPSTimeStamp - Time stamp of GPS data. QDateTime. - \value GPSSatellites - GPS satellites used for measurements. QString. - \value GPSStatus - Status of GPS receiver at image creation time. QString. - \value GPSDOP - Degree of precision for GPS data. qreal. - \value GPSSpeed - Speed of GPS receiver movement in kilometers per hour. qreal. - \value GPSTrack - Direction of GPS receiver movement. qreal. + and a negative longitude indicates the Western Hemisphere. \li double + \row \li GPSAltitude + \li The value of altitude in meters above sea level. \li double + \row \li GPSTimeStamp + \li Time stamp of GPS data. \li QDateTime + \row \li GPSSatellites + \li GPS satellites used for measurements. \li QString + \row \li GPSStatus + \li Status of GPS receiver at image creation time. \li QString + \row \li GPSDOP + \li Degree of precision for GPS data. \li qreal + \row \li GPSSpeed + \li Speed of GPS receiver movement in kilometers per hour. \li qreal + \row \li GPSTrack + \li Direction of GPS receiver movement. The range of values is [0.0, 360), with 0 direction pointing on either true or magnetic north, - depending on GPSTrackRef. - \value GPSTrackRef - Reference for movement direction. QChar. + depending on GPSTrackRef. \li qreal + \row \li GPSTrackRef + \li Reference for movement direction. \li QChar. 'T' means true direction and 'M' is magnetic direction. - \value GPSImgDirection - Direction of image when captured. qreal. + \row \li GPSImgDirection + \li Direction of image when captured. \li qreal The range of values is [0.0, 360). - \value GPSImgDirectionRef - Reference for image direction. QChar. + \row \li GPSImgDirectionRef + \li Reference for image direction. \li QChar. 'T' means true direction and 'M' is magnetic direction. - \value GPSMapDatum - Geodetic survey data used by the GPS receiver. QString. - \value GPSProcessingMethod - The name of the method used for location finding. QString. - \value GPSAreaInformation - The name of the GPS area. QString - - - \value ThumbnailImage An embedded thumbnail image. QImage. + \row \li GPSMapDatum + \li Geodetic survey data used by the GPS receiver. \li QString + \row \li GPSProcessingMethod + \li The name of the method used for location finding. \li QString + \row \li GPSAreaInformation + \li The name of the GPS area. \li QString + + \row \li ThumbnailImage \li An embedded thumbnail image. \li QImage + \endtable */ /*! diff --git a/src/multimedia/qtmedianamespace.h b/src/multimedia/qtmedianamespace.h index 259a0e4c2..a206720ec 100644 --- a/src/multimedia/qtmedianamespace.h +++ b/src/multimedia/qtmedianamespace.h @@ -59,6 +59,119 @@ QT_MODULE(Multimedia) namespace QtMultimedia { namespace MetaData { +#ifdef Q_QDOC + // QDoc does not like macros, so try to keep this in sync :) + QString Title; + QString SubTitle; + QString Author; + QString Comment; + QString Description; + QString Category; + QString Genre; + QString Year; + QString Date; + QString UserRating; + QString Keywords; + QString Language; + QString Publisher; + QString Copyright; + QString ParentalRating; + QString RatingOrganization; + + // Media + QString Size; + QString MediaType; + QString Duration; + + // Audio + QString AudioBitRate; + QString AudioCodec; + QString AverageLevel; + QString ChannelCount; + QString PeakValue; + QString SampleRate; + + // Music + QString AlbumTitle; + QString AlbumArtist; + QString ContributingArtist; + QString Composer; + QString Conductor; + QString Lyrics; + QString Mood; + QString TrackNumber; + QString TrackCount; + + QString CoverArtUrlSmall; + QString CoverArtUrlLarge; + + // Image/Video + QString Resolution; + QString PixelAspectRatio; + + // Video + QString VideoFrameRate; + QString VideoBitRate; + QString VideoCodec; + + QString PosterUrl; + + // Movie + QString ChapterNumber; + QString Director; + QString LeadPerformer; + QString Writer; + + // Photos + QString CameraManufacturer; + QString CameraModel; + QString Event; + QString Subject; + QString Orientation; + QString ExposureTime; + QString FNumber; + QString ExposureProgram; + QString ISOSpeedRatings; + QString ExposureBiasValue; + QString DateTimeOriginal; + QString DateTimeDigitized; + QString SubjectDistance; + QString MeteringMode; + QString LightSource; + QString Flash; + QString FocalLength; + QString ExposureMode; + QString WhiteBalance; + QString DigitalZoomRatio; + QString FocalLengthIn35mmFilm; + QString SceneCaptureType; + QString GainControl; + QString Contrast; + QString Saturation; + QString Sharpness; + QString DeviceSettingDescription; + + // Location + QString GPSLatitude; + QString GPSLongitude; + QString GPSAltitude; + QString GPSTimeStamp; + QString GPSSatellites; + QString GPSStatus; + QString GPSDOP; + QString GPSSpeed; + QString GPSTrack; + QString GPSTrackRef; + QString GPSImgDirection; + QString GPSImgDirectionRef; + QString GPSMapDatum; + QString GPSProcessingMethod; + QString GPSAreaInformation; + + QString PosterImage; + QString CoverArtImage; + QString ThumbnailImage; +#else // Common Q_DECLARE_METADATA(Title); Q_DECLARE_METADATA(SubTitle); @@ -170,6 +283,7 @@ namespace QtMultimedia Q_DECLARE_METADATA(PosterImage); Q_DECLARE_METADATA(CoverArtImage); Q_DECLARE_METADATA(ThumbnailImage); +#endif } enum SupportEstimate diff --git a/src/multimedia/recording/qaudiorecorder.cpp b/src/multimedia/recording/qaudiorecorder.cpp index 959a06c14..0e965d4a9 100644 --- a/src/multimedia/recording/qaudiorecorder.cpp +++ b/src/multimedia/recording/qaudiorecorder.cpp @@ -203,6 +203,12 @@ QString QAudioRecorder::defaultAudioInput() const return QString(); } +/*! + \property QAudioRecorder::audioInput + \brief the active audio input name. + +*/ + /*! Returns the active audio input name. */ -- cgit v1.2.3