diff --git a/src/imports/multimedia/multimedia.cpp b/src/imports/multimedia/multimedia.cpp index 7a7a7986..0c940d18 100644 --- a/src/imports/multimedia/multimedia.cpp +++ b/src/imports/multimedia/multimedia.cpp @@ -51,7 +51,6 @@ #include "qdeclarativevideooutput_p.h" #include "qdeclarativeradio_p.h" #include "qdeclarativeradiodata_p.h" -#include "qdeclarativebackgroundaudio_p.h" #include "qdeclarativecamera_p.h" #include "qdeclarativecamerapreviewprovider_p.h" #include "qdeclarativecameraexposure_p.h" @@ -60,7 +59,6 @@ #include "qdeclarativecameraimageprocessing_p.h" #include "qdeclarativetorch_p.h" - QML_DECLARE_TYPE(QSoundEffect) QT_BEGIN_NAMESPACE @@ -80,7 +78,6 @@ public: qmlRegisterType(uri, 4, 0, "VideoOutput"); qmlRegisterType(uri, 4, 0, "Radio"); qmlRegisterType(uri, 4, 0, "RadioData"); - qmlRegisterType(uri, 4, 0, "BackgroundAudio"); qmlRegisterType(uri, 4, 0, "Camera"); qmlRegisterUncreatableType(uri, 4, 0, "CameraCapture", trUtf8("CameraCapture is only provided by Camera element")); @@ -103,7 +100,6 @@ public: qmlRegisterType(uri, 5, 0, "VideoOutput"); qmlRegisterType(uri, 5, 0, "Radio"); qmlRegisterType(uri, 5, 0, "RadioData"); - qmlRegisterType(uri, 5, 0, "BackgroundAudio"); qmlRegisterType(uri, 5, 0, "Camera"); qmlRegisterType(uri, 5, 0, "Torch"); qmlRegisterUncreatableType(uri, 5, 0, "CameraCapture", diff --git a/src/imports/multimedia/multimedia.pro b/src/imports/multimedia/multimedia.pro index 7dc95006..34386cc7 100644 --- a/src/imports/multimedia/multimedia.pro +++ b/src/imports/multimedia/multimedia.pro @@ -19,7 +19,6 @@ HEADERS += \ qsgvideonode_rgb.h \ qdeclarativeradio_p.h \ qdeclarativeradiodata_p.h \ - qdeclarativebackgroundaudio_p.h \ qdeclarativecamera_p.h \ qdeclarativecameracapture_p.h \ qdeclarativecamerarecorder_p.h \ @@ -41,7 +40,6 @@ SOURCES += \ qsgvideonode_rgb.cpp \ qdeclarativeradio.cpp \ qdeclarativeradiodata.cpp \ - qdeclarativebackgroundaudio.cpp \ qdeclarativecamera.cpp \ qdeclarativecameracapture.cpp \ qdeclarativecamerarecorder.cpp \ diff --git a/src/imports/multimedia/qdeclarativebackgroundaudio.cpp b/src/imports/multimedia/qdeclarativebackgroundaudio.cpp deleted file mode 100644 index a41454c5..00000000 --- a/src/imports/multimedia/qdeclarativebackgroundaudio.cpp +++ /dev/null @@ -1,141 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** GNU Lesser General Public License Usage -** This file may be used under the terms of the GNU Lesser General Public -** License version 2.1 as published by the Free Software Foundation and -** appearing in the file LICENSE.LGPL included in the packaging of this -** file. Please review the following information to ensure the GNU Lesser -** General Public License version 2.1 requirements will be met: -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU General -** Public License version 3.0 as published by the Free Software Foundation -** and appearing in the file LICENSE.GPL included in the packaging of this -** file. Please review the following information to ensure the GNU General -** Public License version 3.0 requirements will be met: -** http://www.gnu.org/copyleft/gpl.html. -** -** 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$ -** -****************************************************************************/ -#include "qdeclarativebackgroundaudio_p.h" -#include -#include - -void QDeclarativeBackgroundAudio::classBegin() -{ - setObject(this, Q_MEDIASERVICE_BACKGROUNDMEDIAPLAYER); - if (m_mediaService) { - m_backgroundPlaybackControl = - static_cast( - m_mediaService->requestControl(QMediaBackgroundPlaybackControl_iid)); - if (m_backgroundPlaybackControl) { - connect(m_backgroundPlaybackControl, SIGNAL(acquired()), this, SIGNAL(acquiredChanged())); - connect(m_backgroundPlaybackControl, SIGNAL(lost()), this, SIGNAL(acquiredChanged())); - } else { - qWarning("can not get QMediaBackgroundPlaybackControl!"); - } - } else { - qWarning("Unable to get any background mediaplayer!"); - } - emit mediaObjectChanged(); - - //Note: we are not calling QDeclarativeAudio::classBegin here, - //otherwise there will be conflict for setObject(). -} - -void QDeclarativeBackgroundAudio::componentComplete() -{ - QDeclarativeAudio::componentComplete(); -} - -QDeclarativeBackgroundAudio::QDeclarativeBackgroundAudio(QObject *parent) - : QDeclarativeAudio(parent) - , m_backgroundPlaybackControl(0) -{ - -} - -QDeclarativeBackgroundAudio::~QDeclarativeBackgroundAudio() -{ - if (m_backgroundPlaybackControl) - m_mediaService->releaseControl(m_backgroundPlaybackControl); -} - -/*! - \qmlproperty string BackgroundAudio::contextId - - This property holds the unique contextId for the application - - When a new contextId is set, the previously set contextId will be released automatically. -*/ -QString QDeclarativeBackgroundAudio::contextId() const -{ - return m_contextId; -} - -void QDeclarativeBackgroundAudio::setContextId(QString contextId) -{ - if (m_contextId == contextId) - return; - m_contextId = contextId; - if (m_backgroundPlaybackControl) - m_backgroundPlaybackControl->setContextId(m_contextId); - emit contextIdChanged(); -} - -/*! - \qmlproperty bool BackgroundAudio::acquired - - This property indicates whether the application holds the playback resource in music daemon -*/ -bool QDeclarativeBackgroundAudio::isAcquired() const -{ - if (!m_backgroundPlaybackControl) - return false; - return m_backgroundPlaybackControl->isAcquired(); -} - -/*! - \qmlmethod BackgroundAudio::acquire() - - try to acquire the playback resource in music daemon -*/ -void QDeclarativeBackgroundAudio::acquire() -{ - if (isAcquired() || !m_backgroundPlaybackControl) - return; - m_backgroundPlaybackControl->acquire(); -} - -/*! - \qmlmethod BackgroundAudio::acquire() - - try to release the playback resource in music daemon -*/ -void QDeclarativeBackgroundAudio::release() -{ - if (!isAcquired() || !m_backgroundPlaybackControl) - return; - m_backgroundPlaybackControl->release(); -} diff --git a/src/imports/multimedia/qdeclarativebackgroundaudio_p.h b/src/imports/multimedia/qdeclarativebackgroundaudio_p.h deleted file mode 100644 index b33c933a..00000000 --- a/src/imports/multimedia/qdeclarativebackgroundaudio_p.h +++ /dev/null @@ -1,97 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** GNU Lesser General Public License Usage -** This file may be used under the terms of the GNU Lesser General Public -** License version 2.1 as published by the Free Software Foundation and -** appearing in the file LICENSE.LGPL included in the packaging of this -** file. Please review the following information to ensure the GNU Lesser -** General Public License version 2.1 requirements will be met: -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU General -** Public License version 3.0 as published by the Free Software Foundation -** and appearing in the file LICENSE.GPL included in the packaging of this -** file. Please review the following information to ensure the GNU General -** Public License version 3.0 requirements will be met: -** http://www.gnu.org/copyleft/gpl.html. -** -** 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$ -** -****************************************************************************/ -#ifndef QDECLARATIVEBACKGROUNDAUDIO_P_H -#define QDECLARATIVEBACKGROUNDAUDIO_P_H -// -// W A R N I N G -// ------------- -// -// This file is not part of the Qt API. It exists for the convenience -// of other Qt classes. This header file may change from version to -// version without notice, or even be removed. -// -// We mean it. -// - -#include "qdeclarativeaudio_p.h" - -QT_BEGIN_HEADER - -QT_BEGIN_NAMESPACE - -class QMediaBackgroundPlaybackControl; -class QDeclarativeBackgroundAudio : public QDeclarativeAudio -{ - Q_OBJECT - Q_PROPERTY(QString contextId READ contextId WRITE setContextId NOTIFY contextIdChanged) - Q_PROPERTY(bool acquired READ isAcquired NOTIFY acquiredChanged) -public: - QDeclarativeBackgroundAudio(QObject *parent = 0); - ~QDeclarativeBackgroundAudio(); - - void classBegin(); - void componentComplete(); - - QString contextId() const; - void setContextId(QString contextId); - bool isAcquired() const; - -public Q_SLOTS: - void acquire(); - void release(); - -Q_SIGNALS: - void contextIdChanged(); - void acquiredChanged(); - -private: - Q_DISABLE_COPY(QDeclarativeBackgroundAudio) - QString m_contextId; - QMediaBackgroundPlaybackControl *m_backgroundPlaybackControl; -}; - -QT_END_NAMESPACE - -QML_DECLARE_TYPE(QT_PREPEND_NAMESPACE(QDeclarativeBackgroundAudio)) - -QT_END_HEADER - -#endif // QDECLARATIVEBACKGROUNDAUDIO_P_H diff --git a/src/multimedia/controls/controls.pri b/src/multimedia/controls/controls.pri index 919e2055..c9fd7252 100644 --- a/src/multimedia/controls/controls.pri +++ b/src/multimedia/controls/controls.pri @@ -16,7 +16,6 @@ PUBLIC_HEADERS += \ controls/qcameralockscontrol.h \ controls/qcameraviewfinderresolutioncontrol.h \ controls/qimageencodercontrol.h \ - controls/qmediabackgroundplaybackcontrol.h \ controls/qmediacontainercontrol.h \ controls/qmediagaplessplaybackcontrol.h \ controls/qmedianetworkaccesscontrol.h \ @@ -54,7 +53,6 @@ SOURCES += \ controls/qcameralockscontrol.cpp \ controls/qcameraviewfinderresolutioncontrol.cpp \ controls/qimageencodercontrol.cpp \ - controls/qmediabackgroundplaybackcontrol.cpp \ controls/qmediacontainercontrol.cpp \ controls/qmediagaplessplaybackcontrol.cpp \ controls/qmedianetworkaccesscontrol.cpp \ diff --git a/src/multimedia/controls/qmediabackgroundplaybackcontrol.cpp b/src/multimedia/controls/qmediabackgroundplaybackcontrol.cpp deleted file mode 100644 index 07123a62..00000000 --- a/src/multimedia/controls/qmediabackgroundplaybackcontrol.cpp +++ /dev/null @@ -1,143 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** GNU Lesser General Public License Usage -** This file may be used under the terms of the GNU Lesser General Public -** License version 2.1 as published by the Free Software Foundation and -** appearing in the file LICENSE.LGPL included in the packaging of this -** file. Please review the following information to ensure the GNU Lesser -** General Public License version 2.1 requirements will be met: -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU General -** Public License version 3.0 as published by the Free Software Foundation -** and appearing in the file LICENSE.GPL included in the packaging of this -** file. Please review the following information to ensure the GNU General -** Public License version 3.0 requirements will be met: -** http://www.gnu.org/copyleft/gpl.html. -** -** 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$ -** -****************************************************************************/ - -#include "qmediabackgroundplaybackcontrol.h" -#include "qmediacontrol_p.h" - -QT_BEGIN_NAMESPACE - - -/*! - \class QMediaBackgroundPlaybackControl - \inmodule QtMultimedia - - \ingroup multimedia - \ingroup multimedia_control - - \brief The QMediaBackgroundPlaybackControl class provides access to the background playback - related control of a QMediaService. - - If a QMediaService can play media in background, it should implement QMediaBackgroundPlaybackControl. - This control provides a means to set the \l {setContextId()}{contextId} for application, - \l {acquire()}{acquire the resource for playback} and \l {release()} {release the playback resource}. - - The interface name of QMediaBackgroundPlaybackControl is \c com.nokia.Qt.QMediaBackgroundPlaybackControl/1.0 as - defined in QMediaBackgroundPlaybackControl_iid. - - \sa QMediaService::requestControl(), QMediaPlayer -*/ - -/*! - \macro QMediaBackgroundPlaybackControl_iid - - \c com.nokia.Qt.QMediaBackgroundPlaybackControl/1.0 - - Defines the interface name of the QMediaBackgroundPlaybackControl class. - - \relates QMediaBackgroundPlaybackControl -*/ - -/*! - Destroys a media background playback control. -*/ -QMediaBackgroundPlaybackControl::~QMediaBackgroundPlaybackControl() -{ -} - -/*! - Constructs a new media background playback control with the given \a parent. -*/ -QMediaBackgroundPlaybackControl::QMediaBackgroundPlaybackControl(QObject *parent): - QMediaControl(*new QMediaControlPrivate, parent) -{ -} - -/*! - \fn QMediaBackgroundPlaybackControl::setContextId(const QString& contextId) - - Sets the contextId for the application, the last contextId will be released if previously set. - \l {acquire()}{acquire method} will be automatically invoked after setting a new contextId. - - contextId is an unique string set by the application and is used by the background daemon to - distinguish and manage different context for different application. - -*/ - -/*! - \fn QMediaBackgroundPlaybackControl::acquire() - - Try to acquire the playback resource for current application -*/ - -/*! - \fn QMediaBackgroundPlaybackControl::release() - - Give up the playback resource if current applicaiton holds it. -*/ - -/*! - \property QMediaBackgroundPlaybackControl::isAcquired() - \brief indicate whether the background playback resource is granted or not - - It may take sometime for the backend to actually update this value before the first use. - - By default this property is false - -*/ - -/*! - \fn QMediaBackgroundPlaybackControl::acquired() - - Signals that the playback resource is acquired - -*/ - -/*! - \fn QMediaBackgroundPlaybackControl::lost() - - Signals that the playback resource is lost - -*/ - -#include "moc_qmediabackgroundplaybackcontrol.cpp" -QT_END_NAMESPACE - - diff --git a/src/multimedia/controls/qmediabackgroundplaybackcontrol.h b/src/multimedia/controls/qmediabackgroundplaybackcontrol.h deleted file mode 100644 index 30e5353b..00000000 --- a/src/multimedia/controls/qmediabackgroundplaybackcontrol.h +++ /dev/null @@ -1,83 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** GNU Lesser General Public License Usage -** This file may be used under the terms of the GNU Lesser General Public -** License version 2.1 as published by the Free Software Foundation and -** appearing in the file LICENSE.LGPL included in the packaging of this -** file. Please review the following information to ensure the GNU Lesser -** General Public License version 2.1 requirements will be met: -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU General -** Public License version 3.0 as published by the Free Software Foundation -** and appearing in the file LICENSE.GPL included in the packaging of this -** file. Please review the following information to ensure the GNU General -** Public License version 3.0 requirements will be met: -** http://www.gnu.org/copyleft/gpl.html. -** -** 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$ -** -****************************************************************************/ - -#ifndef QMEDIABACKGROUNDPLAYBACKCONTROL_H -#define QMEDIABACKGROUNDPLAYBACKCONTROL_H - -#include "qmediacontrol.h" - -QT_BEGIN_HEADER - -QT_BEGIN_NAMESPACE - -QT_MODULE(Multimedia) - - -class Q_MULTIMEDIA_EXPORT QMediaBackgroundPlaybackControl : public QMediaControl -{ - Q_OBJECT - -public: - virtual ~QMediaBackgroundPlaybackControl(); - - virtual void setContextId(const QString& contextId) = 0; - virtual void acquire() = 0; - virtual void release() = 0; - - virtual bool isAcquired() const = 0; - -Q_SIGNALS: - void acquired(); - void lost(); - -protected: - QMediaBackgroundPlaybackControl(QObject* parent = 0); -}; - -#define QMediaBackgroundPlaybackControl_iid "com.nokia.Qt.QMediaBackgroundPlaybackControl/1.0" -Q_MEDIA_DECLARE_CONTROL(QMediaBackgroundPlaybackControl, QMediaBackgroundPlaybackControl_iid) - -QT_END_NAMESPACE - -QT_END_HEADER - - -#endif // QMEDIABACKGROUNDPLAYBACKCONTROL_H diff --git a/src/multimedia/qmediaserviceprovider.cpp b/src/multimedia/qmediaserviceprovider.cpp index 45b60f3a..46d7c2f5 100644 --- a/src/multimedia/qmediaserviceprovider.cpp +++ b/src/multimedia/qmediaserviceprovider.cpp @@ -114,9 +114,6 @@ public: \value VideoSurface The service is capable of renderering to a QAbstractVideoSurface output. - - \value BackgroundPlayback - The service is capable of doing playback in the background */ /*! diff --git a/src/multimedia/qmediaserviceproviderplugin.h b/src/multimedia/qmediaserviceproviderplugin.h index 6a663154..49638b11 100644 --- a/src/multimedia/qmediaserviceproviderplugin.h +++ b/src/multimedia/qmediaserviceproviderplugin.h @@ -70,8 +70,7 @@ public: LowLatencyPlayback = 0x01, RecordingSupport = 0x02, StreamPlayback = 0x04, - VideoSurface = 0x08, - BackgroundPlayback = 0x10, + VideoSurface = 0x08 }; Q_DECLARE_FLAGS(Features, Feature) @@ -177,13 +176,6 @@ public: */ #define Q_MEDIASERVICE_MEDIAPLAYER "com.nokia.qt.mediaplayer" -/*! - Service with support for background media playback - Required Controls: QMediaPlayerControl, QMediaBackgroundPlaybackControl - Optional Controls: QMediaPlaylistControl, QAudioDeviceControl -*/ -#define Q_MEDIASERVICE_BACKGROUNDMEDIAPLAYER "com.nokia.qt.backgroundmediaplayer" - /*! Service with support for recording from audio sources Required Controls: QAudioDeviceControl