Remove QuickTime backend.
authorYoann Lopes <yoann.lopes@digia.com>
Wed, 24 Sep 2014 16:26:11 +0000 (18:26 +0200)
committerYoann Lopes <yoann.lopes@digia.com>
Thu, 25 Sep 2014 10:45:42 +0000 (12:45 +0200)
The backend was kept only for Mac OS X 10.6 support. AVFoundation is
used in 10.7 and later. Following the 10.6 deprecation plan, the code
is now being removed for Qt 5.4.

Change-Id: I513d00adda35f6012dda548b8d824d158efffb16
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
30 files changed:
src/plugins/plugins.pro
src/plugins/qt7/mediaplayer/mediaplayer.pri [deleted file]
src/plugins/qt7/mediaplayer/qt7playercontrol.h [deleted file]
src/plugins/qt7/mediaplayer/qt7playercontrol.mm [deleted file]
src/plugins/qt7/mediaplayer/qt7playermetadata.h [deleted file]
src/plugins/qt7/mediaplayer/qt7playermetadata.mm [deleted file]
src/plugins/qt7/mediaplayer/qt7playerservice.h [deleted file]
src/plugins/qt7/mediaplayer/qt7playerservice.mm [deleted file]
src/plugins/qt7/mediaplayer/qt7playersession.h [deleted file]
src/plugins/qt7/mediaplayer/qt7playersession.mm [deleted file]
src/plugins/qt7/qcvdisplaylink.h [deleted file]
src/plugins/qt7/qcvdisplaylink.mm [deleted file]
src/plugins/qt7/qt7.json [deleted file]
src/plugins/qt7/qt7.pro [deleted file]
src/plugins/qt7/qt7backend.h [deleted file]
src/plugins/qt7/qt7backend.mm [deleted file]
src/plugins/qt7/qt7ciimagevideobuffer.h [deleted file]
src/plugins/qt7/qt7ciimagevideobuffer.mm [deleted file]
src/plugins/qt7/qt7movierenderer.h [deleted file]
src/plugins/qt7/qt7movierenderer.mm [deleted file]
src/plugins/qt7/qt7movievideowidget.h [deleted file]
src/plugins/qt7/qt7movievideowidget.mm [deleted file]
src/plugins/qt7/qt7movieviewoutput.h [deleted file]
src/plugins/qt7/qt7movieviewoutput.mm [deleted file]
src/plugins/qt7/qt7movieviewrenderer.h [deleted file]
src/plugins/qt7/qt7movieviewrenderer.mm [deleted file]
src/plugins/qt7/qt7serviceplugin.h [deleted file]
src/plugins/qt7/qt7serviceplugin.mm [deleted file]
src/plugins/qt7/qt7videooutput.h [deleted file]
src/plugins/qt7/qt7videooutput.mm [deleted file]

index f03a138..aa28bdd 100644 (file)
@@ -53,8 +53,6 @@ mac:!simulator {
     SUBDIRS += audiocapture coreaudio
 
     config_avfoundation: SUBDIRS += avfoundation
-
-    contains(QT_CONFIG, opengl.*):!ios: SUBDIRS += qt7
 }
 
 config_resourcepolicy {
diff --git a/src/plugins/qt7/mediaplayer/mediaplayer.pri b/src/plugins/qt7/mediaplayer/mediaplayer.pri
deleted file mode 100644 (file)
index 2edb1d2..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-INCLUDEPATH += $$PWD
-
-DEFINES += QMEDIA_QT7_PLAYER
-
-HEADERS += \
-    $$PWD/qt7playercontrol.h \
-    $$PWD/qt7playermetadata.h \
-    $$PWD/qt7playerservice.h \
-    $$PWD/qt7playersession.h
-
-OBJECTIVE_SOURCES += \
-    $$PWD/qt7playercontrol.mm \
-    $$PWD/qt7playermetadata.mm \
-    $$PWD/qt7playerservice.mm \
-    $$PWD/qt7playersession.mm
-
diff --git a/src/plugins/qt7/mediaplayer/qt7playercontrol.h b/src/plugins/qt7/mediaplayer/qt7playercontrol.h
deleted file mode 100644 (file)
index 61fd0a4..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL21$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 or version 3 as published by the Free
-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
-** following information to ensure the GNU Lesser General Public License
-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QT7PLAYERCONTROL_H
-#define QT7PLAYERCONTROL_H
-
-#include <QtCore/qobject.h>
-
-#include <qmediaplayercontrol.h>
-#include <qmediaplayer.h>
-
-QT_BEGIN_NAMESPACE
-
-class QT7PlayerSession;
-class QT7PlayerService;
-class QMediaPlaylist;
-class QMediaPlaylistNavigator;
-
-class QT7PlayerControl : public QMediaPlayerControl
-{
-Q_OBJECT
-public:
-    QT7PlayerControl(QObject *parent = 0);
-    ~QT7PlayerControl();
-
-    void setSession(QT7PlayerSession *session);
-
-    QMediaPlayer::State state() const;
-    QMediaPlayer::MediaStatus mediaStatus() const;
-
-    QMediaContent media() const;
-    const QIODevice *mediaStream() const;
-    void setMedia(const QMediaContent &content, QIODevice *stream);
-
-    qint64 position() const;
-    qint64 duration() const;
-
-    int bufferStatus() const;
-
-    int volume() const;
-    bool isMuted() const;
-
-    bool isAudioAvailable() const;
-    bool isVideoAvailable() const;
-
-    bool isSeekable() const;
-    QMediaTimeRange availablePlaybackRanges() const;
-
-    qreal playbackRate() const;
-    void setPlaybackRate(qreal rate);
-
-public Q_SLOTS:
-    void setPosition(qint64 pos);
-
-    void play();
-    void pause();
-    void stop();
-
-    void setVolume(int volume);
-    void setMuted(bool muted);
-
-private:
-    QT7PlayerSession *m_session;
-};
-
-QT_END_NAMESPACE
-
-#endif
diff --git a/src/plugins/qt7/mediaplayer/qt7playercontrol.mm b/src/plugins/qt7/mediaplayer/qt7playercontrol.mm
deleted file mode 100644 (file)
index c486607..0000000
+++ /dev/null
@@ -1,191 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia 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.
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qt7playercontrol.h"
-#include "qt7playersession.h"
-
-#include <private/qmediaplaylistnavigator_p.h>
-
-#include <QtCore/qurl.h>
-#include <QtCore/qdebug.h>
-
-QT_USE_NAMESPACE
-
-QT7PlayerControl::QT7PlayerControl(QObject *parent)
-   : QMediaPlayerControl(parent)
-{
-}
-
-QT7PlayerControl::~QT7PlayerControl()
-{
-}
-
-void QT7PlayerControl::setSession(QT7PlayerSession *session)
-{
-    m_session = session;
-
-    connect(m_session, SIGNAL(positionChanged(qint64)), this, SIGNAL(positionChanged(qint64)));
-    connect(m_session, SIGNAL(durationChanged(qint64)), this, SIGNAL(durationChanged(qint64)));
-    connect(m_session, SIGNAL(stateChanged(QMediaPlayer::State)),
-            this, SIGNAL(stateChanged(QMediaPlayer::State)));
-    connect(m_session, SIGNAL(mediaStatusChanged(QMediaPlayer::MediaStatus)),
-            this, SIGNAL(mediaStatusChanged(QMediaPlayer::MediaStatus)));
-    connect(m_session, SIGNAL(volumeChanged(int)), this, SIGNAL(volumeChanged(int)));
-    connect(m_session, SIGNAL(mutedChanged(bool)), this, SIGNAL(mutedChanged(bool)));
-    connect(m_session, SIGNAL(audioAvailableChanged(bool)), this, SIGNAL(audioAvailableChanged(bool)));
-    connect(m_session, SIGNAL(videoAvailableChanged(bool)), this, SIGNAL(videoAvailableChanged(bool)));
-    connect(m_session, SIGNAL(error(int,QString)), this, SIGNAL(error(int,QString)));
-}
-
-qint64 QT7PlayerControl::position() const
-{
-    return m_session->position();
-}
-
-qint64 QT7PlayerControl::duration() const
-{
-    return m_session->duration();
-}
-
-QMediaPlayer::State QT7PlayerControl::state() const
-{
-    return m_session->state();
-}
-
-QMediaPlayer::MediaStatus QT7PlayerControl::mediaStatus() const
-{
-    return m_session->mediaStatus();
-}
-
-int QT7PlayerControl::bufferStatus() const
-{
-    return m_session->bufferStatus();
-}
-
-int QT7PlayerControl::volume() const
-{
-    return m_session->volume();
-}
-
-bool QT7PlayerControl::isMuted() const
-{
-    return m_session->isMuted();
-}
-
-bool QT7PlayerControl::isSeekable() const
-{
-    return m_session->isSeekable();
-}
-
-QMediaTimeRange QT7PlayerControl::availablePlaybackRanges() const
-{
-    return m_session->availablePlaybackRanges();
-}
-
-qreal QT7PlayerControl::playbackRate() const
-{
-    return m_session->playbackRate();
-}
-
-void QT7PlayerControl::setPlaybackRate(qreal rate)
-{
-    m_session->setPlaybackRate(rate);
-}
-
-void QT7PlayerControl::setPosition(qint64 pos)
-{
-    m_session->setPosition(pos);
-}
-
-void QT7PlayerControl::play()
-{
-    m_session->play();
-}
-
-void QT7PlayerControl::pause()
-{
-    m_session->pause();
-}
-
-void QT7PlayerControl::stop()
-{
-    m_session->stop();
-}
-
-void QT7PlayerControl::setVolume(int volume)
-{
-    m_session->setVolume(volume);
-}
-
-void QT7PlayerControl::setMuted(bool muted)
-{
-    m_session->setMuted(muted);
-}
-
-QMediaContent QT7PlayerControl::media() const
-{
-    return m_session->media();
-}
-
-const QIODevice *QT7PlayerControl::mediaStream() const
-{
-    return m_session->mediaStream();
-}
-
-void QT7PlayerControl::setMedia(const QMediaContent &content, QIODevice *stream)
-{
-    m_session->setMedia(content, stream);
-
-    Q_EMIT mediaChanged(content);
-}
-
-bool QT7PlayerControl::isAudioAvailable() const
-{
-    return m_session->isAudioAvailable();
-}
-
-bool QT7PlayerControl::isVideoAvailable() const
-{
-    return m_session->isVideoAvailable();
-}
-
-
-#include "moc_qt7playercontrol.cpp"
diff --git a/src/plugins/qt7/mediaplayer/qt7playermetadata.h b/src/plugins/qt7/mediaplayer/qt7playermetadata.h
deleted file mode 100644 (file)
index 9f0ceae..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL21$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 or version 3 as published by the Free
-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
-** following information to ensure the GNU Lesser General Public License
-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QT7PLAYERMETADATACONTROL_H
-#define QT7PLAYERMETADATACONTROL_H
-
-#include <qmetadatareadercontrol.h>
-
-QT_BEGIN_NAMESPACE
-
-class QT7PlayerSession;
-
-class QT7PlayerMetaDataControl : public QMetaDataReaderControl
-{
-    Q_OBJECT
-public:
-    QT7PlayerMetaDataControl(QT7PlayerSession *session, QObject *parent);
-    virtual ~QT7PlayerMetaDataControl();
-
-    bool isMetaDataAvailable() const;
-    bool isWritable() const;
-
-    QVariant metaData(const QString &key) const;
-    QStringList availableMetaData() const;
-
-private Q_SLOTS:
-    void updateTags();
-
-private:
-    QT7PlayerSession *m_session;
-    QMap<QString, QVariant> m_tags;
-};
-
-QT_END_NAMESPACE
-
-#endif
diff --git a/src/plugins/qt7/mediaplayer/qt7playermetadata.mm b/src/plugins/qt7/mediaplayer/qt7playermetadata.mm
deleted file mode 100644 (file)
index 84d434b..0000000
+++ /dev/null
@@ -1,250 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia 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.
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qt7backend.h"
-#include "qt7playermetadata.h"
-#include "qt7playersession.h"
-#include <QtCore/qvarlengtharray.h>
-#include <QtMultimedia/qmediametadata.h>
-
-#import <QTKit/QTMovie.h>
-
-#ifdef QUICKTIME_C_API_AVAILABLE
-    #include <QuickTime/QuickTime.h>
-    #undef check // avoid name clash;
-#endif
-
-QT_USE_NAMESPACE
-
-QT7PlayerMetaDataControl::QT7PlayerMetaDataControl(QT7PlayerSession *session, QObject *parent)
-    :QMetaDataReaderControl(parent), m_session(session)
-{
-}
-
-QT7PlayerMetaDataControl::~QT7PlayerMetaDataControl()
-{
-}
-
-bool QT7PlayerMetaDataControl::isMetaDataAvailable() const
-{
-    return !m_tags.isEmpty();
-}
-
-bool QT7PlayerMetaDataControl::isWritable() const
-{
-    return false;
-}
-
-QVariant QT7PlayerMetaDataControl::metaData(const QString &key) const
-{
-    return m_tags.value(key);
-}
-
-QStringList QT7PlayerMetaDataControl::availableMetaData() const
-{
-    return m_tags.keys();
-}
-
-#ifdef QUICKTIME_C_API_AVAILABLE
-
-static QString stripCopyRightSymbol(const QString &key)
-{
-    return key.right(key.length()-1);
-}
-
-static QString convertQuickTimeKeyToUserKey(const QString &key)
-{
-    if (key == QLatin1String("com.apple.quicktime.displayname"))
-        return QLatin1String("nam");
-    else if (key == QLatin1String("com.apple.quicktime.album"))
-        return QLatin1String("alb");
-    else if (key == QLatin1String("com.apple.quicktime.artist"))
-        return QLatin1String("ART");
-    else
-        return QLatin1String("???");
-}
-
-static OSStatus readMetaValue(QTMetaDataRef metaDataRef, QTMetaDataItem item, QTPropertyClass propClass,
-                              QTPropertyID id, QTPropertyValuePtr *value, ByteCount *size)
-{
-    QTPropertyValueType type;
-    ByteCount propSize;
-    UInt32 propFlags;
-    OSStatus err = QTMetaDataGetItemPropertyInfo(metaDataRef, item, propClass, id, &type, &propSize, &propFlags);
-
-    if (err == noErr) {
-        *value = malloc(propSize);
-        if (*value != 0) {
-            err = QTMetaDataGetItemProperty(metaDataRef, item, propClass, id, propSize, *value, size);
-
-            if (err == noErr && (type == 'code' || type == 'itsk' || type == 'itlk')) {
-                // convert from native endian to big endian
-                OSTypePtr pType = (OSTypePtr)*value;
-                *pType = EndianU32_NtoB(*pType);
-            }
-        }
-        else
-            return -1;
-    }
-
-    return err;
-}
-
-static UInt32 getMetaType(QTMetaDataRef metaDataRef, QTMetaDataItem item)
-{
-    QTPropertyValuePtr value = 0;
-    ByteCount ignore = 0;
-    OSStatus err = readMetaValue(
-            metaDataRef, item, kPropertyClass_MetaDataItem, kQTMetaDataItemPropertyID_DataType, &value, &ignore);
-
-    if (err == noErr) {
-        UInt32 type = *((UInt32 *) value);
-        if (value)
-            free(value);
-        return type;
-    }
-
-    return 0;
-}
-
-static QString cFStringToQString(CFStringRef str)
-{
-    if(!str)
-        return QString();
-    CFIndex length = CFStringGetLength(str);
-    const UniChar *chars = CFStringGetCharactersPtr(str);
-    if (chars)
-        return QString(reinterpret_cast<const QChar *>(chars), length);
-
-    QVarLengthArray<UniChar> buffer(length);
-    CFStringGetCharacters(str, CFRangeMake(0, length), buffer.data());
-    return QString(reinterpret_cast<const QChar *>(buffer.constData()), length);
-}
-
-
-static QString getMetaValue(QTMetaDataRef metaDataRef, QTMetaDataItem item, SInt32 id)
-{
-    QTPropertyValuePtr value = 0;
-    ByteCount size = 0;
-    OSStatus err = readMetaValue(metaDataRef, item, kPropertyClass_MetaDataItem, id, &value, &size);
-    QString string;
-
-    if (err == noErr) {
-        UInt32 dataType = getMetaType(metaDataRef, item);
-        switch (dataType){
-        case kQTMetaDataTypeUTF8:
-        case kQTMetaDataTypeMacEncodedText:
-            string = cFStringToQString(CFStringCreateWithBytes(0, (UInt8*)value, size, kCFStringEncodingUTF8, false));
-            break;
-        case kQTMetaDataTypeUTF16BE:
-            string = cFStringToQString(CFStringCreateWithBytes(0, (UInt8*)value, size, kCFStringEncodingUTF16BE, false));
-            break;
-        default:
-            break;
-        }
-
-        if (value)
-            free(value);
-    }
-
-    return string;
-}
-
-
-static void readFormattedData(QTMetaDataRef metaDataRef, OSType format, QMultiMap<QString, QString> &result)
-{
-    QTMetaDataItem item = kQTMetaDataItemUninitialized;
-    OSStatus err = QTMetaDataGetNextItem(metaDataRef, format, item, kQTMetaDataKeyFormatWildcard, 0, 0, &item);
-    while (err == noErr){
-        QString key = getMetaValue(metaDataRef, item, kQTMetaDataItemPropertyID_Key);
-        if (format == kQTMetaDataStorageFormatQuickTime)
-            key = convertQuickTimeKeyToUserKey(key);
-        else
-            key = stripCopyRightSymbol(key);
-
-        if (!result.contains(key)){
-            QString val = getMetaValue(metaDataRef, item, kQTMetaDataItemPropertyID_Value);
-            result.insert(key, val);
-        }
-        err = QTMetaDataGetNextItem(metaDataRef, format, item, kQTMetaDataKeyFormatWildcard, 0, 0, &item);
-    }
-}
-#endif
-
-
-void QT7PlayerMetaDataControl::updateTags()
-{
-    bool wasEmpty = m_tags.isEmpty();
-    m_tags.clear();
-
-    QTMovie *movie = (QTMovie*)m_session->movie();
-
-    if (movie) {
-        QMultiMap<QString, QString> metaMap;
-
-#ifdef QUICKTIME_C_API_AVAILABLE
-        QTMetaDataRef metaDataRef;
-        OSStatus err = QTCopyMovieMetaData([movie quickTimeMovie], &metaDataRef);
-        if (err == noErr) {
-            readFormattedData(metaDataRef, kQTMetaDataStorageFormatUserData, metaMap);
-            readFormattedData(metaDataRef, kQTMetaDataStorageFormatQuickTime, metaMap);
-            readFormattedData(metaDataRef, kQTMetaDataStorageFormatiTunes, metaMap);
-        }
-#else
-        AutoReleasePool pool;
-        NSString *name = [movie attributeForKey:@"QTMovieDisplayNameAttribute"];
-        metaMap.insert(QLatin1String("nam"), QString::fromUtf8([name UTF8String]));
-#endif // QUICKTIME_C_API_AVAILABLE
-
-        m_tags.insert(QMediaMetaData::AlbumArtist, metaMap.value(QLatin1String("ART")));
-        m_tags.insert(QMediaMetaData::AlbumTitle, metaMap.value(QLatin1String("alb")));
-        m_tags.insert(QMediaMetaData::Title, metaMap.value(QLatin1String("nam")));
-        m_tags.insert(QMediaMetaData::Date, metaMap.value(QLatin1String("day")));
-        m_tags.insert(QMediaMetaData::Genre, metaMap.value(QLatin1String("gnre")));
-        m_tags.insert(QMediaMetaData::TrackNumber, metaMap.value(QLatin1String("trk")));
-        m_tags.insert(QMediaMetaData::Description, metaMap.value(QLatin1String("des")));
-    }
-
-    if (!wasEmpty || !m_tags.isEmpty())
-        Q_EMIT metaDataChanged();
-}
-
-#include "moc_qt7playermetadata.cpp"
diff --git a/src/plugins/qt7/mediaplayer/qt7playerservice.h b/src/plugins/qt7/mediaplayer/qt7playerservice.h
deleted file mode 100644 (file)
index 15c1d2c..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL21$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 or version 3 as published by the Free
-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
-** following information to ensure the GNU Lesser General Public License
-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QT7PLAYERSERVICE_H
-#define QT7PLAYERSERVICE_H
-
-#include <QtCore/qobject.h>
-#include <QtCore/qset.h>
-#include <qmediaservice.h>
-
-
-QT_BEGIN_NAMESPACE
-class QMediaPlayerControl;
-class QMediaPlaylist;
-class QMediaPlaylistNavigator;
-class QT7PlayerControl;
-class QT7PlayerMetaDataControl;
-class QT7VideoWindowControl;
-class QT7VideoWidgetControl;
-class QT7VideoRendererControl;
-class QT7VideoOutput;
-class QT7PlayerSession;
-
-class QT7PlayerService : public QMediaService
-{
-Q_OBJECT
-public:
-    QT7PlayerService(QObject *parent = 0);
-    ~QT7PlayerService();
-
-    QMediaControl* requestControl(const char *name);
-    void releaseControl(QMediaControl *control);
-
-private:
-    QT7PlayerSession *m_session;
-    QT7PlayerControl *m_control;
-    QMediaControl * m_videoOutput;
-    QT7PlayerMetaDataControl *m_playerMetaDataControl;
-};
-
-QT_END_NAMESPACE
-
-#endif
diff --git a/src/plugins/qt7/mediaplayer/qt7playerservice.mm b/src/plugins/qt7/mediaplayer/qt7playerservice.mm
deleted file mode 100644 (file)
index 46be547..0000000
+++ /dev/null
@@ -1,128 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia 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.
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtCore/qvariant.h>
-#include <QtCore/qdebug.h>
-
-#include "qt7backend.h"
-#include "qt7playerservice.h"
-#include "qt7playercontrol.h"
-#include "qt7playersession.h"
-#include "qt7videooutput.h"
-#include "qt7movieviewoutput.h"
-#include "qt7movieviewrenderer.h"
-#include "qt7movierenderer.h"
-#ifndef QT_NO_WIDGETS
-#include "qt7movievideowidget.h"
-#endif
-#include "qt7playermetadata.h"
-
-#include <private/qmediaplaylistnavigator_p.h>
-#include <qmediaplaylist.h>
-
-QT_USE_NAMESPACE
-
-QT7PlayerService::QT7PlayerService(QObject *parent):
-    QMediaService(parent),
-    m_videoOutput(0)
-{
-    m_session = new QT7PlayerSession(this);
-
-    m_control = new QT7PlayerControl(this);
-    m_control->setSession(m_session);
-
-    m_playerMetaDataControl = new QT7PlayerMetaDataControl(m_session, this);
-    connect(m_control, SIGNAL(mediaChanged(QMediaContent)), m_playerMetaDataControl, SLOT(updateTags()));
-}
-
-QT7PlayerService::~QT7PlayerService()
-{
-}
-
-QMediaControl *QT7PlayerService::requestControl(const char *name)
-{
-    if (qstrcmp(name, QMediaPlayerControl_iid) == 0)
-        return m_control;
-
-    if (qstrcmp(name, QMetaDataReaderControl_iid) == 0)
-        return m_playerMetaDataControl;
-
-#ifndef QT_NO_OPENGL
-    if (!m_videoOutput) {
-        if (qstrcmp(name, QVideoWindowControl_iid) == 0) {
-            m_videoOutput = new QT7MovieViewOutput(this);
-        }
-
-        if (qstrcmp(name, QVideoRendererControl_iid) == 0) {
-#ifndef QT_NO_WIDGETS
-            m_videoOutput = new QT7MovieViewRenderer(this);
-#endif
-        }
-
-#ifndef QT_NO_WIDGETS
-        if (qstrcmp(name, QVideoWidgetControl_iid) == 0) {
-#ifdef QUICKTIME_C_API_AVAILABLE
-            m_videoOutput = new QT7MovieVideoWidget(this);
-#endif
-        }
-#endif
-
-        if (m_videoOutput) {
-            QT7VideoOutput *videoOutput = qobject_cast<QT7VideoOutput*>(m_videoOutput);
-            m_session->setVideoOutput(videoOutput);
-            return m_videoOutput;
-        }
-    }
-#endif // !defined(QT_NO_OPENGL)
-
-    return 0;
-}
-
-void QT7PlayerService::releaseControl(QMediaControl *control)
-{
-    if (m_videoOutput == control) {
-        m_videoOutput = 0;
-        m_session->setVideoOutput(0);
-        delete control;
-    }
-}
-
-#include "moc_qt7playerservice.cpp"
diff --git a/src/plugins/qt7/mediaplayer/qt7playersession.h b/src/plugins/qt7/mediaplayer/qt7playersession.h
deleted file mode 100644 (file)
index 58ea76a..0000000
+++ /dev/null
@@ -1,183 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL21$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 or version 3 as published by the Free
-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
-** following information to ensure the GNU Lesser General Public License
-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QT7PLAYERSESSION_H
-#define QT7PLAYERSESSION_H
-
-#include <QtCore/qobject.h>
-#include <QtCore/qbytearray.h>
-#include <QtCore/qset.h>
-#include <QtCore/qresource.h>
-
-#include <qmediaplayercontrol.h>
-#include <qmediaplayer.h>
-
-QT_BEGIN_NAMESPACE
-
-class QT7PlayerControl;
-class QMediaPlaylist;
-class QMediaPlaylistNavigator;
-class QT7VideoOutput;
-class QT7PlayerSession;
-class QT7PlayerService;
-
-
-class QT7PlayerSession : public QObject
-{
-    Q_OBJECT
-public:
-    QT7PlayerSession(QObject *parent = 0);
-    ~QT7PlayerSession();
-
-    void *movie() const;
-
-    void setControl(QT7PlayerControl *control);
-
-    void setVideoOutput(QT7VideoOutput *output);
-
-    QMediaPlayer::State state() const;
-    QMediaPlayer::MediaStatus mediaStatus() const;
-
-    QMediaContent media() const;
-    const QIODevice *mediaStream() const;
-    void setMedia(const QMediaContent &content, QIODevice *stream);
-
-    qint64 position() const;
-    qint64 duration() const;
-
-    int bufferStatus() const;
-
-    int volume() const;
-    bool isMuted() const;
-
-    bool isAudioAvailable() const;
-    bool isVideoAvailable() const;
-
-    bool isSeekable() const;
-    QMediaTimeRange availablePlaybackRanges() const;
-
-    qreal playbackRate() const;
-
-public Q_SLOTS:
-    void setPlaybackRate(qreal rate);
-
-    void setPosition(qint64 pos);
-
-    void play();
-    void pause();
-    void stop();
-
-    void setVolume(int volume);
-    void setMuted(bool muted);
-
-    void processEOS();
-    void processLoadStateChange();
-    void processVolumeChange();
-    void processNaturalSizeChange();
-    void processPositionChange();
-
-Q_SIGNALS:
-    void positionChanged(qint64 position);
-    void durationChanged(qint64 duration);
-    void stateChanged(QMediaPlayer::State newState);
-    void mediaStatusChanged(QMediaPlayer::MediaStatus status);
-    void volumeChanged(int volume);
-    void mutedChanged(bool muted);
-    void audioAvailableChanged(bool audioAvailable);
-    void videoAvailableChanged(bool videoAvailable);
-    void error(int error, const QString &errorString);
-
-private:
-    class ResourceHandler {
-    public:
-        ResourceHandler():resource(0) {}
-        ~ResourceHandler() { clear(); }
-        void setResourceFile(const QString &file) {
-            if (resource) {
-                if (resource->fileName() == file)
-                    return;
-                delete resource;
-                rawData.clear();
-            }
-            resource = new QResource(file);
-        }
-        bool isValid() const { return resource && resource->isValid() && resource->data() != 0; }
-        const uchar *data() {
-            if (!isValid())
-                return 0;
-            if (resource->isCompressed()) {
-                if (rawData.size() == 0)
-                    rawData = qUncompress(resource->data(), resource->size());
-                return (const uchar *)rawData.constData();
-            }
-            return resource->data();
-        }
-        qint64 size() {
-            if (data() == 0)
-                return 0;
-            return resource->isCompressed() ? rawData.size() : resource->size();
-        }
-        void clear() {
-            delete resource;
-            rawData.clear();
-        }
-        QResource *resource;
-        QByteArray rawData;
-    };
-
-    void openMovie(bool tryAsync);
-
-    void *m_QTMovie;
-    void *m_movieObserver;
-
-    QMediaPlayer::State m_state;
-    QMediaPlayer::MediaStatus m_mediaStatus;
-    QIODevice *m_mediaStream;
-    QMediaContent m_resources;
-    ResourceHandler m_resourceHandler;
-
-    QT7VideoOutput * m_videoOutput;
-
-    bool m_muted;
-    bool m_tryingAsync;
-    int m_volume;
-    qreal m_rate;
-
-    qint64 m_duration;
-    bool m_videoAvailable;
-    bool m_audioAvailable;
-};
-
-QT_END_NAMESPACE
-
-#endif
diff --git a/src/plugins/qt7/mediaplayer/qt7playersession.mm b/src/plugins/qt7/mediaplayer/qt7playersession.mm
deleted file mode 100644 (file)
index 4ec015c..0000000
+++ /dev/null
@@ -1,751 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia 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.
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#import <QTKit/QTDataReference.h>
-#import <QTKit/QTMovie.h>
-
-#include "qt7backend.h"
-
-#include "qt7playersession.h"
-#include "qt7playercontrol.h"
-#include "qt7videooutput.h"
-
-#include <QtNetwork/qnetworkcookie.h>
-#include <private/qmediaplaylistnavigator_p.h>
-
-#include <CoreFoundation/CoreFoundation.h>
-#include <Foundation/Foundation.h>
-
-#include <QtCore/qdatetime.h>
-#include <QtCore/qurl.h>
-
-#include <QtCore/qdebug.h>
-
-QT_USE_NAMESPACE
-
-//#define QT_DEBUG_QT7
-
-@interface QTMovieObserver : NSObject
-{
-@private
-    QT7PlayerSession *m_session;
-    QTMovie *m_movie;
-}
-
-- (QTMovieObserver *) initWithPlayerSession:(QT7PlayerSession*)session;
-- (void) setMovie:(QTMovie *)movie;
-- (void) processEOS:(NSNotification *)notification;
-- (void) processLoadStateChange:(NSNotification *)notification;
-- (void) processVolumeChange:(NSNotification *)notification;
-- (void) processNaturalSizeChange :(NSNotification *)notification;
-- (void) processPositionChange :(NSNotification *)notification;
-@end
-
-@implementation QTMovieObserver
-
-- (QTMovieObserver *) initWithPlayerSession:(QT7PlayerSession*)session
-{
-    if (!(self = [super init]))
-        return nil;
-
-    self->m_session = session;
-    return self;
-}
-
-- (void) setMovie:(QTMovie *)movie
-{
-    if (m_movie == movie)
-        return;
-
-    if (m_movie) {
-        [[NSNotificationCenter defaultCenter] removeObserver:self];
-        [m_movie release];
-    }
-
-    m_movie = movie;
-
-    if (movie) {
-        [[NSNotificationCenter defaultCenter] addObserver:self
-                                                 selector:@selector(processEOS:)
-                                                     name:QTMovieDidEndNotification
-                                                   object:m_movie];
-
-        [[NSNotificationCenter defaultCenter] addObserver:self
-                                                 selector:@selector(processLoadStateChange:)
-                                                     name:QTMovieLoadStateDidChangeNotification
-                                                   object:m_movie];
-
-        [[NSNotificationCenter defaultCenter] addObserver:self
-                                                 selector:@selector(processVolumeChange:)
-                                                     name:QTMovieVolumeDidChangeNotification
-                                                   object:m_movie];
-
-        [[NSNotificationCenter defaultCenter] addObserver:self
-                                                 selector:@selector(processPositionChange:)
-                                                     name:QTMovieTimeDidChangeNotification
-                                                   object:m_movie];
-
-        if (QSysInfo::MacintoshVersion >= QSysInfo::MV_10_6) {
-            [[NSNotificationCenter defaultCenter] addObserver:self
-                                                     selector:@selector(processNaturalSizeChange:)
-                                                         name:@"QTMovieNaturalSizeDidChangeNotification"
-                                                       object:m_movie];
-
-        }
-        else {
-            [[NSNotificationCenter defaultCenter] addObserver:self
-                                                     selector:@selector(processNaturalSizeChange:)
-                                                         name:QTMovieEditedNotification
-                                                       object:m_movie];
-        }
-
-        [movie retain];
-    }
-}
-
-- (void) processEOS:(NSNotification *)notification
-{
-    Q_UNUSED(notification);
-    QMetaObject::invokeMethod(m_session, "processEOS", Qt::AutoConnection);
-}
-
-- (void) processLoadStateChange:(NSNotification *)notification
-{
-    Q_UNUSED(notification);
-    QMetaObject::invokeMethod(m_session, "processLoadStateChange", Qt::AutoConnection);
-}
-
-- (void) processVolumeChange:(NSNotification *)notification
-{
-    Q_UNUSED(notification);
-    QMetaObject::invokeMethod(m_session, "processVolumeChange", Qt::AutoConnection);
-}
-
-- (void) processNaturalSizeChange :(NSNotification *)notification
-{
-    Q_UNUSED(notification);
-    QMetaObject::invokeMethod(m_session, "processNaturalSizeChange", Qt::AutoConnection);
-}
-
-- (void) processPositionChange :(NSNotification *)notification
-{
-    Q_UNUSED(notification);
-    QMetaObject::invokeMethod(m_session, "processPositionChange", Qt::AutoConnection);
-}
-
-@end
-
-static inline NSString *qString2CFStringRef(const QString &string)
-{
-    return [NSString stringWithCharacters:reinterpret_cast<const UniChar *>(string.unicode()) length:string.length()];
-}
-
-QT7PlayerSession::QT7PlayerSession(QObject *parent)
-   : QObject(parent)
-   , m_QTMovie(0)
-   , m_state(QMediaPlayer::StoppedState)
-   , m_mediaStatus(QMediaPlayer::NoMedia)
-   , m_mediaStream(0)
-   , m_videoOutput(0)
-   , m_muted(false)
-   , m_tryingAsync(false)
-   , m_volume(100)
-   , m_rate(1.0)
-   , m_duration(0)
-   , m_videoAvailable(false)
-   , m_audioAvailable(false)
-{
-    m_movieObserver = [[QTMovieObserver alloc] initWithPlayerSession:this];
-}
-
-QT7PlayerSession::~QT7PlayerSession()
-{
-    if (m_videoOutput)
-        m_videoOutput->setMovie(0);
-
-    [(QTMovieObserver*)m_movieObserver setMovie:nil];
-    [(QTMovieObserver*)m_movieObserver release];
-    [(QTMovie*)m_QTMovie release];
-}
-
-void *QT7PlayerSession::movie() const
-{
-    return m_QTMovie;
-}
-
-void QT7PlayerSession::setVideoOutput(QT7VideoOutput *output)
-{
-    if (m_videoOutput == output)
-        return;
-
-    if (m_videoOutput)
-        m_videoOutput->setMovie(0);
-
-    m_videoOutput = output;
-
-    if (m_videoOutput && m_state != QMediaPlayer::StoppedState)
-        m_videoOutput->setMovie(m_QTMovie);
-}
-
-qint64 QT7PlayerSession::position() const
-{
-    if (!m_QTMovie)
-        return 0;
-
-    QTTime qtTime = [(QTMovie*)m_QTMovie currentTime];
-
-    return static_cast<quint64>(float(qtTime.timeValue) / float(qtTime.timeScale) * 1000.0f);
-}
-
-qint64 QT7PlayerSession::duration() const
-{
-    if (!m_QTMovie)
-        return 0;
-
-    QTTime qtTime = [(QTMovie*)m_QTMovie duration];
-
-    return static_cast<quint64>(float(qtTime.timeValue) / float(qtTime.timeScale) * 1000.0f);
-}
-
-QMediaPlayer::State QT7PlayerSession::state() const
-{
-    return m_state;
-}
-
-QMediaPlayer::MediaStatus QT7PlayerSession::mediaStatus() const
-{
-    return m_mediaStatus;
-}
-
-int QT7PlayerSession::bufferStatus() const
-{
-    return 100;
-}
-
-int QT7PlayerSession::volume() const
-{
-    return m_volume;
-}
-
-bool QT7PlayerSession::isMuted() const
-{
-    return m_muted;
-}
-
-bool QT7PlayerSession::isSeekable() const
-{
-    return true;
-}
-
-#ifndef QUICKTIME_C_API_AVAILABLE
-@interface QTMovie(QtExtensions)
-- (NSArray*)loadedRanges;
-- (QTTime)maxTimeLoaded;
-@end
-#endif
-
-QMediaTimeRange QT7PlayerSession::availablePlaybackRanges() const
-{
-    QTMovie *movie = (QTMovie*)m_QTMovie;
-#ifndef QUICKTIME_C_API_AVAILABLE
-    AutoReleasePool pool;
-    if ([movie respondsToSelector:@selector(loadedRanges)]) {
-        QMediaTimeRange rc;
-        NSArray *r = [movie loadedRanges];
-        for (NSValue *tr in r) {
-            QTTimeRange timeRange = [tr QTTimeRangeValue];
-            qint64 startTime = qint64(float(timeRange.time.timeValue) / timeRange.time.timeScale * 1000.0);
-            rc.addInterval(startTime, startTime + qint64(float(timeRange.duration.timeValue) / timeRange.duration.timeScale * 1000.0));
-        }
-        return rc;
-    }
-    else if ([movie respondsToSelector:@selector(maxTimeLoaded)]) {
-        QTTime loadedTime = [movie maxTimeLoaded];
-        return QMediaTimeRange(0, qint64(float(loadedTime.timeValue) / loadedTime.timeScale * 1000.0));
-    }
-#else
-    TimeValue loadedTime;
-    TimeScale scale;
-    Movie m = [movie quickTimeMovie];
-    if (GetMaxLoadedTimeInMovie(m, &loadedTime) == noErr) {
-        scale = GetMovieTimeScale(m);
-        return QMediaTimeRange(0, qint64(float(loadedTime) / scale * 1000.0f));
-    }
-#endif
-    return QMediaTimeRange(0, duration());
-}
-
-qreal QT7PlayerSession::playbackRate() const
-{
-    return m_rate;
-}
-
-void QT7PlayerSession::setPlaybackRate(qreal rate)
-{
-    if (qFuzzyCompare(m_rate, rate))
-        return;
-
-    m_rate = rate;
-
-    if (m_QTMovie != 0 && m_state == QMediaPlayer::PlayingState) {
-        AutoReleasePool pool;
-        float preferredRate = [[(QTMovie*)m_QTMovie attributeForKey:@"QTMoviePreferredRateAttribute"] floatValue];
-        [(QTMovie*)m_QTMovie setRate:preferredRate * m_rate];
-    }
-}
-
-void QT7PlayerSession::setPosition(qint64 pos)
-{
-    if ( !isSeekable() || pos == position())
-        return;
-
-    if (duration() > 0)
-        pos = qMin(pos, duration());
-
-    QTTime newQTTime = [(QTMovie*)m_QTMovie currentTime];
-    newQTTime.timeValue = (pos / 1000.0f) * newQTTime.timeScale;
-    [(QTMovie*)m_QTMovie setCurrentTime:newQTTime];
-
-    //reset the EndOfMedia status position is changed after playback is finished
-    if (m_mediaStatus == QMediaPlayer::EndOfMedia)
-        processLoadStateChange();
-}
-
-void QT7PlayerSession::play()
-{
-    if (m_state == QMediaPlayer::PlayingState)
-        return;
-
-    m_state = QMediaPlayer::PlayingState;
-
-    if (m_videoOutput)
-        m_videoOutput->setMovie(m_QTMovie);
-
-    //reset the EndOfMedia status if the same file is played again
-    if (m_mediaStatus == QMediaPlayer::EndOfMedia)
-        processLoadStateChange();
-
-    AutoReleasePool pool;
-    float preferredRate = [[(QTMovie*)m_QTMovie attributeForKey:@"QTMoviePreferredRateAttribute"] floatValue];
-    [(QTMovie*)m_QTMovie setRate:preferredRate * m_rate];
-
-    processLoadStateChange();
-    Q_EMIT stateChanged(m_state);
-}
-
-void QT7PlayerSession::pause()
-{
-    if (m_state == QMediaPlayer::PausedState)
-        return;
-
-    m_state = QMediaPlayer::PausedState;
-
-    if (m_videoOutput)
-        m_videoOutput->setMovie(m_QTMovie);
-
-    //reset the EndOfMedia status if the same file is played again
-    if (m_mediaStatus == QMediaPlayer::EndOfMedia)
-        processLoadStateChange();
-
-    [(QTMovie*)m_QTMovie setRate:0];
-
-    processLoadStateChange();
-    Q_EMIT stateChanged(m_state);
-}
-
-void QT7PlayerSession::stop()
-{
-    if (m_state == QMediaPlayer::StoppedState)
-        return;
-
-    m_state = QMediaPlayer::StoppedState;
-
-    [(QTMovie*)m_QTMovie setRate:0];
-    setPosition(0);
-
-    if (m_videoOutput)
-        m_videoOutput->setMovie(0);
-
-    processLoadStateChange();
-    Q_EMIT stateChanged(m_state);
-    Q_EMIT positionChanged(position());
-}
-
-void QT7PlayerSession::setVolume(int volume)
-{
-    if (m_volume == volume)
-        return;
-
-    m_volume = volume;
-
-    if (m_QTMovie != 0)
-        [(QTMovie*)m_QTMovie setVolume:m_volume / 100.0f];
-
-    Q_EMIT volumeChanged(m_volume);
-}
-
-void QT7PlayerSession::setMuted(bool muted)
-{
-    if (m_muted == muted)
-        return;
-
-    m_muted = muted;
-
-    if (m_QTMovie != 0)
-        [(QTMovie*)m_QTMovie setMuted:m_muted];
-
-    Q_EMIT mutedChanged(muted);
-}
-
-QMediaContent QT7PlayerSession::media() const
-{
-    return m_resources;
-}
-
-const QIODevice *QT7PlayerSession::mediaStream() const
-{
-    return m_mediaStream;
-}
-
-void QT7PlayerSession::setMedia(const QMediaContent &content, QIODevice *stream)
-{
-    AutoReleasePool pool;
-
-#ifdef QT_DEBUG_QT7
-    qDebug() << Q_FUNC_INFO << content.canonicalUrl();
-#endif
-
-    if (m_QTMovie) {
-        [(QTMovieObserver*)m_movieObserver setMovie:nil];
-
-        if (m_videoOutput)
-            m_videoOutput->setMovie(0);
-
-        [(QTMovie*)m_QTMovie release];
-        m_QTMovie = 0;
-        m_resourceHandler.clear();
-    }
-
-    m_resources = content;
-    m_mediaStream = stream;
-    QMediaPlayer::MediaStatus oldMediaStatus = m_mediaStatus;
-
-    if (content.isNull()) {
-        m_mediaStatus = QMediaPlayer::NoMedia;
-        if (m_state != QMediaPlayer::StoppedState)
-            Q_EMIT stateChanged(m_state = QMediaPlayer::StoppedState);
-
-        if (m_mediaStatus != oldMediaStatus)
-            Q_EMIT mediaStatusChanged(m_mediaStatus);
-        Q_EMIT positionChanged(position());
-        return;
-    }
-
-    m_mediaStatus = QMediaPlayer::LoadingMedia;
-    if (m_mediaStatus != oldMediaStatus)
-        Q_EMIT mediaStatusChanged(m_mediaStatus);
-
-    QNetworkRequest request = content.canonicalResource().request();
-
-    QVariant cookies = request.header(QNetworkRequest::CookieHeader);
-    if (cookies.isValid()) {
-        NSHTTPCookieStorage *store = [NSHTTPCookieStorage sharedHTTPCookieStorage];
-        QList<QNetworkCookie> cookieList = cookies.value<QList<QNetworkCookie> >();
-
-        Q_FOREACH (const QNetworkCookie &requestCookie, cookieList) {
-            NSMutableDictionary *p = [NSMutableDictionary dictionaryWithObjectsAndKeys:
-                               qString2CFStringRef(requestCookie.name()), NSHTTPCookieName,
-                               qString2CFStringRef(requestCookie.value()), NSHTTPCookieValue,
-                               qString2CFStringRef(requestCookie.domain()), NSHTTPCookieDomain,
-                               qString2CFStringRef(requestCookie.path()), NSHTTPCookiePath,
-                               nil
-                               ];
-            if (requestCookie.isSessionCookie())
-                [p setObject:[NSString stringWithUTF8String:"TRUE"] forKey:NSHTTPCookieDiscard];
-            else
-                [p setObject:[NSDate dateWithTimeIntervalSince1970:requestCookie.expirationDate().toTime_t()] forKey:NSHTTPCookieExpires];
-
-            [store setCookie:[NSHTTPCookie cookieWithProperties:p]];
-        }
-    }
-
-    // Attempt multiple times to open the movie.
-    // First try - attempt open in async mode
-    openMovie(true);
-
-    Q_EMIT positionChanged(position());
-}
-
-void QT7PlayerSession::openMovie(bool tryAsync)
-{
-    QUrl requestUrl = m_resources.canonicalResource().request().url();
-    if (requestUrl.scheme().isEmpty())
-        requestUrl.setScheme(QLatin1String("file"));
-
-#ifdef QT_DEBUG_QT7
-    qDebug() << Q_FUNC_INFO << requestUrl;
-#endif
-
-    NSError *err = 0;
-    NSString *urlString = [NSString stringWithUTF8String:requestUrl.toEncoded().constData()];
-
-    NSMutableDictionary *attr = [NSMutableDictionary dictionaryWithObjectsAndKeys:
-                [NSNumber numberWithBool:YES], QTMovieOpenAsyncOKAttribute,
-                [NSNumber numberWithBool:YES], QTMovieIsActiveAttribute,
-                [NSNumber numberWithBool:YES], QTMovieResolveDataRefsAttribute,
-                [NSNumber numberWithBool:YES], QTMovieDontInteractWithUserAttribute,
-                nil];
-
-
-    if (requestUrl.scheme() == QLatin1String("qrc")) {
-        // Load from Qt resource
-        m_resourceHandler.setResourceFile(QLatin1Char(':') + requestUrl.path());
-        if (!m_resourceHandler.isValid()) {
-            Q_EMIT error(QMediaPlayer::FormatError, tr("Attempting to play invalid Qt resource"));
-            return;
-        }
-
-        CFDataRef resourceData =
-                CFDataCreateWithBytesNoCopy(0, m_resourceHandler.data(), m_resourceHandler.size(), kCFAllocatorNull);
-
-        QTDataReference *dataReference =
-                [QTDataReference dataReferenceWithReferenceToData:(NSData*)resourceData
-                                                             name:qString2CFStringRef(requestUrl.path())
-                                                         MIMEType:nil];
-
-        [attr setObject:dataReference forKey:QTMovieDataReferenceAttribute];
-
-        CFRelease(resourceData);
-    } else {
-        [attr setObject:[NSURL URLWithString:urlString] forKey:QTMovieURLAttribute];
-    }
-
-    if (tryAsync && QSysInfo::MacintoshVersion >= QSysInfo::MV_10_6) {
-        [attr setObject:[NSNumber numberWithBool:YES] forKey:@"QTMovieOpenAsyncRequiredAttribute"];
-// XXX: This is disabled for now. causes some problems with video playback for some formats
-//        [attr setObject:[NSNumber numberWithBool:YES] forKey:@"QTMovieOpenForPlaybackAttribute"];
-        m_tryingAsync = true;
-    }
-    else
-        m_tryingAsync = false;
-
-    m_QTMovie = [QTMovie movieWithAttributes:attr error:&err];
-    if (err != nil) {
-        // First attempt to test for inability to perform async
-//        if ([err code] == QTErrorMovieOpeningCannotBeAsynchronous) { XXX: error code unknown!
-        if (m_tryingAsync) {
-            m_tryingAsync = false;
-            err = nil;
-            [attr removeObjectForKey:@"QTMovieOpenAsyncRequiredAttribute"];
-            m_QTMovie = [QTMovie movieWithAttributes:attr error:&err];
-        }
-    }
-
-    if (err != nil) {
-        m_QTMovie = 0;
-        QString description = QString::fromUtf8([[err localizedDescription] UTF8String]);
-        Q_EMIT error(QMediaPlayer::FormatError, description);
-
-#ifdef QT_DEBUG_QT7
-        qDebug() << Q_FUNC_INFO << description;
-#endif
-    }
-    else {
-        [(QTMovie*)m_QTMovie retain];
-
-        [(QTMovieObserver*)m_movieObserver setMovie:(QTMovie*)m_QTMovie];
-
-        if (m_state != QMediaPlayer::StoppedState && m_videoOutput)
-            m_videoOutput->setMovie(m_QTMovie);
-
-        processLoadStateChange();
-
-        [(QTMovie*)m_QTMovie setMuted:m_muted];
-        [(QTMovie*)m_QTMovie setVolume:m_volume / 100.0f];
-    }
-}
-
-bool QT7PlayerSession::isAudioAvailable() const
-{
-    if (!m_QTMovie)
-        return false;
-
-    AutoReleasePool pool;
-    return [[(QTMovie*)m_QTMovie attributeForKey:@"QTMovieHasAudioAttribute"] boolValue] == YES;
-}
-
-bool QT7PlayerSession::isVideoAvailable() const
-{
-    if (!m_QTMovie)
-        return false;
-
-    AutoReleasePool pool;
-    return [[(QTMovie*)m_QTMovie attributeForKey:@"QTMovieHasVideoAttribute"] boolValue] == YES;
-}
-
-void QT7PlayerSession::processEOS()
-{
-#ifdef QT_DEBUG_QT7
-    qDebug() << Q_FUNC_INFO;
-#endif
-    Q_EMIT positionChanged(position());
-    m_mediaStatus = QMediaPlayer::EndOfMedia;
-    if (m_videoOutput)
-        m_videoOutput->setMovie(0);
-    Q_EMIT stateChanged(m_state = QMediaPlayer::StoppedState);
-    Q_EMIT mediaStatusChanged(m_mediaStatus);
-}
-
-void QT7PlayerSession::processLoadStateChange()
-{
-    if (!m_QTMovie)
-        return;
-
-    AutoReleasePool pool;
-
-    long state = [[(QTMovie*)m_QTMovie attributeForKey:QTMovieLoadStateAttribute] longValue];
-
-#ifdef QT_DEBUG_QT7
-    qDebug() << Q_FUNC_INFO << state;
-#endif
-
-#ifndef QUICKTIME_C_API_AVAILABLE
-    enum {
-      kMovieLoadStateError          = -1L,
-      kMovieLoadStateLoading        = 1000,
-      kMovieLoadStateLoaded         = 2000,
-      kMovieLoadStatePlayable       = 10000,
-      kMovieLoadStatePlaythroughOK  = 20000,
-      kMovieLoadStateComplete       = 100000
-    };
-#endif
-
-    if (state == kMovieLoadStateError) {
-        if (m_tryingAsync) {
-            NSError *error = [(QTMovie*)m_QTMovie attributeForKey:@"QTMovieLoadStateErrorAttribute"];
-            if ([error code] == componentNotThreadSafeErr) {
-                // Last Async check, try again with no such flag
-                openMovie(false);
-            }
-        }
-        else {
-            if (m_videoOutput)
-                m_videoOutput->setMovie(0);
-
-            Q_EMIT error(QMediaPlayer::FormatError, tr("Failed to load media"));
-            Q_EMIT mediaStatusChanged(m_mediaStatus = QMediaPlayer::InvalidMedia);
-            Q_EMIT stateChanged(m_state = QMediaPlayer::StoppedState);
-        }
-
-        return;
-    }
-
-    QMediaPlayer::MediaStatus newStatus = QMediaPlayer::NoMedia;
-    bool isPlaying = (m_state != QMediaPlayer::StoppedState);
-
-    if (state >= kMovieLoadStatePlaythroughOK) {
-        newStatus = isPlaying ? QMediaPlayer::BufferedMedia : QMediaPlayer::LoadedMedia;
-    } else if (state >= kMovieLoadStatePlayable)
-        newStatus = isPlaying ? QMediaPlayer::BufferingMedia : QMediaPlayer::LoadingMedia;
-    else if (state >= kMovieLoadStateLoading) {
-        if (!isPlaying)
-            newStatus = QMediaPlayer::LoadingMedia;
-        else if (m_mediaStatus >= QMediaPlayer::LoadedMedia)
-            newStatus = QMediaPlayer::StalledMedia;
-        else
-            newStatus = QMediaPlayer::LoadingMedia;
-    }
-
-    if (state >= kMovieLoadStatePlayable &&
-        m_state == QMediaPlayer::PlayingState &&
-        [(QTMovie*)m_QTMovie rate] == 0) {
-
-        float preferredRate = [[(QTMovie*)m_QTMovie attributeForKey:@"QTMoviePreferredRateAttribute"] floatValue];
-
-        [(QTMovie*)m_QTMovie setRate:preferredRate * m_rate];
-    }
-
-    if (state >= kMovieLoadStateLoaded) {
-        qint64 currentDuration = duration();
-        if (m_duration != currentDuration)
-            Q_EMIT durationChanged(m_duration = currentDuration);
-
-        if (m_audioAvailable != isAudioAvailable())
-            Q_EMIT audioAvailableChanged(m_audioAvailable = !m_audioAvailable);
-
-        if (m_videoAvailable != isVideoAvailable())
-            Q_EMIT videoAvailableChanged(m_videoAvailable = !m_videoAvailable);
-    }
-
-    if (newStatus != m_mediaStatus)
-        Q_EMIT mediaStatusChanged(m_mediaStatus = newStatus);
-}
-
-void QT7PlayerSession::processVolumeChange()
-{
-    if (!m_QTMovie)
-        return;
-
-    int newVolume = qRound(100.0f * [((QTMovie*)m_QTMovie) volume]);
-
-    if (newVolume != m_volume) {
-        Q_EMIT volumeChanged(m_volume = newVolume);
-    }
-}
-
-void QT7PlayerSession::processNaturalSizeChange()
-{
-    AutoReleasePool pool;
-    NSSize size = [[(QTMovie*)m_QTMovie attributeForKey:@"QTMovieNaturalSizeAttribute"] sizeValue];
-#ifdef QT_DEBUG_QT7
-    qDebug() << Q_FUNC_INFO << QSize(size.width, size.height);
-#endif
-
-    if (m_videoOutput)
-        m_videoOutput->updateNaturalSize(QSize(size.width, size.height));
-}
-
-void QT7PlayerSession::processPositionChange()
-{
-    Q_EMIT positionChanged(position());
-}
-
-#include "moc_qt7playersession.cpp"
diff --git a/src/plugins/qt7/qcvdisplaylink.h b/src/plugins/qt7/qcvdisplaylink.h
deleted file mode 100644 (file)
index ec24a0a..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL21$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 or version 3 as published by the Free
-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
-** following information to ensure the GNU Lesser General Public License
-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QCVDISPLAYLINK_H
-#define QCVDISPLAYLINK_H
-
-#include <QtCore/qobject.h>
-#include <QtCore/qmutex.h>
-
-#include <qtmultimediadefs.h>
-
-#include <QuartzCore/CVDisplayLink.h>
-
-QT_BEGIN_NAMESPACE
-
-class QCvDisplayLink : public QObject
-{
-Q_OBJECT
-public:
-    QCvDisplayLink(QObject *parent = 0);
-    virtual ~QCvDisplayLink();
-
-    bool isValid();
-    bool isActive() const;
-
-public Q_SLOTS:
-    void start();
-    void stop();
-
-Q_SIGNALS:
-    void tick(const CVTimeStamp &ts);
-
-public:
-    void displayLinkEvent(const CVTimeStamp *);
-
-protected:
-    virtual bool event(QEvent *);
-
-private:
-    CVDisplayLinkRef m_displayLink;
-    QMutex m_displayLinkMutex;
-    bool m_pendingDisplayLinkEvent;
-    bool m_isActive;
-    CVTimeStamp m_frameTimeStamp;
-};
-
-QT_END_NAMESPACE
-
-#endif
-
diff --git a/src/plugins/qt7/qcvdisplaylink.mm b/src/plugins/qt7/qcvdisplaylink.mm
deleted file mode 100644 (file)
index 8909554..0000000
+++ /dev/null
@@ -1,156 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia 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.
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qcvdisplaylink.h"
-
-#include <QtCore/qcoreapplication.h>
-#include <QtCore/qdebug.h>
-
-QT_USE_NAMESPACE
-
-static CVReturn CVDisplayLinkCallback(CVDisplayLinkRef displayLink,
-                                 const CVTimeStamp *inNow,
-                                 const CVTimeStamp *inOutputTime,
-                                 CVOptionFlags flagsIn,
-                                 CVOptionFlags *flagsOut,
-                                 void *displayLinkContext)
-{
-    Q_UNUSED(displayLink);
-    Q_UNUSED(inNow);
-    Q_UNUSED(flagsIn);
-    Q_UNUSED(flagsOut);
-
-    QCvDisplayLink *link = (QCvDisplayLink *)displayLinkContext;
-
-    link->displayLinkEvent(inOutputTime);
-    return kCVReturnSuccess;
-}
-
-
-QCvDisplayLink::QCvDisplayLink(QObject *parent)
-    :QObject(parent),
-    m_pendingDisplayLinkEvent(false),
-    m_isActive(false)
-{
-    // create display link for the main display
-    CVDisplayLinkCreateWithCGDisplay(kCGDirectMainDisplay, &m_displayLink);
-    if (m_displayLink) {
-        // set the current display of a display link.
-        CVDisplayLinkSetCurrentCGDisplay(m_displayLink, kCGDirectMainDisplay);
-
-        // set the renderer output callback function
-        CVDisplayLinkSetOutputCallback(m_displayLink, &CVDisplayLinkCallback, this);
-    }
-}
-
-QCvDisplayLink::~QCvDisplayLink()
-{
-    if (m_displayLink) {
-        CVDisplayLinkStop(m_displayLink);
-        CVDisplayLinkRelease(m_displayLink);
-        m_displayLink = NULL;
-    }
-}
-
-bool QCvDisplayLink::isValid()
-{
-    return m_displayLink != 0;
-}
-
-bool QCvDisplayLink::isActive() const
-{
-    return m_isActive;
-}
-
-void QCvDisplayLink::start()
-{
-     if (m_displayLink && !m_isActive) {
-        CVDisplayLinkStart(m_displayLink);
-        m_isActive = true;
-     }
-}
-
-void QCvDisplayLink::stop()
-{
-    if (m_displayLink && m_isActive) {
-        CVDisplayLinkStop(m_displayLink);
-        m_isActive = false;
-    }
-}
-
-void QCvDisplayLink::displayLinkEvent(const CVTimeStamp *ts)
-{
-    // This function is called from a
-    // thread != gui thread. So we post the event.
-    // But we need to make sure that we don't post faster
-    // than the event loop can eat:
-    m_displayLinkMutex.lock();
-    bool pending = m_pendingDisplayLinkEvent;
-    m_pendingDisplayLinkEvent = true;
-    m_frameTimeStamp = *ts;
-    m_displayLinkMutex.unlock();
-
-    if (!pending)
-        qApp->postEvent(this, new QEvent(QEvent::User), Qt::HighEventPriority);
-}
-
-bool QCvDisplayLink::event(QEvent *event)
-{
-    switch (event->type()){
-        case QEvent::User:  {
-                m_displayLinkMutex.lock();
-                m_pendingDisplayLinkEvent = false;
-                CVTimeStamp ts = m_frameTimeStamp;
-                m_displayLinkMutex.unlock();
-
-                Q_EMIT tick(ts);
-
-                return false;
-            }
-            break;
-        default:
-            break;
-    }
-    return QObject::event(event);
-}
-
-#include "moc_qcvdisplaylink.cpp"
-
diff --git a/src/plugins/qt7/qt7.json b/src/plugins/qt7/qt7.json
deleted file mode 100644 (file)
index b4cebad..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-    "Keys": ["qt7"],
-    "Services": ["org.qt-project.qt.mediaplayer"]
-}
diff --git a/src/plugins/qt7/qt7.pro b/src/plugins/qt7/qt7.pro
deleted file mode 100644 (file)
index b23eba4..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-# Avoid clash with a variable named `slots' in a Quartz header
-CONFIG += no_keywords
-
-TARGET = qqt7engine
-QT += multimedia-private network
-qtHaveModule(widgets) {
-    QT += multimediawidgets-private widgets
-}
-
-PLUGIN_TYPE = mediaservice
-PLUGIN_CLASS_NAME = QT7ServicePlugin
-load(qt_plugin)
-
-!simulator {
-QT += opengl
-}
-
-#DEFINES += QT_DEBUG_QT7
-
-LIBS += -framework AppKit -framework AudioUnit \
-        -framework AudioToolbox -framework CoreAudio \
-        -framework QuartzCore -framework QTKit
-
-# QUICKTIME_C_API_AVAILABLE is true only on i386
-# so make sure to link QuickTime
-contains(QT_ARCH, i386) {
-    LIBS += -framework QuickTime
-}
-
-HEADERS += \
-    qt7backend.h \
-    qt7videooutput.h \
-    qt7serviceplugin.h
-
-OBJECTIVE_SOURCES += \
-    qt7backend.mm \
-    qt7serviceplugin.mm
-
-!simulator {
-    HEADERS += \
-        qt7movieviewoutput.h \
-        qt7movierenderer.h \
-        qt7ciimagevideobuffer.h \
-        qcvdisplaylink.h
-
-    OBJECTIVE_SOURCES += \
-        qt7movieviewoutput.mm \
-        qt7movierenderer.mm \
-        qt7videooutput.mm \
-        qt7ciimagevideobuffer.mm \
-        qcvdisplaylink.mm
-
-    qtHaveModule(widgets) {
-        HEADERS += \
-            qt7movieviewrenderer.h \
-            qt7movievideowidget.h
-
-        OBJECTIVE_SOURCES += \
-            qt7movieviewrenderer.mm \
-            qt7movievideowidget.mm
-    }
-}
-
-include(mediaplayer/mediaplayer.pri)
-
-OTHER_FILES += \
-    qt7.json
diff --git a/src/plugins/qt7/qt7backend.h b/src/plugins/qt7/qt7backend.h
deleted file mode 100644 (file)
index e2aa2c5..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL21$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 or version 3 as published by the Free
-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
-** following information to ensure the GNU Lesser General Public License
-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QT7BACKEND_H
-#define QT7BACKEND_H
-
-#include "qtmultimediadefs.h"
-
-#include <QtCore/QString>
-
-#ifndef Q_OS_SIMULATOR
-#ifndef Q_OS_MAC64
-#define QUICKTIME_C_API_AVAILABLE
-#endif
-#endif // !defined(Q_WS_SIMULATOR)
-
-QT_BEGIN_NAMESPACE
-
-class AutoReleasePool
-{
-private:
-    void *pool;
-public:
-    AutoReleasePool();
-    ~AutoReleasePool();
-};
-
-QT_END_NAMESPACE
-
-#endif
diff --git a/src/plugins/qt7/qt7backend.mm b/src/plugins/qt7/qt7backend.mm
deleted file mode 100644 (file)
index 136220c..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia 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.
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qt7backend.h"
-
-#import <Foundation/NSAutoreleasePool.h>
-#include <CoreFoundation/CFBase.h>
-
-
-QT_BEGIN_NAMESPACE
-
-AutoReleasePool::AutoReleasePool()
-{
-    pool = (void*)[[NSAutoreleasePool alloc] init];
-}
-
-AutoReleasePool::~AutoReleasePool()
-{
-    [(NSAutoreleasePool*)pool release];
-}
-
-QT_END_NAMESPACE
diff --git a/src/plugins/qt7/qt7ciimagevideobuffer.h b/src/plugins/qt7/qt7ciimagevideobuffer.h
deleted file mode 100644 (file)
index 2ad7957..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL21$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 or version 3 as published by the Free
-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
-** following information to ensure the GNU Lesser General Public License
-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QT7CIIMAGEVIDEOBUFFER_H
-#define QT7CIIMAGEVIDEOBUFFER_H
-
-#include "qt7backend.h"
-#import <QTKit/QTKit.h>
-
-#include <QtCore/qvariant.h>
-#include <qabstractvideobuffer.h>
-
-
-//
-//  W A R N I N G
-//  -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-QT_BEGIN_NAMESPACE
-
-class QT7CIImageVideoBuffer : public QAbstractVideoBuffer
-{
-public:
-    QT7CIImageVideoBuffer(CIImage *image);
-
-    virtual ~QT7CIImageVideoBuffer();
-
-    MapMode mapMode() const;
-    uchar *map(MapMode mode, int *numBytes, int *bytesPerLine);
-    void unmap();
-    QVariant handle() const;
-
-private:
-    CIImage *m_image;
-    NSBitmapImageRep *m_buffer;
-    MapMode m_mode;
-};
-
-
-QT_END_NAMESPACE
-
-#endif
diff --git a/src/plugins/qt7/qt7ciimagevideobuffer.mm b/src/plugins/qt7/qt7ciimagevideobuffer.mm
deleted file mode 100644 (file)
index adb1a68..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia 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.
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qt7ciimagevideobuffer.h"
-
-#include <QuartzCore/CIFilter.h>
-#include <QuartzCore/CIVector.h>
-
-QT7CIImageVideoBuffer::QT7CIImageVideoBuffer(CIImage *image)
-    : QAbstractVideoBuffer(CoreImageHandle)
-    , m_image(image)
-    , m_buffer(0)
-    , m_mode(NotMapped)
-{
-    [m_image retain];
-}
-
-QT7CIImageVideoBuffer::~QT7CIImageVideoBuffer()
-{
-    [m_image release];
-    [m_buffer release];
-}
-
-QAbstractVideoBuffer::MapMode QT7CIImageVideoBuffer::mapMode() const
-{
-    return m_mode;
-}
-
-uchar *QT7CIImageVideoBuffer::map(QAbstractVideoBuffer::MapMode mode, int *numBytes, int *bytesPerLine)
-{
-    if (mode == NotMapped || m_mode != NotMapped || !m_image)
-        return 0;
-
-    if (!m_buffer) {
-        //swap R and B channels
-        CIFilter *colorSwapFilter = [CIFilter filterWithName: @"CIColorMatrix"  keysAndValues:
-                                     @"inputImage", m_image,
-                                     @"inputRVector", [CIVector vectorWithX: 0  Y: 0  Z: 1  W: 0],
-                                     @"inputGVector", [CIVector vectorWithX: 0  Y: 1  Z: 0  W: 0],
-                                     @"inputBVector", [CIVector vectorWithX: 1  Y: 0  Z: 0  W: 0],
-                                     @"inputAVector", [CIVector vectorWithX: 0  Y: 0  Z: 0  W: 1],
-                                     @"inputBiasVector", [CIVector vectorWithX: 0  Y: 0  Z: 0  W: 0],
-                                     nil];
-        CIImage *img = [colorSwapFilter valueForKey: @"outputImage"];
-
-        m_buffer = [[NSBitmapImageRep alloc] initWithCIImage:img];
-    }
-
-    if (numBytes)
-        *numBytes = [m_buffer bytesPerPlane];
-
-    if (bytesPerLine)
-        *bytesPerLine = [m_buffer bytesPerRow];
-
-    m_mode = mode;
-
-    return [m_buffer bitmapData];
-}
-
-void QT7CIImageVideoBuffer::unmap()
-{
-    m_mode = NotMapped;
-}
-
-QVariant QT7CIImageVideoBuffer::handle() const
-{
-    return QVariant::fromValue<void*>(m_image);
-}
-
diff --git a/src/plugins/qt7/qt7movierenderer.h b/src/plugins/qt7/qt7movierenderer.h
deleted file mode 100644 (file)
index 8abbaf8..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL21$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 or version 3 as published by the Free
-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
-** following information to ensure the GNU Lesser General Public License
-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QT7MOVIERENDERER_H
-#define QT7MOVIERENDERER_H
-
-#include "qt7backend.h"
-
-#include <QtCore/qobject.h>
-#include <QtCore/qmutex.h>
-
-#include <qvideorenderercontrol.h>
-#include <qmediaplayer.h>
-
-#include "qt7videooutput.h"
-
-#include <QuartzCore/CVOpenGLTexture.h>
-#include <QuickTime/QuickTime.h>
-
-QT_BEGIN_NAMESPACE
-
-class QGLContext;
-
-class QCvDisplayLink;
-class QT7PlayerSession;
-class QT7PlayerService;
-
-class QT7MovieRenderer : public QT7VideoRendererControl
-{
-Q_OBJECT
-public:
-    QT7MovieRenderer(QObject *parent = 0);
-    virtual ~QT7MovieRenderer();
-
-    void setMovie(void *movie);
-    void updateNaturalSize(const QSize &newSize);
-
-    QAbstractVideoSurface *surface() const;
-    void setSurface(QAbstractVideoSurface *surface);
-
-    QSize nativeSize() const;
-
-private Q_SLOTS:
-    void updateVideoFrame(const CVTimeStamp &ts);
-
-private:
-    void setupVideoOutput();
-    bool createPixelBufferVisualContext();
-    bool createGLVisualContext();
-
-    void *m_movie;
-
-    QMutex m_mutex;
-
-    QCvDisplayLink *m_displayLink;
-#ifdef QUICKTIME_C_API_AVAILABLE
-    QTVisualContextRef m_visualContext;
-    bool m_usingGLContext;
-    const QGLContext *m_currentGLContext;
-    QSize m_pixelBufferContextGeometry;
-#endif
-    QAbstractVideoSurface *m_surface;
-    QSize m_nativeSize;
-};
-
-QT_END_NAMESPACE
-
-#endif
diff --git a/src/plugins/qt7/qt7movierenderer.mm b/src/plugins/qt7/qt7movierenderer.mm
deleted file mode 100644 (file)
index 9110b82..0000000
+++ /dev/null
@@ -1,481 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia 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.
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#import <QTKit/QTKit.h>
-
-#include "qt7backend.h"
-
-#include "qt7playercontrol.h"
-#include "qt7movierenderer.h"
-#include "qt7playersession.h"
-#include "qt7ciimagevideobuffer.h"
-#include "qcvdisplaylink.h"
-#include <QtCore/qdebug.h>
-#include <QtCore/qcoreapplication.h>
-
-#include <qabstractvideobuffer.h>
-#include <qabstractvideosurface.h>
-#include <qvideosurfaceformat.h>
-
-#include <QtOpenGL/QGLContext>
-
-QT_USE_NAMESPACE
-
-//#define USE_MAIN_MONITOR_COLOR_SPACE 1
-
-class CVGLTextureVideoBuffer : public QAbstractVideoBuffer
-{
-public:
-    CVGLTextureVideoBuffer(CVOpenGLTextureRef buffer)
-        : QAbstractVideoBuffer(GLTextureHandle)
-        , m_buffer(buffer)
-        , m_mode(NotMapped)
-    {
-        CVOpenGLTextureRetain(m_buffer);
-    }
-
-    virtual ~CVGLTextureVideoBuffer()
-    {
-        CVOpenGLTextureRelease(m_buffer);
-    }
-
-    QVariant handle() const
-    {
-        GLuint id = CVOpenGLTextureGetName(m_buffer);
-        return QVariant(int(id));
-    }
-
-    MapMode mapMode() const { return m_mode; }
-
-    uchar *map(MapMode mode, int *numBytes, int *bytesPerLine)
-    {
-        if (numBytes)
-            *numBytes = 0;
-
-        if (bytesPerLine)
-            *bytesPerLine = 0;
-
-        m_mode = mode;
-        return 0;
-    }
-
-    void unmap() { m_mode = NotMapped; }
-
-private:
-    CVOpenGLTextureRef m_buffer;
-    MapMode m_mode;
-};
-
-
-class CVPixelBufferVideoBuffer : public QAbstractVideoBuffer
-{
-public:
-    CVPixelBufferVideoBuffer(CVPixelBufferRef buffer)
-        : QAbstractVideoBuffer(NoHandle)
-        , m_buffer(buffer)
-        , m_mode(NotMapped)
-    {
-        CVPixelBufferRetain(m_buffer);
-    }
-
-    virtual ~CVPixelBufferVideoBuffer()
-    {
-        CVPixelBufferRelease(m_buffer);
-    }
-
-    MapMode mapMode() const { return m_mode; }
-
-    uchar *map(MapMode mode, int *numBytes, int *bytesPerLine)
-    {
-        if (mode != NotMapped && m_mode == NotMapped) {
-            CVPixelBufferLockBaseAddress(m_buffer, 0);
-
-            if (numBytes)
-                *numBytes = CVPixelBufferGetDataSize(m_buffer);
-
-            if (bytesPerLine)
-                *bytesPerLine = CVPixelBufferGetBytesPerRow(m_buffer);
-
-            m_mode = mode;
-
-            return (uchar*)CVPixelBufferGetBaseAddress(m_buffer);
-        } else {
-            return 0;
-        }
-    }
-
-    void unmap()
-    {
-        if (m_mode != NotMapped) {
-            m_mode = NotMapped;
-            CVPixelBufferUnlockBaseAddress(m_buffer, 0);
-        }
-    }
-
-private:
-    CVPixelBufferRef m_buffer;
-    MapMode m_mode;
-};
-
-
-
-QT7MovieRenderer::QT7MovieRenderer(QObject *parent)
-   :QT7VideoRendererControl(parent),
-    m_movie(0),
-#ifdef QUICKTIME_C_API_AVAILABLE
-    m_visualContext(0),
-    m_usingGLContext(false),
-    m_currentGLContext(0),
-#endif
-    m_surface(0)
-{
-#ifdef QT_DEBUG_QT7
-    qDebug() << "QT7MovieRenderer";
-#endif
-    m_displayLink = new QCvDisplayLink(this);
-    connect(m_displayLink, SIGNAL(tick(CVTimeStamp)), SLOT(updateVideoFrame(CVTimeStamp)));
-}
-
-
-bool QT7MovieRenderer::createGLVisualContext()
-{
-#ifdef QUICKTIME_C_API_AVAILABLE
-    AutoReleasePool pool;
-    CGLContextObj cglContext = CGLGetCurrentContext();
-    NSOpenGLPixelFormat *nsglPixelFormat = [NSOpenGLView defaultPixelFormat];
-    CGLPixelFormatObj cglPixelFormat = static_cast<CGLPixelFormatObj>([nsglPixelFormat CGLPixelFormatObj]);
-
-    OSStatus err = QTOpenGLTextureContextCreate(kCFAllocatorDefault, cglContext,
-                                                cglPixelFormat, NULL, &m_visualContext);
-    if (err != noErr)
-        qWarning() << "Could not create visual context (OpenGL)";
-
-    return (err == noErr);
-#endif // QUICKTIME_C_API_AVAILABLE
-
-    return false;
-}
-
-#ifdef QUICKTIME_C_API_AVAILABLE
-static bool DictionarySetValue(CFMutableDictionaryRef dict, CFStringRef key, SInt32 value)
-{
-    CFNumberRef  number    = CFNumberCreate(kCFAllocatorDefault, kCFNumberSInt32Type, &value);
-
-    if (number) {
-        CFDictionarySetValue( dict, key, number );
-        CFRelease( number );
-        return true;
-    }
-    return false;
-}
-#endif // QUICKTIME_C_API_AVAILABLE
-
-bool QT7MovieRenderer::createPixelBufferVisualContext()
-{
-#ifdef QUICKTIME_C_API_AVAILABLE
-    if (m_visualContext) {
-        QTVisualContextRelease(m_visualContext);
-        m_visualContext = 0;
-    }
-
-    m_pixelBufferContextGeometry = m_nativeSize;
-
-    CFMutableDictionaryRef  pixelBufferOptions = CFDictionaryCreateMutable(kCFAllocatorDefault, 0,
-                                                                           &kCFTypeDictionaryKeyCallBacks,
-                                                                           &kCFTypeDictionaryValueCallBacks);
-    //DictionarySetValue(pixelBufferOptions, kCVPixelBufferPixelFormatTypeKey, k32ARGBPixelFormat );
-    DictionarySetValue(pixelBufferOptions, kCVPixelBufferPixelFormatTypeKey, k32BGRAPixelFormat );
-    DictionarySetValue(pixelBufferOptions, kCVPixelBufferWidthKey, m_nativeSize.width() );
-    DictionarySetValue(pixelBufferOptions, kCVPixelBufferHeightKey, m_nativeSize.height() );
-    DictionarySetValue(pixelBufferOptions, kCVPixelBufferBytesPerRowAlignmentKey, 16);
-    //CFDictionarySetValue(pixelBufferOptions, kCVPixelBufferOpenGLCompatibilityKey, kCFBooleanTrue);
-
-    CFMutableDictionaryRef  visualContextOptions = CFDictionaryCreateMutable(kCFAllocatorDefault, 0,
-                                                                             &kCFTypeDictionaryKeyCallBacks,
-                                                                             &kCFTypeDictionaryValueCallBacks);
-    CFDictionarySetValue(visualContextOptions, kQTVisualContextPixelBufferAttributesKey, pixelBufferOptions);
-
-    CGColorSpaceRef colorSpace = NULL;
-
-#if USE_MAIN_MONITOR_COLOR_SPACE
-    CMProfileRef sysprof = NULL;
-
-    // Get the Systems Profile for the main display
-    if (CMGetSystemProfile(&sysprof) == noErr) {
-        // Create a colorspace with the systems profile
-        colorSpace = CGColorSpaceCreateWithPlatformColorSpace(sysprof);
-        CMCloseProfile(sysprof);
-    }
-#endif
-
-    if (!colorSpace)
-        colorSpace = CGColorSpaceCreateDeviceRGB();
-
-    CFDictionarySetValue(visualContextOptions, kQTVisualContextOutputColorSpaceKey, colorSpace);
-
-    OSStatus err = QTPixelBufferContextCreate(kCFAllocatorDefault,
-                                               visualContextOptions,
-                                               &m_visualContext);
-    CFRelease(pixelBufferOptions);
-    CFRelease(visualContextOptions);
-
-    if (err != noErr) {
-        qWarning() << "Could not create visual context (PixelBuffer)";
-        return false;
-    }
-
-    return true;
-#endif // QUICKTIME_C_API_AVAILABLE
-
-    return false;
-}
-
-
-QT7MovieRenderer::~QT7MovieRenderer()
-{
-    m_displayLink->stop();
-}
-
-void QT7MovieRenderer::setupVideoOutput()
-{
-    AutoReleasePool pool;
-
-#ifdef QT_DEBUG_QT7
-    qDebug() << "QT7MovieRenderer::setupVideoOutput" << m_movie;
-#endif
-
-    if (m_movie == 0 || m_surface == 0) {
-        m_displayLink->stop();
-        return;
-    }
-
-    NSSize size = [[(QTMovie*)m_movie attributeForKey:@"QTMovieNaturalSizeAttribute"] sizeValue];
-    m_nativeSize = QSize(size.width, size.height);
-
-#ifdef QUICKTIME_C_API_AVAILABLE
-    bool usedGLContext = m_usingGLContext;
-
-    if (!m_nativeSize.isEmpty()) {
-
-        bool glSupported = !m_surface->supportedPixelFormats(QAbstractVideoBuffer::GLTextureHandle).isEmpty();
-
-        //Try rendering using opengl textures first:
-        if (glSupported) {
-            QVideoSurfaceFormat format(m_nativeSize, QVideoFrame::Format_RGB32, QAbstractVideoBuffer::GLTextureHandle);
-
-            if (m_surface->isActive())
-                m_surface->stop();
-
-            if (!m_surface->start(format)) {
-                qWarning() << "failed to start video surface" << m_surface->error();
-                qWarning() << "Surface format:" << format;
-                glSupported = false;
-            } else {
-                m_usingGLContext = true;
-            }
-
-        }
-
-        if (!glSupported) {
-            m_usingGLContext = false;
-            QVideoSurfaceFormat format(m_nativeSize, QVideoFrame::Format_RGB32);
-
-            if (m_surface->isActive() && m_surface->surfaceFormat() != format) {
-#ifdef QT_DEBUG_QT7
-                qDebug() << "Surface format was changed, stop the surface.";
-#endif
-                m_surface->stop();
-            }
-
-            if (!m_surface->isActive()) {
-#ifdef QT_DEBUG_QT7
-                qDebug() << "Starting the surface with format" << format;
-#endif
-                if (!m_surface->start(format)) {
-                    qWarning() << "failed to start video surface" << m_surface->error();
-                    qWarning() << "Surface format:" << format;
-                }
-            }
-        }
-    }
-
-
-    if (m_visualContext) {
-        //check if the visual context still can be reused
-        if (usedGLContext != m_usingGLContext ||
-            (m_usingGLContext && (m_currentGLContext != QGLContext::currentContext())) ||
-            (!m_usingGLContext && (m_pixelBufferContextGeometry != m_nativeSize))) {
-            QTVisualContextRelease(m_visualContext);
-            m_pixelBufferContextGeometry = QSize();
-            m_visualContext = 0;
-        }
-    }
-
-    if (!m_nativeSize.isEmpty()) {
-        if (!m_visualContext) {
-            if (m_usingGLContext) {
-#ifdef QT_DEBUG_QT7
-                qDebug() << "Building OpenGL visual context" << m_nativeSize;
-#endif
-                m_currentGLContext = QGLContext::currentContext();
-                if (!createGLVisualContext()) {
-                    qWarning() << "QT7MovieRenderer: failed to create visual context";
-                    return;
-                }
-            } else {
-#ifdef QT_DEBUG_QT7
-                qDebug() << "Building Pixel Buffer visual context" << m_nativeSize;
-#endif
-                if (!createPixelBufferVisualContext()) {
-                    qWarning() << "QT7MovieRenderer: failed to create visual context";
-                    return;
-                }
-            }
-        }
-
-        // targets a Movie to render into a visual context
-        SetMovieVisualContext([(QTMovie*)m_movie quickTimeMovie], m_visualContext);
-
-        m_displayLink->start();
-    }
-#endif
-
-}
-
-void QT7MovieRenderer::setMovie(void *movie)
-{
-#ifdef QT_DEBUG_QT7
-    qDebug() << "QT7MovieRenderer::setMovie" << movie;
-#endif
-
-#ifdef QUICKTIME_C_API_AVAILABLE
-    QMutexLocker locker(&m_mutex);
-
-    if (m_movie != movie) {
-        if (m_movie) {
-            //ensure the old movie doesn't hold the visual context, otherwise it can't be reused
-            SetMovieVisualContext([(QTMovie*)m_movie quickTimeMovie], nil);
-            [(QTMovie*)m_movie release];
-        }
-
-        m_movie = movie;
-        [(QTMovie*)m_movie retain];
-
-        setupVideoOutput();
-    }
-#else
-    Q_UNUSED(movie);
-#endif
-}
-
-void QT7MovieRenderer::updateNaturalSize(const QSize &newSize)
-{
-    if (m_nativeSize != newSize) {
-        m_nativeSize = newSize;
-        setupVideoOutput();
-    }
-}
-
-QAbstractVideoSurface *QT7MovieRenderer::surface() const
-{
-    return m_surface;
-}
-
-void QT7MovieRenderer::setSurface(QAbstractVideoSurface *surface)
-{
-#ifdef QT_DEBUG_QT7
-    qDebug() << "Set video surface" << surface;
-#endif
-
-    if (surface == m_surface)
-        return;
-
-    QMutexLocker locker(&m_mutex);
-
-    if (m_surface && m_surface->isActive())
-        m_surface->stop();
-
-    m_surface = surface;
-    setupVideoOutput();
-}
-
-
-QSize QT7MovieRenderer::nativeSize() const
-{
-    return m_nativeSize;
-}
-
-void QT7MovieRenderer::updateVideoFrame(const CVTimeStamp &ts)
-{
-#ifdef QUICKTIME_C_API_AVAILABLE
-
-    QMutexLocker locker(&m_mutex);
-
-    if (m_surface && m_surface->isActive() &&
-        m_visualContext && QTVisualContextIsNewImageAvailable(m_visualContext, &ts)) {
-
-        CVImageBufferRef imageBuffer = NULL;
-
-        OSStatus status = QTVisualContextCopyImageForTime(m_visualContext, NULL, &ts, &imageBuffer);
-
-        if (status == noErr && imageBuffer) {
-            QAbstractVideoBuffer *buffer = 0;
-
-            if (m_usingGLContext) {
-                buffer = new QT7CIImageVideoBuffer([CIImage imageWithCVImageBuffer:imageBuffer]);
-                CVOpenGLTextureRelease((CVOpenGLTextureRef)imageBuffer);
-            } else {
-                buffer = new CVPixelBufferVideoBuffer((CVPixelBufferRef)imageBuffer);
-                //buffer = new QT7CIImageVideoBuffer( [CIImage imageWithCVImageBuffer:imageBuffer] );
-                CVPixelBufferRelease((CVPixelBufferRef)imageBuffer);
-            }
-
-            QVideoFrame frame(buffer, m_nativeSize, QVideoFrame::Format_RGB32);
-            m_surface->present(frame);
-            QTVisualContextTask(m_visualContext);
-        }
-    }
-#else
-    Q_UNUSED(ts);
-#endif
-}
-
-#include "moc_qt7movierenderer.cpp"
diff --git a/src/plugins/qt7/qt7movievideowidget.h b/src/plugins/qt7/qt7movievideowidget.h
deleted file mode 100644 (file)
index 6550376..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL21$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 or version 3 as published by the Free
-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
-** following information to ensure the GNU Lesser General Public License
-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QT7MOVIEVIDEOWIDGET_H
-#define QT7MOVIEVIDEOWIDGET_H
-
-#include <QtCore/qobject.h>
-#include <QtCore/qmutex.h>
-
-#include <qvideowindowcontrol.h>
-#include <qmediaplayer.h>
-
-#include "qt7videooutput.h"
-
-#include <QuartzCore/CVOpenGLTexture.h>
-#include <QuickTime/QuickTime.h>
-
-class GLVideoWidget;
-
-QT_BEGIN_NAMESPACE
-
-class QCvDisplayLink;
-class QT7PlayerSession;
-class QT7PlayerService;
-
-class QT7MovieVideoWidget : public QT7VideoWidgetControl
-{
-Q_OBJECT
-public:
-    QT7MovieVideoWidget(QObject *parent = 0);
-    virtual ~QT7MovieVideoWidget();
-
-    void setMovie(void *movie);
-    void updateNaturalSize(const QSize &newSize);
-
-    QWidget *videoWidget();
-
-    bool isFullScreen() const;
-    void setFullScreen(bool fullScreen);
-
-    QSize nativeSize() const;
-
-    Qt::AspectRatioMode aspectRatioMode() const;
-    void setAspectRatioMode(Qt::AspectRatioMode mode);
-
-    int brightness() const;
-    void setBrightness(int brightness);
-
-    int contrast() const;
-    void setContrast(int contrast);
-
-    int hue() const;
-    void setHue(int hue);
-
-    int saturation() const;
-    void setSaturation(int saturation);
-
-private Q_SLOTS:
-    void updateVideoFrame(const CVTimeStamp &ts);
-
-private:
-    void setupVideoOutput();
-    bool createVisualContext();
-
-    void updateColors();
-
-    void *m_movie;
-    GLVideoWidget *m_videoWidget;
-
-    QCvDisplayLink *m_displayLink;
-
-#ifdef QUICKTIME_C_API_AVAILABLE
-    QTVisualContextRef m_visualContext;
-#endif
-
-    bool m_fullscreen;
-    QSize m_nativeSize;
-    Qt::AspectRatioMode m_aspectRatioMode;
-    int m_brightness;
-    int m_contrast;
-    int m_hue;
-    int m_saturation;
-};
-
-QT_END_NAMESPACE
-
-#endif
diff --git a/src/plugins/qt7/qt7movievideowidget.mm b/src/plugins/qt7/qt7movievideowidget.mm
deleted file mode 100644 (file)
index ec9367b..0000000
+++ /dev/null
@@ -1,437 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia 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.
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qt7backend.h"
-
-#import <QTKit/QTDataReference.h>
-#import <QTKit/QTMovie.h>
-#import <QTKit/QTMovieView.h>
-#import <QTKit/QTMovieLayer.h>
-#import <AppKit/NSImage.h>
-#import <OpenGL/glu.h>
-
-
-#include "qt7playercontrol.h"
-#include "qt7movievideowidget.h"
-#include "qt7playersession.h"
-#include "qcvdisplaylink.h"
-#include <QtCore/qdebug.h>
-#include <QtCore/qcoreapplication.h>
-
-#include <QGLWidget>
-
-#include <CoreFoundation/CoreFoundation.h>
-
-#import <QuartzCore/QuartzCore.h>
-
-#include "math.h"
-
-QT_USE_NAMESPACE
-
-class GLVideoWidget : public QGLWidget
-{
-public:
-
-    GLVideoWidget(QWidget *parent, const QGLFormat &format)
-        : QGLWidget(format, parent),
-          m_texRef(0),
-          m_nativeSize(640,480),
-          m_aspectRatioMode(Qt::KeepAspectRatio)
-    {
-        setAutoFillBackground(false);
-    }
-
-    void initializeGL()
-    {
-        QColor bgColor = palette().color(QPalette::Background);
-        glClearColor(bgColor.redF(), bgColor.greenF(), bgColor.blueF(), bgColor.alphaF());
-    }
-
-    void resizeGL(int w, int h)
-    {
-        glMatrixMode(GL_MODELVIEW);
-        glLoadIdentity();
-        glMatrixMode(GL_PROJECTION);
-        glLoadIdentity();
-        glViewport(0, 0, GLsizei(w), GLsizei(h));
-        gluOrtho2D(0, GLsizei(w), 0, GLsizei(h));
-        updateGL();
-    }
-
-    void paintGL()
-    {
-        glClear(GL_COLOR_BUFFER_BIT);
-        if (!m_texRef)
-            return;
-
-        glPushMatrix();
-            glDisable(GL_CULL_FACE);
-            GLenum target = CVOpenGLTextureGetTarget(m_texRef);
-            glEnable(target);
-
-            glBindTexture(target, CVOpenGLTextureGetName(m_texRef));
-            glTexParameterf(target, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
-            glTexParameterf(target, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
-            GLfloat lowerLeft[2], lowerRight[2], upperRight[2], upperLeft[2];
-            CVOpenGLTextureGetCleanTexCoords(m_texRef, lowerLeft, lowerRight, upperRight, upperLeft);
-
-            glBegin(GL_QUADS);
-                QRect rect = displayRect();
-                glTexCoord2f(lowerLeft[0], lowerLeft[1]);
-                glVertex2i(rect.topLeft().x(), rect.topLeft().y());
-                glTexCoord2f(lowerRight[0], lowerRight[1]);
-                glVertex2i(rect.topRight().x() + 1, rect.topRight().y());
-                glTexCoord2f(upperRight[0], upperRight[1]);
-                glVertex2i(rect.bottomRight().x() + 1, rect.bottomRight().y() + 1);
-                glTexCoord2f(upperLeft[0], upperLeft[1]);
-                glVertex2i(rect.bottomLeft().x(), rect.bottomLeft().y() + 1);
-            glEnd();
-        glPopMatrix();
-    }
-
-    void setCVTexture(CVOpenGLTextureRef texRef)
-    {
-        if (m_texRef)
-            CVOpenGLTextureRelease(m_texRef);
-
-        m_texRef = texRef;
-
-        if (m_texRef)
-            CVOpenGLTextureRetain(m_texRef);
-
-        if (isVisible()) {
-            makeCurrent();
-            paintGL();
-            swapBuffers();
-        }
-    }
-
-    QSize sizeHint() const
-    {
-        return m_nativeSize;
-    }
-
-    void setNativeSize(const QSize &size)
-    {
-        m_nativeSize = size;
-    }
-
-    void setAspectRatioMode(Qt::AspectRatioMode mode)
-    {
-        if (m_aspectRatioMode != mode) {
-            m_aspectRatioMode = mode;
-            update();
-        }
-    }
-
-private:
-    QRect displayRect() const
-    {
-        QRect displayRect = rect();
-
-        if (m_aspectRatioMode == Qt::KeepAspectRatio) {
-            QSize size = m_nativeSize;
-            size.scale(displayRect.size(), Qt::KeepAspectRatio);
-
-            displayRect = QRect(QPoint(0, 0), size);
-            displayRect.moveCenter(rect().center());
-        }
-        return displayRect;
-    }
-
-    CVOpenGLTextureRef m_texRef;
-    QSize m_nativeSize;
-    Qt::AspectRatioMode m_aspectRatioMode;
-};
-
-QT7MovieVideoWidget::QT7MovieVideoWidget(QObject *parent)
-   :QT7VideoWidgetControl(parent),
-    m_movie(0),
-    m_videoWidget(0),
-    m_fullscreen(false),
-    m_aspectRatioMode(Qt::KeepAspectRatio),
-    m_brightness(0),
-    m_contrast(0),
-    m_hue(0),
-    m_saturation(0)
-{
-#ifdef QT_DEBUG_QT7
-    qDebug() << "QT7MovieVideoWidget";
-#endif
-
-    QGLFormat format = QGLFormat::defaultFormat();
-    format.setSwapInterval(1); // Vertical sync (avoid tearing)
-    m_videoWidget = new GLVideoWidget(0, format);
-
-    m_displayLink = new QCvDisplayLink(this);
-
-    connect(m_displayLink, SIGNAL(tick(CVTimeStamp)), SLOT(updateVideoFrame(CVTimeStamp)));
-
-    if (!createVisualContext()) {
-        qWarning() << "QT7MovieVideoWidget: failed to create visual context";
-    }
-}
-
-bool QT7MovieVideoWidget::createVisualContext()
-{
-#ifdef QUICKTIME_C_API_AVAILABLE
-    m_videoWidget->makeCurrent();
-
-    AutoReleasePool pool;
-    CGLContextObj cglContext = CGLGetCurrentContext();
-    NSOpenGLPixelFormat *nsglPixelFormat = [NSOpenGLView defaultPixelFormat];
-    CGLPixelFormatObj cglPixelFormat = static_cast<CGLPixelFormatObj>([nsglPixelFormat CGLPixelFormatObj]);
-
-    CFTypeRef keys[] = { kQTVisualContextOutputColorSpaceKey };
-    CGColorSpaceRef colorSpace = NULL;
-    CMProfileRef sysprof = NULL;
-
-    // Get the Systems Profile for the main display
-    if (CMGetSystemProfile(&sysprof) == noErr) {
-        // Create a colorspace with the systems profile
-        colorSpace = CGColorSpaceCreateWithPlatformColorSpace(sysprof);
-        CMCloseProfile(sysprof);
-    }
-
-    if (!colorSpace)
-        colorSpace = CGColorSpaceCreateDeviceRGB();
-
-    CFDictionaryRef textureContextAttributes = CFDictionaryCreate(kCFAllocatorDefault,
-                                                                  (const void **)keys,
-                                                                  (const void **)&colorSpace, 1,
-                                                                  &kCFTypeDictionaryKeyCallBacks,
-                                                                  &kCFTypeDictionaryValueCallBacks);
-
-    OSStatus err = QTOpenGLTextureContextCreate(kCFAllocatorDefault,
-                                                cglContext,
-                                                cglPixelFormat,
-                                                textureContextAttributes,
-                                                &m_visualContext);
-    if (err != noErr)
-        qWarning() << "Could not create visual context (OpenGL)";
-
-
-    return (err == noErr);
-#endif // QUICKTIME_C_API_AVAILABLE
-
-    return false;
-}
-
-QT7MovieVideoWidget::~QT7MovieVideoWidget()
-{
-    m_displayLink->stop();
-    [(QTMovie*)m_movie release];
-    delete m_videoWidget;
-}
-
-QWidget *QT7MovieVideoWidget::videoWidget()
-{
-    return m_videoWidget;
-}
-
-void QT7MovieVideoWidget::setupVideoOutput()
-{
-    AutoReleasePool pool;
-
-#ifdef QT_DEBUG_QT7
-    qDebug() << "QT7MovieVideoWidget::setupVideoOutput" << m_movie;
-#endif
-
-    if (m_movie == 0) {
-        m_displayLink->stop();
-        return;
-    }
-
-    NSSize size = [[(QTMovie*)m_movie attributeForKey:@"QTMovieNaturalSizeAttribute"] sizeValue];
-    m_nativeSize = QSize(size.width, size.height);
-    m_videoWidget->setNativeSize(m_nativeSize);
-
-#ifdef QUICKTIME_C_API_AVAILABLE
-    // targets a Movie to render into a visual context
-    SetMovieVisualContext([(QTMovie*)m_movie quickTimeMovie], m_visualContext);
-#endif
-
-    m_displayLink->start();
-}
-
-void QT7MovieVideoWidget::setMovie(void *movie)
-{
-    if (m_movie == movie)
-        return;
-
-    if (m_movie) {
-#ifdef QUICKTIME_C_API_AVAILABLE
-        SetMovieVisualContext([(QTMovie*)m_movie quickTimeMovie], nil);
-#endif
-        [(QTMovie*)m_movie release];
-    }
-
-    m_movie = movie;
-    [(QTMovie*)m_movie retain];
-
-    setupVideoOutput();
-}
-
-void QT7MovieVideoWidget::updateNaturalSize(const QSize &newSize)
-{
-    if (m_nativeSize != newSize) {
-        m_nativeSize = newSize;
-        setupVideoOutput();
-    }
-}
-
-bool QT7MovieVideoWidget::isFullScreen() const
-{
-    return m_fullscreen;
-}
-
-void QT7MovieVideoWidget::setFullScreen(bool fullScreen)
-{
-    m_fullscreen = fullScreen;
-}
-
-QSize QT7MovieVideoWidget::nativeSize() const
-{
-    return m_nativeSize;
-}
-
-Qt::AspectRatioMode QT7MovieVideoWidget::aspectRatioMode() const
-{
-    return m_aspectRatioMode;
-}
-
-void QT7MovieVideoWidget::setAspectRatioMode(Qt::AspectRatioMode mode)
-{
-    m_aspectRatioMode = mode;
-    m_videoWidget->setAspectRatioMode(mode);
-}
-
-int QT7MovieVideoWidget::brightness() const
-{
-    return m_brightness;
-}
-
-void QT7MovieVideoWidget::setBrightness(int brightness)
-{
-    m_brightness = brightness;
-    updateColors();
-}
-
-int QT7MovieVideoWidget::contrast() const
-{
-    return m_contrast;
-}
-
-void QT7MovieVideoWidget::setContrast(int contrast)
-{
-    m_contrast = contrast;
-    updateColors();
-}
-
-int QT7MovieVideoWidget::hue() const
-{
-    return m_hue;
-}
-
-void QT7MovieVideoWidget::setHue(int hue)
-{
-    m_hue = hue;
-    updateColors();
-}
-
-int QT7MovieVideoWidget::saturation() const
-{
-    return m_saturation;
-}
-
-void QT7MovieVideoWidget::setSaturation(int saturation)
-{
-    m_saturation = saturation;
-    updateColors();
-}
-
-void QT7MovieVideoWidget::updateColors()
-{
-#ifdef QUICKTIME_C_API_AVAILABLE
-    if (m_movie) {
-        QTMovie *movie = (QTMovie*)m_movie;
-
-        Float32 value;
-        value = m_brightness/100.0;
-        SetMovieVisualBrightness([movie quickTimeMovie], value, 0);
-        value = pow(2, m_contrast/50.0);
-        SetMovieVisualContrast([movie quickTimeMovie], value, 0);
-        value = m_hue/100.0;
-        SetMovieVisualHue([movie quickTimeMovie], value, 0);
-        value = 1.0+m_saturation/100.0;
-        SetMovieVisualSaturation([movie quickTimeMovie], value, 0);
-    }
-#endif
-}
-
-void QT7MovieVideoWidget::updateVideoFrame(const CVTimeStamp &ts)
-{
-#ifdef QUICKTIME_C_API_AVAILABLE
-    AutoReleasePool pool;
-    // check for new frame
-    if (m_visualContext && QTVisualContextIsNewImageAvailable(m_visualContext, &ts)) {
-        CVOpenGLTextureRef currentFrame = NULL;
-
-        // get a "frame" (image buffer) from the Visual Context, indexed by the provided time
-        OSStatus status = QTVisualContextCopyImageForTime(m_visualContext, NULL, &ts, &currentFrame);
-
-        // the above call may produce a null frame so check for this first
-        // if we have a frame, then draw it
-        if (status == noErr && currentFrame) {
-#ifdef QT_DEBUG_QT7
-            qDebug() << "render video frame";
-#endif
-            m_videoWidget->setCVTexture(currentFrame);
-            CVOpenGLTextureRelease(currentFrame);
-        }
-        QTVisualContextTask(m_visualContext);
-    }
-#else
-    Q_UNUSED(ts);
-#endif
-}
-
-#include "moc_qt7movievideowidget.cpp"
diff --git a/src/plugins/qt7/qt7movieviewoutput.h b/src/plugins/qt7/qt7movieviewoutput.h
deleted file mode 100644 (file)
index 874de1a..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL21$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 or version 3 as published by the Free
-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
-** following information to ensure the GNU Lesser General Public License
-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QT7MOVIEVIEWOUTPUT_H
-#define QT7MOVIEVIEWOUTPUT_H
-
-#include <QtCore/qobject.h>
-
-#include <qvideowindowcontrol.h>
-#include <qmediaplayer.h>
-
-#include "qt7videooutput.h"
-
-
-QT_BEGIN_NAMESPACE
-
-class QT7PlayerSession;
-class QT7PlayerService;
-
-class QT7MovieViewOutput : public QT7VideoWindowControl
-{
-public:
-    QT7MovieViewOutput(QObject *parent = 0);
-    ~QT7MovieViewOutput();
-
-    void setMovie(void *movie);
-    void updateNaturalSize(const QSize &newSize);
-
-    WId winId() const;
-    void setWinId(WId id);
-
-    QRect displayRect() const;
-    void setDisplayRect(const QRect &rect);
-
-    bool isFullScreen() const;
-    void setFullScreen(bool fullScreen);
-
-    void repaint();
-
-    QSize nativeSize() const;
-
-    Qt::AspectRatioMode aspectRatioMode() const;
-    void setAspectRatioMode(Qt::AspectRatioMode mode);
-
-    int brightness() const;
-    void setBrightness(int brightness);
-
-    int contrast() const;
-    void setContrast(int contrast);
-
-    int hue() const;
-    void setHue(int hue);
-
-    int saturation() const;
-    void setSaturation(int saturation);
-
-private:
-    void setupVideoOutput();
-
-    void *m_movie;
-    void *m_movieView;
-    bool m_layouted;
-
-    WId m_winId;
-    QRect m_displayRect;
-    bool m_fullscreen;
-    QSize m_nativeSize;
-    Qt::AspectRatioMode m_aspectRatioMode;
-    int m_brightness;
-    int m_contrast;
-    int m_hue;
-    int m_saturation;
-};
-
-QT_END_NAMESPACE
-
-#endif
diff --git a/src/plugins/qt7/qt7movieviewoutput.mm b/src/plugins/qt7/qt7movieviewoutput.mm
deleted file mode 100644 (file)
index 4fcf01d..0000000
+++ /dev/null
@@ -1,339 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia 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.
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#import <QTKit/QTKit.h>
-
-#include "qt7backend.h"
-
-#include "qt7playercontrol.h"
-#include "qt7movieviewoutput.h"
-#include "qt7playersession.h"
-#include <QtCore/qdebug.h>
-
-#include <QuartzCore/CIFilter.h>
-#include <QuartzCore/CIVector.h>
-
-QT_USE_NAMESPACE
-
-#define VIDEO_TRANSPARENT(m) -(void)m:(NSEvent *)e{[[self superview] m:e];}
-
-@interface TransparentQTMovieView : QTMovieView
-{
-@private
-    QRect *m_drawRect;
-    qreal m_brightness, m_contrast, m_saturation, m_hue;
-}
-
-- (TransparentQTMovieView *) init;
-- (void) setDrawRect:(QRect &)rect;
-- (CIImage *) view:(QTMovieView *)view willDisplayImage:(CIImage *)img;
-- (void) setContrast:(qreal) contrast;
-@end
-
-@implementation TransparentQTMovieView
-
-- (TransparentQTMovieView *) init
-{
-    self = [super initWithFrame:NSZeroRect];
-    if (self) {
-        [self setControllerVisible:NO];
-        [self setContrast:1.0];
-        [self setDelegate:self];
-    }
-    return self;
-}
-
-- (void) dealloc
-{
-    [super dealloc];
-}
-
-- (void) setContrast:(qreal) contrast
-{
-    m_hue = 0.0;
-    m_brightness = 0.0;
-    m_contrast = contrast;
-    m_saturation = 1.0;
-}
-
-
-- (void) setDrawRect:(QRect &)rect
-{
-    *m_drawRect = rect;
-
-    NSRect nsrect;
-    nsrect.origin.x = m_drawRect->x();
-    nsrect.origin.y = m_drawRect->y();
-    nsrect.size.width = m_drawRect->width();
-    nsrect.size.height = m_drawRect->height();
-    [self setFrame:nsrect];
-}
-
-- (CIImage *) view:(QTMovieView *)view willDisplayImage:(CIImage *)img
-{
-    // This method is called from QTMovieView just
-    // before the image will be drawn.
-    Q_UNUSED(view);
-
-    if ( !qFuzzyCompare(m_brightness, 0.0) ||
-         !qFuzzyCompare(m_contrast, 1.0) ||
-         !qFuzzyCompare(m_saturation, 1.0)){
-        CIFilter *colorFilter = [CIFilter filterWithName:@"CIColorControls"];
-        [colorFilter setValue:[NSNumber numberWithFloat:m_brightness] forKey:@"inputBrightness"];
-        [colorFilter setValue:[NSNumber numberWithFloat:(m_contrast < 1) ? m_contrast : 1 + ((m_contrast-1)*3)] forKey:@"inputContrast"];
-        [colorFilter setValue:[NSNumber numberWithFloat:m_saturation] forKey:@"inputSaturation"];
-        [colorFilter setValue:img forKey:@"inputImage"];
-        img = [colorFilter valueForKey:@"outputImage"];
-    }
-
-    /*if (m_hue){
-        CIFilter *colorFilter = [CIFilter filterWithName:@"CIHueAdjust"];
-        [colorFilter setValue:[NSNumber numberWithFloat:(m_hue * 3.14)] forKey:@"inputAngle"];
-        [colorFilter setValue:img forKey:@"inputImage"];
-        img = [colorFilter valueForKey:@"outputImage"];
-    }*/
-
-    return img;
-}
-
-
-VIDEO_TRANSPARENT(mouseDown);
-VIDEO_TRANSPARENT(mouseDragged);
-VIDEO_TRANSPARENT(mouseUp);
-VIDEO_TRANSPARENT(mouseMoved);
-VIDEO_TRANSPARENT(mouseEntered);
-VIDEO_TRANSPARENT(mouseExited);
-VIDEO_TRANSPARENT(rightMouseDown);
-VIDEO_TRANSPARENT(rightMouseDragged);
-VIDEO_TRANSPARENT(rightMouseUp);
-VIDEO_TRANSPARENT(otherMouseDown);
-VIDEO_TRANSPARENT(otherMouseDragged);
-VIDEO_TRANSPARENT(otherMouseUp);
-VIDEO_TRANSPARENT(keyDown);
-VIDEO_TRANSPARENT(keyUp);
-VIDEO_TRANSPARENT(scrollWheel)
-
-@end
-
-
-QT7MovieViewOutput::QT7MovieViewOutput(QObject *parent)
-   :QT7VideoWindowControl(parent),
-    m_movie(0),
-    m_movieView(0),
-    m_layouted(false),
-    m_winId(0),
-    m_fullscreen(false),
-    m_aspectRatioMode(Qt::KeepAspectRatio),
-    m_brightness(0),
-    m_contrast(0),
-    m_hue(0),
-    m_saturation(0)
-{
-}
-
-QT7MovieViewOutput::~QT7MovieViewOutput()
-{
-    [(QTMovieView*)m_movieView release];
-    [(QTMovie*)m_movie release];
-}
-
-void QT7MovieViewOutput::setupVideoOutput()
-{
-    AutoReleasePool pool;
-
-#ifdef QT_DEBUG_QT7
-    qDebug() << "QT7MovieViewOutput::setupVideoOutput" << m_movie << m_winId;
-#endif
-    if (m_movie == 0 || m_winId <= 0)
-        return;
-
-    NSSize size = [[(QTMovie*)m_movie attributeForKey:@"QTMovieNaturalSizeAttribute"] sizeValue];
-    m_nativeSize = QSize(size.width, size.height);
-
-    if (!m_movieView)
-        m_movieView = [[TransparentQTMovieView alloc] init];
-
-    [(QTMovieView*)m_movieView setControllerVisible:NO];
-    [(QTMovieView*)m_movieView setMovie:(QTMovie*)m_movie];
-
-    [(NSView *)m_winId addSubview:(QTMovieView*)m_movieView];
-    m_layouted = true;
-
-    setDisplayRect(m_displayRect);
-}
-
-void QT7MovieViewOutput::setMovie(void *movie)
-{
-    if (m_movie != movie) {
-        if (m_movie) {
-            if (m_movieView)
-                [(QTMovieView*)m_movieView setMovie:nil];
-
-            [(QTMovie*)m_movie release];
-        }
-
-        m_movie = movie;
-
-        if (m_movie)
-            [(QTMovie*)m_movie retain];
-
-        setupVideoOutput();
-    }
-}
-
-void QT7MovieViewOutput::updateNaturalSize(const QSize &newSize)
-{
-    if (m_nativeSize != newSize) {
-        m_nativeSize = newSize;
-        Q_EMIT nativeSizeChanged();
-    }
-}
-
-WId QT7MovieViewOutput::winId() const
-{
-    return m_winId;
-}
-
-void QT7MovieViewOutput::setWinId(WId id)
-{
-    if (m_winId != id) {
-        if (m_movieView && m_layouted) {
-            [(QTMovieView*)m_movieView removeFromSuperview];
-            m_layouted = false;
-        }
-
-        m_winId = id;
-        setupVideoOutput();
-    }
-}
-
-QRect QT7MovieViewOutput::displayRect() const
-{
-    return m_displayRect;
-}
-
-void QT7MovieViewOutput::setDisplayRect(const QRect &rect)
-{
-    m_displayRect = rect;
-
-    if (m_movieView) {
-        AutoReleasePool pool;
-        [(QTMovieView*)m_movieView setPreservesAspectRatio:(m_aspectRatioMode == Qt::KeepAspectRatio ? YES : NO)];
-        [(QTMovieView*)m_movieView setFrame:NSMakeRect(m_displayRect.x(),
-                                                       m_displayRect.y(),
-                                                       m_displayRect.width(),
-                                                       m_displayRect.height())];
-     }
-
-}
-
-bool QT7MovieViewOutput::isFullScreen() const
-{
-    return m_fullscreen;
-}
-
-void QT7MovieViewOutput::setFullScreen(bool fullScreen)
-{
-    m_fullscreen = fullScreen;
-    setDisplayRect(m_displayRect);
-}
-
-void QT7MovieViewOutput::repaint()
-{
-}
-
-QSize QT7MovieViewOutput::nativeSize() const
-{
-    return m_nativeSize;
-}
-
-Qt::AspectRatioMode QT7MovieViewOutput::aspectRatioMode() const
-{
-    return m_aspectRatioMode;
-}
-
-void QT7MovieViewOutput::setAspectRatioMode(Qt::AspectRatioMode mode)
-{
-    m_aspectRatioMode = mode;
-    setDisplayRect(m_displayRect);
-}
-
-int QT7MovieViewOutput::brightness() const
-{
-    return m_brightness;
-}
-
-void QT7MovieViewOutput::setBrightness(int brightness)
-{
-    m_brightness = brightness;
-}
-
-int QT7MovieViewOutput::contrast() const
-{
-    return m_contrast;
-}
-
-void QT7MovieViewOutput::setContrast(int contrast)
-{
-    m_contrast = contrast;
-    [(TransparentQTMovieView*)m_movieView setContrast:(contrast/100.0+1.0)];
-}
-
-int QT7MovieViewOutput::hue() const
-{
-    return m_hue;
-}
-
-void QT7MovieViewOutput::setHue(int hue)
-{
-    m_hue = hue;
-}
-
-int QT7MovieViewOutput::saturation() const
-{
-    return m_saturation;
-}
-
-void QT7MovieViewOutput::setSaturation(int saturation)
-{
-    m_saturation = saturation;
-}
-
diff --git a/src/plugins/qt7/qt7movieviewrenderer.h b/src/plugins/qt7/qt7movieviewrenderer.h
deleted file mode 100644 (file)
index 2416fe7..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL21$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 or version 3 as published by the Free
-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
-** following information to ensure the GNU Lesser General Public License
-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QT7MOVIEVIEWRENDERER_H
-#define QT7MOVIEVIEWRENDERER_H
-
-#include <QtCore/qobject.h>
-#include <QtCore/qmutex.h>
-
-#include <qvideowindowcontrol.h>
-#include <qmediaplayer.h>
-
-#include "qt7videooutput.h"
-#include <qvideoframe.h>
-
-#include <QuartzCore/CIContext.h>
-
-QT_BEGIN_NAMESPACE
-
-class QVideoFrame;
-
-class QT7PlayerSession;
-class QT7PlayerService;
-class QGLWidget;
-class QGLFramebufferObject;
-class QWindow;
-class QOpenGLContext;
-
-class QT7MovieViewRenderer : public QT7VideoRendererControl
-{
-public:
-    QT7MovieViewRenderer(QObject *parent = 0);
-    ~QT7MovieViewRenderer();
-
-    void setMovie(void *movie);
-    void updateNaturalSize(const QSize &newSize);
-
-    QAbstractVideoSurface *surface() const;
-    void setSurface(QAbstractVideoSurface *surface);
-
-    void renderFrame(const QVideoFrame &);
-
-protected:
-    bool event(QEvent *event);
-
-private:
-    void setupVideoOutput();
-    QVideoFrame convertCIImageToGLTexture(const QVideoFrame &frame);
-
-    void *m_movie;
-    void *m_movieView;
-    QSize m_nativeSize;
-    QAbstractVideoSurface *m_surface;
-    QVideoFrame m_currentFrame;
-    QWindow *m_window;
-    QOpenGLContext *m_context;
-    QGLFramebufferObject *m_fbo;
-    CIContext *m_ciContext;
-
-    bool m_pendingRenderEvent;
-    QMutex m_mutex;
-};
-
-QT_END_NAMESPACE
-
-#endif
diff --git a/src/plugins/qt7/qt7movieviewrenderer.mm b/src/plugins/qt7/qt7movieviewrenderer.mm
deleted file mode 100644 (file)
index a590315..0000000
+++ /dev/null
@@ -1,509 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia 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.
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#import <QTKit/QTKit.h>
-
-#include "qt7backend.h"
-
-#include "qt7playercontrol.h"
-#include "qt7movieviewrenderer.h"
-#include "qt7playersession.h"
-#include "qt7ciimagevideobuffer.h"
-#include <QtCore/qdebug.h>
-#include <QtCore/qcoreevent.h>
-#include <QtCore/qcoreapplication.h>
-#include <QtGui/qwindow.h>
-#include <QtGui/qopenglcontext.h>
-#include <QtOpenGL/qgl.h>
-#include <QtOpenGL/qglframebufferobject.h>
-
-#include <QtCore/qreadwritelock.h>
-
-#include <qabstractvideobuffer.h>
-#include <qabstractvideosurface.h>
-#include <qvideosurfaceformat.h>
-
-#include <QuartzCore/CIFilter.h>
-#include <QuartzCore/CIVector.h>
-
-QT_USE_NAMESPACE
-
-class NSBitmapVideoBuffer : public QAbstractVideoBuffer
-{
-public:
-    NSBitmapVideoBuffer(NSBitmapImageRep *buffer)
-        : QAbstractVideoBuffer(NoHandle)
-        , m_buffer(buffer)
-        , m_mode(NotMapped)
-    {
-        [m_buffer retain];
-    }
-
-    virtual ~NSBitmapVideoBuffer()
-    {
-        [m_buffer release];
-    }
-
-    MapMode mapMode() const { return m_mode; }
-
-    uchar *map(MapMode mode, int *numBytes, int *bytesPerLine)
-    {
-        if (mode != NotMapped && m_mode == NotMapped) {
-            if (numBytes)
-                *numBytes = [m_buffer bytesPerPlane];
-
-            if (bytesPerLine)
-                *bytesPerLine = [m_buffer bytesPerRow];
-
-            m_mode = mode;
-
-            return [m_buffer bitmapData];
-        } else {
-            return 0;
-        }
-    }
-
-    void unmap() { m_mode = NotMapped; }
-
-private:
-    NSBitmapImageRep *m_buffer;
-    MapMode m_mode;
-};
-
-class TextureVideoBuffer : public QAbstractVideoBuffer
-{
-public:
-    TextureVideoBuffer(GLuint textureId)
-        : QAbstractVideoBuffer(GLTextureHandle)
-        , m_textureId(textureId)
-    {}
-
-    virtual ~TextureVideoBuffer() {}
-
-    MapMode mapMode() const { return NotMapped; }
-    uchar *map(MapMode, int*, int*) { return 0; }
-    void unmap() {}
-
-    QVariant handle() const
-    {
-        return QVariant::fromValue<unsigned int>(m_textureId);
-    }
-
-private:
-    GLuint m_textureId;
-};
-
-
-#define VIDEO_TRANSPARENT(m) -(void)m:(NSEvent *)e{[[self superview] m:e];}
-
-@interface HiddenQTMovieView : QTMovieView
-{
-@private
-    QWindow *m_window;
-    QT7MovieViewRenderer *m_renderer;
-    QReadWriteLock m_rendererLock;
-}
-
-- (HiddenQTMovieView *) initWithRenderer:(QT7MovieViewRenderer *)renderer;
-- (void) setRenderer:(QT7MovieViewRenderer *)renderer;
-- (void) setDrawRect:(const QRect &)rect;
-- (CIImage *) view:(QTMovieView *)view willDisplayImage:(CIImage *)img;
-@end
-
-@implementation HiddenQTMovieView
-
-- (HiddenQTMovieView *) initWithRenderer:(QT7MovieViewRenderer *)renderer
-{
-    self = [super initWithFrame:NSZeroRect];
-    if (self) {
-        [self setControllerVisible:NO];
-        [self setDelegate:self];
-
-        QWriteLocker lock(&self->m_rendererLock);
-        self->m_renderer = renderer;
-
-        self->m_window = new QWindow;
-        self->m_window->setOpacity(0.0);
-        self->m_window->setGeometry(0,0,1,1);
-        self->m_window->create();
-
-        [(NSView *)(self->m_window->winId()) addSubview:self];
-        [self setDrawRect:QRect(0,0,1,1)];
-    }
-    return self;
-}
-
-- (void) dealloc
-{
-    self->m_window->deleteLater();
-    [super dealloc];
-}
-
-- (void) setRenderer:(QT7MovieViewRenderer *)renderer
-{
-    QWriteLocker lock(&m_rendererLock);
-    m_renderer = renderer;
-}
-
-- (void) setDrawRect:(const QRect &)rect
-{
-    NSRect nsrect;
-    nsrect.origin.x = rect.x();
-    nsrect.origin.y = rect.y();
-    nsrect.size.width = rect.width();
-    nsrect.size.height = rect.height();
-    [self setFrame:nsrect];
-}
-
-- (CIImage *) view:(QTMovieView *)view willDisplayImage:(CIImage *)img
-{
-    // This method is called from QTMovieView just
-    // before the image will be drawn.
-    Q_UNUSED(view);
-    QReadLocker lock(&m_rendererLock);
-    AutoReleasePool pool;
-
-    if (m_renderer) {
-        CGRect bounds = [img extent];
-        int w = bounds.size.width;
-        int h = bounds.size.height;
-
-        QVideoFrame frame;
-
-        QAbstractVideoSurface *surface = m_renderer->surface();
-        if (!surface || !surface->isActive())
-            return img;
-
-        if (surface->surfaceFormat().handleType() == QAbstractVideoBuffer::CoreImageHandle ||
-            surface->surfaceFormat().handleType() == QAbstractVideoBuffer::GLTextureHandle) {
-            //surface supports rendering of opengl based CIImage
-            frame = QVideoFrame(new QT7CIImageVideoBuffer(img), QSize(w,h), QVideoFrame::Format_RGB32 );
-        } else {
-            //Swap R and B colors
-            CIFilter *colorSwapFilter = [CIFilter filterWithName: @"CIColorMatrix"  keysAndValues:
-                                         @"inputImage", img,
-                                         @"inputRVector", [CIVector vectorWithX: 0  Y: 0  Z: 1  W: 0],
-                                         @"inputGVector", [CIVector vectorWithX: 0  Y: 1  Z: 0  W: 0],
-                                         @"inputBVector", [CIVector vectorWithX: 1  Y: 0  Z: 0  W: 0],
-                                         @"inputAVector", [CIVector vectorWithX: 0  Y: 0  Z: 0  W: 1],
-                                         @"inputBiasVector", [CIVector vectorWithX: 0  Y: 0  Z: 0  W: 0],
-                                         nil];
-            CIImage *img = [colorSwapFilter valueForKey: @"outputImage"];
-            NSBitmapImageRep *bitmap =[[NSBitmapImageRep alloc] initWithCIImage:img];
-            //requesting the bitmap data is slow,
-            //but it's better to do it here to avoid blocking the main thread for a long.
-            [bitmap bitmapData];
-            frame = QVideoFrame(new NSBitmapVideoBuffer(bitmap), QSize(w,h), QVideoFrame::Format_RGB32 );
-            [bitmap release];
-        }
-
-        m_renderer->renderFrame(frame);
-    }
-
-    return img;
-}
-
-// Override this method so that the movie doesn't stop if
-// the window becomes invisible
-- (void)viewWillMoveToWindow:(NSWindow *)newWindow
-{
-    Q_UNUSED(newWindow);
-}
-
-
-VIDEO_TRANSPARENT(mouseDown);
-VIDEO_TRANSPARENT(mouseDragged);
-VIDEO_TRANSPARENT(mouseUp);
-VIDEO_TRANSPARENT(mouseMoved);
-VIDEO_TRANSPARENT(mouseEntered);
-VIDEO_TRANSPARENT(mouseExited);
-VIDEO_TRANSPARENT(rightMouseDown);
-VIDEO_TRANSPARENT(rightMouseDragged);
-VIDEO_TRANSPARENT(rightMouseUp);
-VIDEO_TRANSPARENT(otherMouseDown);
-VIDEO_TRANSPARENT(otherMouseDragged);
-VIDEO_TRANSPARENT(otherMouseUp);
-VIDEO_TRANSPARENT(keyDown);
-VIDEO_TRANSPARENT(keyUp);
-VIDEO_TRANSPARENT(scrollWheel)
-
-@end
-
-
-QT7MovieViewRenderer::QT7MovieViewRenderer(QObject *parent)
-   :QT7VideoRendererControl(parent),
-    m_movie(0),
-    m_movieView(0),
-    m_surface(0),
-    m_window(0),
-    m_context(0),
-    m_fbo(0),
-    m_ciContext(0),
-    m_pendingRenderEvent(false)
-{
-}
-
-QT7MovieViewRenderer::~QT7MovieViewRenderer()
-{
-    [(HiddenQTMovieView*)m_movieView setRenderer:0];
-
-    QMutexLocker locker(&m_mutex);
-    m_currentFrame = QVideoFrame();
-    [(HiddenQTMovieView*)m_movieView release];
-    [m_ciContext release];
-    delete m_fbo;
-    delete m_window;
-}
-
-void QT7MovieViewRenderer::setupVideoOutput()
-{
-    AutoReleasePool pool;
-
-#ifdef QT_DEBUG_QT7
-    qDebug() << "QT7MovieViewRenderer::setupVideoOutput" << m_movie << m_surface;
-#endif
-
-    HiddenQTMovieView *movieView = (HiddenQTMovieView*)m_movieView;
-
-    if (movieView && !m_movie) {
-        [movieView setMovie:nil];
-    }
-
-    if (m_movie) {
-        NSSize size = [[(QTMovie*)m_movie attributeForKey:@"QTMovieNaturalSizeAttribute"] sizeValue];
-
-        m_nativeSize = QSize(size.width, size.height);
-
-        if (!movieView) {
-            movieView = [[HiddenQTMovieView alloc] initWithRenderer:this];
-            m_movieView = movieView;
-            [movieView setControllerVisible:NO];
-        }
-
-        [movieView setMovie:(QTMovie*)m_movie];
-        [movieView setDrawRect:QRect(QPoint(0,0), m_nativeSize)];
-    } else {
-        m_nativeSize = QSize();
-    }
-
-    if (m_surface && !m_nativeSize.isEmpty()) {
-        bool coreImageFrameSupported = !m_surface->supportedPixelFormats(QAbstractVideoBuffer::CoreImageHandle).isEmpty();
-        bool glTextureSupported = !m_surface->supportedPixelFormats(QAbstractVideoBuffer::GLTextureHandle).isEmpty();
-
-        QAbstractVideoBuffer::HandleType handleType = QAbstractVideoBuffer::NoHandle;
-        QVideoFrame::PixelFormat pixelFormat = QVideoFrame::Format_RGB32;
-
-        if (coreImageFrameSupported) {
-            handleType = QAbstractVideoBuffer::CoreImageHandle;
-        } else if (glTextureSupported) {
-            handleType = QAbstractVideoBuffer::GLTextureHandle;
-            pixelFormat = QVideoFrame::Format_BGR32;
-        }
-
-        QVideoSurfaceFormat format(m_nativeSize, pixelFormat, handleType);
-
-        if (m_surface->isActive() && m_surface->surfaceFormat() != format) {
-#ifdef QT_DEBUG_QT7
-            qDebug() << "Surface format was changed, stop the surface.";
-#endif
-            m_surface->stop();
-        }
-
-        if (!m_surface->isActive()) {
-#ifdef QT_DEBUG_QT7
-            qDebug() << "Starting the surface with format" << format;
-#endif
-            if (!m_surface->start(format))
-                qWarning() << "failed to start video surface" << m_surface->error();
-        }
-    }
-}
-
-/*!
-    Render the CIImage based video frame to FBO and return the video frame with resulting texture
-*/
-QVideoFrame QT7MovieViewRenderer::convertCIImageToGLTexture(const QVideoFrame &frame)
-{
-    if (frame.handleType() != QAbstractVideoBuffer::CoreImageHandle)
-        return QVideoFrame();
-
-    if (!m_window) {
-        QOpenGLContext *qGlContext = 0;
-
-        if (m_surface)
-            qGlContext = qobject_cast<QOpenGLContext*>(m_surface->property("GLContext").value<QObject*>());
-
-        if (qGlContext) {
-            m_window = new QWindow();
-
-            QSurfaceFormat format(qGlContext->format());
-
-            m_context = new QOpenGLContext(m_window);
-            m_context->setShareContext(qGlContext);
-            m_context->setFormat(format);
-            m_context->create();
-
-            m_window->setFormat(format);
-            m_window->setGeometry(0, 0, 1, 1);
-            m_window->setSurfaceType(QWindow::OpenGLSurface);
-            m_window->create();
-        } else {
-            return QVideoFrame();
-        }
-    }
-
-    if (!m_context)
-        return QVideoFrame();
-
-    m_context->makeCurrent(m_window);
-
-    if (!m_fbo || m_fbo->size() != frame.size()) {
-        delete m_fbo;
-        m_fbo = new QGLFramebufferObject(frame.size());
-    }
-
-    CIImage *ciImg = (CIImage*)(frame.handle().value<void*>());
-    if (ciImg) {
-        AutoReleasePool pool;
-
-        QPainter p(m_fbo);
-        p.beginNativePainting();
-        CGLContextObj cglContext = CGLGetCurrentContext();
-        if (cglContext) {
-            if (!m_ciContext) {
-                NSOpenGLPixelFormat *nsglPixelFormat = [NSOpenGLView defaultPixelFormat];
-                CGLPixelFormatObj cglPixelFormat = static_cast<CGLPixelFormatObj>([nsglPixelFormat CGLPixelFormatObj]);
-
-                m_ciContext = [CIContext contextWithCGLContext:cglContext
-                                 pixelFormat:cglPixelFormat
-                                 colorSpace:nil
-                                 options:nil];
-
-                [m_ciContext retain];
-            }
-
-            QRect viewport = QRect(0, 0, frame.width(), frame.height());
-            CGRect sRect = CGRectMake(viewport.x(), viewport.y(), viewport.width(), viewport.height());
-            CGRect dRect = CGRectMake(viewport.x(), viewport.y(), viewport.width(), viewport.height());
-
-            [m_ciContext drawImage:ciImg inRect:dRect fromRect:sRect];
-        }
-
-        p.endNativePainting();
-
-        QAbstractVideoBuffer *buffer = new TextureVideoBuffer(m_fbo->texture());
-        return QVideoFrame(buffer, frame.size(), QVideoFrame::Format_BGR32);
-    }
-
-    return QVideoFrame();
-}
-
-void QT7MovieViewRenderer::setMovie(void *movie)
-{
-    if (movie == m_movie)
-        return;
-
-    QMutexLocker locker(&m_mutex);
-    m_movie = movie;
-    setupVideoOutput();
-}
-
-void QT7MovieViewRenderer::updateNaturalSize(const QSize &newSize)
-{
-    if (m_nativeSize != newSize) {
-        m_nativeSize = newSize;
-        setupVideoOutput();
-    }
-}
-
-QAbstractVideoSurface *QT7MovieViewRenderer::surface() const
-{
-    return m_surface;
-}
-
-void QT7MovieViewRenderer::setSurface(QAbstractVideoSurface *surface)
-{
-    if (surface == m_surface)
-        return;
-
-    QMutexLocker locker(&m_mutex);
-
-    if (m_surface && m_surface->isActive())
-        m_surface->stop();
-
-    m_surface = surface;
-    setupVideoOutput();
-}
-
-void QT7MovieViewRenderer::renderFrame(const QVideoFrame &frame)
-{
-    QMutexLocker locker(&m_mutex);
-    m_currentFrame = frame;
-
-    if (!m_pendingRenderEvent)
-        qApp->postEvent(this, new QEvent(QEvent::User), Qt::HighEventPriority);
-
-    m_pendingRenderEvent = true;
-}
-
-bool QT7MovieViewRenderer::event(QEvent *event)
-{
-    if (event->type() == QEvent::User) {
-        QMutexLocker locker(&m_mutex);
-        m_pendingRenderEvent = false;
-
-        if (m_surface->isActive()) {
-            //For GL texture frames, render in the main thread CIImage based buffers
-            //to FBO shared with video surface shared context
-            if (m_surface->surfaceFormat().handleType() == QAbstractVideoBuffer::GLTextureHandle) {
-                m_currentFrame = convertCIImageToGLTexture(m_currentFrame);
-                if (m_currentFrame.isValid())
-                    m_surface->present(m_currentFrame);
-            } else {
-                m_surface->present(m_currentFrame);
-            }
-        }
-
-        m_currentFrame = QVideoFrame();
-    }
-
-    return QT7VideoRendererControl::event(event);
-}
diff --git a/src/plugins/qt7/qt7serviceplugin.h b/src/plugins/qt7/qt7serviceplugin.h
deleted file mode 100644 (file)
index 2e04297..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL21$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 or version 3 as published by the Free
-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
-** following information to ensure the GNU Lesser General Public License
-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-
-#ifndef QT7SERVICEPLUGIN_H
-#define QT7SERVICEPLUGIN_H
-
-#include <qmediaserviceproviderplugin.h>
-
-QT_BEGIN_NAMESPACE
-
-class QT7ServicePlugin
-    : public QMediaServiceProviderPlugin
-    , public QMediaServiceSupportedFormatsInterface
-    , public QMediaServiceFeaturesInterface
-{
-    Q_OBJECT
-    Q_INTERFACES(QMediaServiceFeaturesInterface)
-    Q_PLUGIN_METADATA(IID "org.qt-project.qt.mediaserviceproviderfactory/5.0" FILE "qt7.json")
-
-public:
-    QT7ServicePlugin();
-
-    QMediaService* create(QString const& key);
-    void release(QMediaService *service);
-
-    QMediaServiceProviderHint::Features supportedFeatures(const QByteArray &service) const;
-    QMultimedia::SupportEstimate hasSupport(const QString &mimeType, const QStringList& codecs) const;
-    QStringList supportedMimeTypes() const;
-
-private:
-    void buildSupportedTypes();
-
-    QStringList m_supportedMimeTypes;
-};
-
-QT_END_NAMESPACE
-
-#endif // QGSTREAMERSERVICEPLUGIN_H
diff --git a/src/plugins/qt7/qt7serviceplugin.mm b/src/plugins/qt7/qt7serviceplugin.mm
deleted file mode 100644 (file)
index 731f278..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia 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.
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#import <Foundation/Foundation.h>
-#import <QTKit/QTKit.h>
-
-#include <QtCore/qstring.h>
-#include <QtCore/qdebug.h>
-
-#include "qt7backend.h"
-#include "qt7serviceplugin.h"
-#include "qt7playerservice.h"
-
-#include <qmediaserviceproviderplugin.h>
-
-QT_BEGIN_NAMESPACE
-
-
-QT7ServicePlugin::QT7ServicePlugin()
-{
-    buildSupportedTypes();
-}
-
-QMediaService* QT7ServicePlugin::create(QString const& key)
-{
-#ifdef QT_DEBUG_QT7
-    qDebug() << "QT7ServicePlugin::create" << key;
-#endif
-#ifdef QMEDIA_QT7_PLAYER
-    if (key == QLatin1String(Q_MEDIASERVICE_MEDIAPLAYER))
-        return new QT7PlayerService;
-#endif
-    qWarning() << "unsupported key:" << key;
-
-    return 0;
-}
-
-void QT7ServicePlugin::release(QMediaService *service)
-{
-    delete service;
-}
-
-QMediaServiceProviderHint::Features QT7ServicePlugin::supportedFeatures(
-        const QByteArray &service) const
-{
-    if (service == Q_MEDIASERVICE_MEDIAPLAYER)
-        return QMediaServiceProviderHint::VideoSurface;
-    else
-        return QMediaServiceProviderHint::Features();
-}
-
-QMultimedia::SupportEstimate QT7ServicePlugin::hasSupport(const QString &mimeType, const QStringList& codecs) const
-{
-    Q_UNUSED(codecs);
-
-    if (m_supportedMimeTypes.contains(mimeType))
-        return QMultimedia::ProbablySupported;
-
-    return QMultimedia::MaybeSupported;
-}
-
-QStringList QT7ServicePlugin::supportedMimeTypes() const
-{
-    return m_supportedMimeTypes;
-}
-
-void QT7ServicePlugin::buildSupportedTypes()
-{
-    AutoReleasePool pool;
-    NSArray *utis = [QTMovie movieTypesWithOptions:QTIncludeCommonTypes];
-    for (NSString *uti in utis) {
-        NSString* mimeType = (NSString*)UTTypeCopyPreferredTagWithClass((CFStringRef)uti, kUTTagClassMIMEType);
-        if (mimeType != 0) {
-            m_supportedMimeTypes.append(QString::fromUtf8([mimeType UTF8String]));
-            [mimeType release];
-        }
-    }
-}
-
-QT_END_NAMESPACE
diff --git a/src/plugins/qt7/qt7videooutput.h b/src/plugins/qt7/qt7videooutput.h
deleted file mode 100644 (file)
index 86fc273..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL21$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 or version 3 as published by the Free
-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
-** following information to ensure the GNU Lesser General Public License
-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QT7VIDEOOUTPUTCONTROL_H
-#define QT7VIDEOOUTPUTCONTROL_H
-
-#include <QtCore/qobject.h>
-#include <QtCore/qsize.h>
-
-#include <qvideowindowcontrol.h>
-#ifndef QT_NO_WIDGETS
-#include <qvideowidgetcontrol.h>
-#endif
-#include <qvideorenderercontrol.h>
-#include <qmediaplayer.h>
-
-QT_BEGIN_NAMESPACE
-
-class QMediaPlaylist;
-class QMediaPlaylistNavigator;
-class QT7PlayerSession;
-class QT7PlayerService;
-
-
-class QT7VideoOutput {
-public:
-    virtual ~QT7VideoOutput() {}
-    virtual void setMovie(void *movie) = 0;
-    virtual void updateNaturalSize(const QSize &newSize) = 0;
-};
-
-#define QT7VideoOutput_iid \
-    "org.qt-project.qt.QT7VideoOutput/5.0"
-Q_DECLARE_INTERFACE(QT7VideoOutput, QT7VideoOutput_iid)
-
-class QT7VideoWindowControl : public QVideoWindowControl, public QT7VideoOutput
-{
-Q_OBJECT
-Q_INTERFACES(QT7VideoOutput)
-public:
-    virtual ~QT7VideoWindowControl() {}
-
-protected:
-    QT7VideoWindowControl(QObject *parent)
-        :QVideoWindowControl(parent)
-    {}
-};
-
-class QT7VideoRendererControl : public QVideoRendererControl, public QT7VideoOutput
-{
-Q_OBJECT
-Q_INTERFACES(QT7VideoOutput)
-public:
-    virtual ~QT7VideoRendererControl() {}
-
-protected:
-    QT7VideoRendererControl(QObject *parent)
-        :QVideoRendererControl(parent)
-    {}
-};
-
-#ifndef QT_NO_WIDGETS
-class QT7VideoWidgetControl : public QVideoWidgetControl, public QT7VideoOutput
-{
-Q_OBJECT
-Q_INTERFACES(QT7VideoOutput)
-public:
-    virtual ~QT7VideoWidgetControl() {}
-
-protected:
-    QT7VideoWidgetControl(QObject *parent)
-        :QVideoWidgetControl(parent)
-    {}
-};
-#endif
-
-QT_END_NAMESPACE
-
-#endif
diff --git a/src/plugins/qt7/qt7videooutput.mm b/src/plugins/qt7/qt7videooutput.mm
deleted file mode 100644 (file)
index 53486c4..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia 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.
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qt7playercontrol.h"
-#include "qt7playersession.h"
-#include <QtCore/qdebug.h>
-
-QT_USE_NAMESPACE
-
-/*
-QT7VideoOutputControl::QT7VideoOutputControl(QObject *parent)
-   :QVideoOutputControl(parent),
-    m_session(0),
-    m_output(QVideoOutputControl::NoOutput)
-{
-}
-
-QT7VideoOutputControl::~QT7VideoOutputControl()
-{
-}
-
-void QT7VideoOutputControl::setSession(QT7PlayerSession *session)
-{
-    m_session = session;
-}
-
-QList<QVideoOutputControl::Output> QT7VideoOutputControl::availableOutputs() const
-{
-    return m_outputs;
-}
-
-void QT7VideoOutputControl::enableOutput(QVideoOutputControl::Output output)
-{
-    if (!m_outputs.contains(output))
-        m_outputs.append(output);
-}
-
-QVideoOutputControl::Output QT7VideoOutputControl::output() const
-{
-    return m_output;
-}
-
-void QT7VideoOutputControl::setOutput(Output output)
-{
-    if (m_output != output) {
-        m_output = output;
-        Q_EMIT videoOutputChanged(m_output);
-    }
-}
-
-#include "moc_qt7videooutputcontrol.cpp"
-
-*/