Remove unimplemented BG playback feature.
authorMichael Goddard <michael.goddard@nokia.com>
Fri, 2 Mar 2012 01:41:18 +0000 (11:41 +1000)
committerQt by Nokia <qt-info@nokia.com>
Mon, 5 Mar 2012 11:39:54 +0000 (12:39 +0100)
Prototype that wasn't implemented should be removed for 5.0.

Change-Id: I3b90658ad8dc0b64003a5bb741fc3c93c7d87dff
Reviewed-by: Ling Hu <ling.hu@nokia.com>
src/imports/multimedia/multimedia.cpp
src/imports/multimedia/multimedia.pro
src/imports/multimedia/qdeclarativebackgroundaudio.cpp [deleted file]
src/imports/multimedia/qdeclarativebackgroundaudio_p.h [deleted file]
src/multimedia/controls/controls.pri
src/multimedia/controls/qmediabackgroundplaybackcontrol.cpp [deleted file]
src/multimedia/controls/qmediabackgroundplaybackcontrol.h [deleted file]
src/multimedia/qmediaserviceprovider.cpp
src/multimedia/qmediaserviceproviderplugin.h

index 7a7a798..0c940d1 100644 (file)
@@ -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<QDeclarativeVideoOutput>(uri, 4, 0, "VideoOutput");
         qmlRegisterType<QDeclarativeRadio>(uri, 4, 0, "Radio");
         qmlRegisterType<QDeclarativeRadioData>(uri, 4, 0, "RadioData");
-        qmlRegisterType<QDeclarativeBackgroundAudio>(uri, 4, 0, "BackgroundAudio");
         qmlRegisterType<QDeclarativeCamera>(uri, 4, 0, "Camera");
         qmlRegisterUncreatableType<QDeclarativeCameraCapture>(uri, 4, 0, "CameraCapture",
                                 trUtf8("CameraCapture is only provided by Camera element"));
@@ -103,7 +100,6 @@ public:
         qmlRegisterType<QDeclarativeVideoOutput>(uri, 5, 0, "VideoOutput");
         qmlRegisterType<QDeclarativeRadio>(uri, 5, 0, "Radio");
         qmlRegisterType<QDeclarativeRadioData>(uri, 5, 0, "RadioData");
-        qmlRegisterType<QDeclarativeBackgroundAudio>(uri, 5, 0, "BackgroundAudio");
         qmlRegisterType<QDeclarativeCamera>(uri, 5, 0, "Camera");
         qmlRegisterType<QDeclarativeTorch>(uri, 5, 0, "Torch");
         qmlRegisterUncreatableType<QDeclarativeCameraCapture>(uri, 5, 0, "CameraCapture",
index 7dc9500..34386cc 100644 (file)
@@ -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 (file)
index a41454c..0000000
+++ /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 <qmediabackgroundplaybackcontrol.h>
-#include <qmediaservice.h>
-
-void QDeclarativeBackgroundAudio::classBegin()
-{
-    setObject(this, Q_MEDIASERVICE_BACKGROUNDMEDIAPLAYER);
-    if (m_mediaService) {
-        m_backgroundPlaybackControl =
-                static_cast<QMediaBackgroundPlaybackControl*>(
-                        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 (file)
index b33c933..0000000
+++ /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
index 919e205..c9fd725 100644 (file)
@@ -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 (file)
index 07123a6..0000000
+++ /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 (file)
index 30e5353..0000000
+++ /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
index 45b60f3..46d7c2f 100644 (file)
@@ -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
 */
 
 /*!
index 6a66315..49638b1 100644 (file)
@@ -70,8 +70,7 @@ public:
         LowLatencyPlayback = 0x01,
         RecordingSupport = 0x02,
         StreamPlayback = 0x04,
-        VideoSurface = 0x08,
-        BackgroundPlayback = 0x10,
+        VideoSurface = 0x08
     };
     Q_DECLARE_FLAGS(Features, Feature)
 
@@ -178,13 +177,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
    Recording Controls (QMediaRecorder):