summaryrefslogtreecommitdiffstats
path: root/src/multimedia
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2016-12-12 09:48:13 +0100
committerLiang Qi <liang.qi@qt.io>2016-12-12 10:27:59 +0100
commit533759ef333e4db8625cd02f763994788da01199 (patch)
treedcb4b4ec8882b42ce8213f4e309534dd8d234843 /src/multimedia
parent31ed506ea2c7a8be439d77e02ca0d67b6f9ce675 (diff)
parent7bc230386e0d8d6f3c4ad5a0a6a22a625c9a8327 (diff)
Merge remote-tracking branch 'origin/5.8' into dev
Conflicts: src/plugins/gstreamer/mediacapture/qgstreameraudioencode.cpp Change-Id: I7c30c2d13fdd07ee07e4449d5d3e256e988d3793
Diffstat (limited to 'src/multimedia')
-rw-r--r--src/multimedia/audio/audio.pri18
-rw-r--r--src/multimedia/audio/qaudio.h2
-rw-r--r--src/multimedia/audio/qaudiobuffer.h2
-rw-r--r--src/multimedia/audio/qaudiobuffer_p.h2
-rw-r--r--src/multimedia/audio/qaudiodevicefactory_p.h2
-rw-r--r--src/multimedia/audio/qaudiodeviceinfo.h2
-rw-r--r--src/multimedia/audio/qaudioformat.h2
-rw-r--r--src/multimedia/audio/qaudioinput.h2
-rw-r--r--src/multimedia/audio/qaudiooutput.h2
-rw-r--r--src/multimedia/audio/qaudiosystem.h2
-rw-r--r--src/multimedia/audio/qaudiosystemplugin.h2
-rw-r--r--src/multimedia/audio/qaudiosystempluginext_p.h2
-rw-r--r--src/multimedia/audio/qsound.h2
-rw-r--r--src/multimedia/audio/qsoundeffect.h2
-rw-r--r--src/multimedia/audio/qsoundeffect_pulse_p.cpp74
-rw-r--r--src/multimedia/audio/qsoundeffect_pulse_p.h1
-rw-r--r--src/multimedia/camera/qcamera.cpp10
-rw-r--r--src/multimedia/camera/qcameraviewfindersettings.h2
-rw-r--r--src/multimedia/configure.json314
-rw-r--r--src/multimedia/controls/qmediastreamscontrol.h2
-rw-r--r--src/multimedia/controls/qmetadatareadercontrol.h2
-rw-r--r--src/multimedia/controls/qmetadatawritercontrol.h2
-rw-r--r--src/multimedia/controls/qradiodatacontrol.cpp2
-rw-r--r--src/multimedia/controls/qradiotunercontrol.cpp2
-rw-r--r--src/multimedia/doc/src/blackberry.qdoc86
-rw-r--r--src/multimedia/doc/src/qtmultimedia-index.qdoc1
-rw-r--r--src/multimedia/gsttools_headers/qgstreamergltexturerenderer_p.h141
-rw-r--r--src/multimedia/multimedia.pro5
-rw-r--r--src/multimedia/playback/playlistfileparser_p.h2
-rw-r--r--src/multimedia/playback/qmediacontent.h2
-rw-r--r--src/multimedia/playback/qmediaplayer.cpp20
-rw-r--r--src/multimedia/playback/qmediaplaylistioplugin_p.h2
-rw-r--r--src/multimedia/playback/qmediaresource.h2
-rw-r--r--src/multimedia/qmediacontrol.h2
-rw-r--r--src/multimedia/qmediacontrol_p.h2
-rw-r--r--src/multimedia/qmediametadata.cpp2
-rw-r--r--src/multimedia/qmediametadata.h2
-rw-r--r--src/multimedia/qmediaobject.h2
-rw-r--r--src/multimedia/qmediapluginloader_p.h2
-rw-r--r--src/multimedia/qmediaresourcepolicy_p.h2
-rw-r--r--src/multimedia/qmediaresourcepolicyplugin_p.h2
-rw-r--r--src/multimedia/qmediaresourceset_p.h2
-rw-r--r--src/multimedia/qmediaservice.h2
-rw-r--r--src/multimedia/qmediaserviceprovider_p.h2
-rw-r--r--src/multimedia/qmediaserviceproviderplugin.h2
-rw-r--r--src/multimedia/qmediastoragelocation_p.h2
-rw-r--r--src/multimedia/qmediatimerange.h2
-rw-r--r--src/multimedia/qmultimedia.h2
-rw-r--r--src/multimedia/qtmultimediaglobal.h59
-rw-r--r--src/multimedia/qtmultimediaglobal_p.h58
-rw-r--r--src/multimedia/recording/qmediaencodersettings.h2
-rw-r--r--src/multimedia/video/qabstractvideobuffer.h2
-rw-r--r--src/multimedia/video/qabstractvideobuffer_p.h2
-rw-r--r--src/multimedia/video/qvideooutputorientationhandler_p.h2
54 files changed, 495 insertions, 376 deletions
diff --git a/src/multimedia/audio/audio.pri b/src/multimedia/audio/audio.pri
index 4706fd23e..d6d74a316 100644
--- a/src/multimedia/audio/audio.pri
+++ b/src/multimedia/audio/audio.pri
@@ -40,20 +40,12 @@ SOURCES += \
audio/qaudiodecoder.cpp \
audio/qaudiohelpers.cpp
-unix:!mac {
- config_pulseaudio {
- CONFIG += link_pkgconfig
- PKGCONFIG_PRIVATE += libpulse
+qtConfig(pulseaudio) {
+ QMAKE_USE += pulseaudio
- DEFINES += QT_MULTIMEDIA_PULSEAUDIO
- PRIVATE_HEADERS += audio/qsoundeffect_pulse_p.h
- SOURCES += audio/qsoundeffect_pulse_p.cpp
- !maemo*:DEFINES += QTM_PULSEAUDIO_DEFAULTBUFFER
- } else {
- DEFINES += QT_MULTIMEDIA_QAUDIO
- PRIVATE_HEADERS += audio/qsoundeffect_qaudio_p.h
- SOURCES += audio/qsoundeffect_qaudio_p.cpp
- }
+ DEFINES += QT_MULTIMEDIA_PULSEAUDIO
+ PRIVATE_HEADERS += audio/qsoundeffect_pulse_p.h
+ SOURCES += audio/qsoundeffect_pulse_p.cpp
} else {
DEFINES += QT_MULTIMEDIA_QAUDIO
PRIVATE_HEADERS += audio/qsoundeffect_qaudio_p.h
diff --git a/src/multimedia/audio/qaudio.h b/src/multimedia/audio/qaudio.h
index 457a3b621..1c38e9f35 100644
--- a/src/multimedia/audio/qaudio.h
+++ b/src/multimedia/audio/qaudio.h
@@ -41,7 +41,7 @@
#ifndef QAUDIO_H
#define QAUDIO_H
-#include <QtMultimedia/qtmultimediadefs.h>
+#include <QtMultimedia/qtmultimediaglobal.h>
#include <QtMultimedia/qmultimedia.h>
#include <QtCore/qmetatype.h>
diff --git a/src/multimedia/audio/qaudiobuffer.h b/src/multimedia/audio/qaudiobuffer.h
index c45b56ed3..bed387462 100644
--- a/src/multimedia/audio/qaudiobuffer.h
+++ b/src/multimedia/audio/qaudiobuffer.h
@@ -42,7 +42,7 @@
#include <QtCore/qshareddata.h>
-#include <QtMultimedia/qtmultimediadefs.h>
+#include <QtMultimedia/qtmultimediaglobal.h>
#include <QtMultimedia/qmultimedia.h>
#include <QtMultimedia/qaudio.h>
diff --git a/src/multimedia/audio/qaudiobuffer_p.h b/src/multimedia/audio/qaudiobuffer_p.h
index 06233ca7c..e770989f2 100644
--- a/src/multimedia/audio/qaudiobuffer_p.h
+++ b/src/multimedia/audio/qaudiobuffer_p.h
@@ -51,7 +51,7 @@
// We mean it.
//
-#include <qtmultimediadefs.h>
+#include <qtmultimediaglobal.h>
#include <qmultimedia.h>
#include "qaudioformat.h"
diff --git a/src/multimedia/audio/qaudiodevicefactory_p.h b/src/multimedia/audio/qaudiodevicefactory_p.h
index 7ad5e4e78..238be46a7 100644
--- a/src/multimedia/audio/qaudiodevicefactory_p.h
+++ b/src/multimedia/audio/qaudiodevicefactory_p.h
@@ -54,7 +54,7 @@
#include <QtCore/qbytearray.h>
#include <QtCore/qlist.h>
-#include <qtmultimediadefs.h>
+#include <qtmultimediaglobal.h>
#include <qmultimedia.h>
#include "qaudiodeviceinfo.h"
diff --git a/src/multimedia/audio/qaudiodeviceinfo.h b/src/multimedia/audio/qaudiodeviceinfo.h
index 709e6830a..390458b39 100644
--- a/src/multimedia/audio/qaudiodeviceinfo.h
+++ b/src/multimedia/audio/qaudiodeviceinfo.h
@@ -47,7 +47,7 @@
#include <QtCore/qstringlist.h>
#include <QtCore/qlist.h>
-#include <QtMultimedia/qtmultimediadefs.h>
+#include <QtMultimedia/qtmultimediaglobal.h>
#include <QtMultimedia/qmultimedia.h>
#include <QtMultimedia/qaudio.h>
diff --git a/src/multimedia/audio/qaudioformat.h b/src/multimedia/audio/qaudioformat.h
index 2ae6d6aef..97779ea2c 100644
--- a/src/multimedia/audio/qaudioformat.h
+++ b/src/multimedia/audio/qaudioformat.h
@@ -44,7 +44,7 @@
#include <QtCore/qobject.h>
#include <QtCore/qshareddata.h>
-#include <QtMultimedia/qtmultimediadefs.h>
+#include <QtMultimedia/qtmultimediaglobal.h>
#include <QtMultimedia/qmultimedia.h>
QT_BEGIN_NAMESPACE
diff --git a/src/multimedia/audio/qaudioinput.h b/src/multimedia/audio/qaudioinput.h
index d1a58424e..5794276d2 100644
--- a/src/multimedia/audio/qaudioinput.h
+++ b/src/multimedia/audio/qaudioinput.h
@@ -43,7 +43,7 @@
#include <QtCore/qiodevice.h>
-#include <QtMultimedia/qtmultimediadefs.h>
+#include <QtMultimedia/qtmultimediaglobal.h>
#include <QtMultimedia/qmultimedia.h>
#include <QtMultimedia/qaudio.h>
diff --git a/src/multimedia/audio/qaudiooutput.h b/src/multimedia/audio/qaudiooutput.h
index fab562ae1..9f817271d 100644
--- a/src/multimedia/audio/qaudiooutput.h
+++ b/src/multimedia/audio/qaudiooutput.h
@@ -43,7 +43,7 @@
#include <QtCore/qiodevice.h>
-#include <QtMultimedia/qtmultimediadefs.h>
+#include <QtMultimedia/qtmultimediaglobal.h>
#include <QtMultimedia/qmultimedia.h>
#include <QtMultimedia/qaudio.h>
diff --git a/src/multimedia/audio/qaudiosystem.h b/src/multimedia/audio/qaudiosystem.h
index 1a927589d..dabf8df0b 100644
--- a/src/multimedia/audio/qaudiosystem.h
+++ b/src/multimedia/audio/qaudiosystem.h
@@ -40,7 +40,7 @@
#ifndef QAUDIOSYSTEM_H
#define QAUDIOSYSTEM_H
-#include <QtMultimedia/qtmultimediadefs.h>
+#include <QtMultimedia/qtmultimediaglobal.h>
#include <QtMultimedia/qmultimedia.h>
#include <QtMultimedia/qaudio.h>
diff --git a/src/multimedia/audio/qaudiosystemplugin.h b/src/multimedia/audio/qaudiosystemplugin.h
index b26b2a3b9..3368c9b98 100644
--- a/src/multimedia/audio/qaudiosystemplugin.h
+++ b/src/multimedia/audio/qaudiosystemplugin.h
@@ -44,7 +44,7 @@
#include <QtCore/qstring.h>
#include <QtCore/qplugin.h>
-#include <QtMultimedia/qtmultimediadefs.h>
+#include <QtMultimedia/qtmultimediaglobal.h>
#include <QtMultimedia/qmultimedia.h>
#include <QtMultimedia/qaudioformat.h>
diff --git a/src/multimedia/audio/qaudiosystempluginext_p.h b/src/multimedia/audio/qaudiosystempluginext_p.h
index 380bc5afa..6493b7f77 100644
--- a/src/multimedia/audio/qaudiosystempluginext_p.h
+++ b/src/multimedia/audio/qaudiosystempluginext_p.h
@@ -40,7 +40,7 @@
#ifndef QAUDIOSYSTEMPLUGINEXT_P_H
#define QAUDIOSYSTEMPLUGINEXT_P_H
-#include <QtMultimedia/qtmultimediadefs.h>
+#include <QtMultimedia/qtmultimediaglobal.h>
#include <QtMultimedia/qaudio.h>
#include <QtCore/qplugin.h>
diff --git a/src/multimedia/audio/qsound.h b/src/multimedia/audio/qsound.h
index f8d47676f..304019ced 100644
--- a/src/multimedia/audio/qsound.h
+++ b/src/multimedia/audio/qsound.h
@@ -40,7 +40,7 @@
#ifndef QSOUND_H
#define QSOUND_H
-#include <QtMultimedia/qtmultimediadefs.h>
+#include <QtMultimedia/qtmultimediaglobal.h>
#include <QtCore/qobject.h>
QT_BEGIN_NAMESPACE
diff --git a/src/multimedia/audio/qsoundeffect.h b/src/multimedia/audio/qsoundeffect.h
index f59c4d91d..7420d7b81 100644
--- a/src/multimedia/audio/qsoundeffect.h
+++ b/src/multimedia/audio/qsoundeffect.h
@@ -40,7 +40,7 @@
#ifndef QSOUNDEFFECT_H
#define QSOUNDEFFECT_H
-#include <QtMultimedia/qtmultimediadefs.h>
+#include <QtMultimedia/qtmultimediaglobal.h>
#include <QtCore/qobject.h>
#include <QtCore/qurl.h>
#include <QtCore/qstringlist.h>
diff --git a/src/multimedia/audio/qsoundeffect_pulse_p.cpp b/src/multimedia/audio/qsoundeffect_pulse_p.cpp
index fcf4fee35..2e2dfc2db 100644
--- a/src/multimedia/audio/qsoundeffect_pulse_p.cpp
+++ b/src/multimedia/audio/qsoundeffect_pulse_p.cpp
@@ -62,9 +62,6 @@
#include <unistd.h>
//#define QT_PA_DEBUG
-#ifndef QTM_PULSEAUDIO_DEFAULTBUFFER
-#define QT_PA_STREAM_BUFFER_SIZE_MAX (1024 * 64) //64KB is a trade-off for balancing control latency and uploading overhead
-#endif
QT_BEGIN_NAMESPACE
@@ -679,7 +676,6 @@ void QSoundEffectPrivate::sampleReady()
#ifdef QT_PA_DEBUG
qDebug() << this << "reuse existing pulsestream";
#endif
-#ifdef QTM_PULSEAUDIO_DEFAULTBUFFER
const pa_buffer_attr *bufferAttr = pa_stream_get_buffer_attr(m_pulseStream);
if (bufferAttr->prebuf > uint32_t(m_sample->data().size())) {
pa_buffer_attr newBufferAttr;
@@ -693,33 +689,6 @@ void QSoundEffectPrivate::sampleReady()
} else {
streamReady();
}
-#else
- const pa_buffer_attr *bufferAttr = pa_stream_get_buffer_attr(m_pulseStream);
- if (bufferAttr->tlength < m_sample->data().size() && bufferAttr->tlength < QT_PA_STREAM_BUFFER_SIZE_MAX) {
- pa_buffer_attr newBufferAttr;
- newBufferAttr.maxlength = -1;
- newBufferAttr.tlength = qMin(m_sample->data().size(), QT_PA_STREAM_BUFFER_SIZE_MAX);
- newBufferAttr.minreq = bufferAttr->tlength / 2;
- newBufferAttr.prebuf = -1;
- newBufferAttr.fragsize = -1;
- pa_operation *op = pa_stream_set_buffer_attr(m_pulseStream, &newBufferAttr, stream_reset_buffer_callback, m_ref->getRef());
- if (op)
- pa_operation_unref(op);
- else
- qWarning("QSoundEffect(pulseaudio): failed to adjust pre-buffer attribute");
- } else if (bufferAttr->prebuf > uint32_t(m_sample->data().size())) {
- pa_buffer_attr newBufferAttr;
- newBufferAttr = *bufferAttr;
- newBufferAttr.prebuf = m_sample->data().size();
- pa_operation *op = pa_stream_set_buffer_attr(m_pulseStream, &newBufferAttr, stream_adjust_prebuffer_callback, m_ref->getRef());
- if (op)
- pa_operation_unref(op);
- else
- qWarning("QSoundEffect(pulseaudio): failed to adjust pre-buffer attribute");
- } else {
- streamReady();
- }
-#endif
} else {
if (!pulseDaemon()->context() || pa_context_get_state(pulseDaemon()->context()) != PA_CONTEXT_READY) {
connect(pulseDaemon(), SIGNAL(contextReady()), SLOT(contextReady()));
@@ -963,17 +932,7 @@ void QSoundEffectPrivate::createPulseStream()
}
m_pulseStream = stream;
-#ifndef QTM_PULSEAUDIO_DEFAULTBUFFER
- pa_buffer_attr bufferAttr;
- bufferAttr.tlength = qMin(m_sample->data().size(), QT_PA_STREAM_BUFFER_SIZE_MAX);
- bufferAttr.maxlength = -1;
- bufferAttr.minreq = bufferAttr.tlength / 2;
- bufferAttr.prebuf = -1;
- bufferAttr.fragsize = -1;
- if (pa_stream_connect_playback(m_pulseStream, 0, &bufferAttr,
-#else
if (pa_stream_connect_playback(m_pulseStream, 0, 0,
-#endif
PA_STREAM_START_CORKED, 0, 0) < 0) {
qWarning("QSoundEffect(pulseaudio): Failed to connect stream, error = %s",
pa_strerror(pa_context_errno(pulseDaemon()->context())));
@@ -1048,39 +1007,6 @@ void QSoundEffectPrivate::stream_state_callback(pa_stream *s, void *userdata)
}
}
-void QSoundEffectPrivate::stream_reset_buffer_callback(pa_stream *s, int success, void *userdata)
-{
-#ifdef QT_PA_DEBUG
- qDebug() << "stream_reset_buffer_callback";
-#endif
- Q_UNUSED(s);
- QSoundEffectRef *ref = reinterpret_cast<QSoundEffectRef*>(userdata);
- QSoundEffectPrivate *self = ref->soundEffect();
- ref->release();
- if (!self)
- return;
-
- if (!success)
- qWarning("QSoundEffect(pulseaudio): failed to reset buffer attribute");
-#ifdef QT_PA_DEBUG
- qDebug() << self << "stream_reset_buffer_callback";
-#endif
- const pa_buffer_attr *bufferAttr = pa_stream_get_buffer_attr(self->m_pulseStream);
- self->m_pulseBufferSize = bufferAttr->tlength;
- if (bufferAttr->prebuf > uint32_t(self->m_sample->data().size())) {
- pa_buffer_attr newBufferAttr;
- newBufferAttr = *bufferAttr;
- newBufferAttr.prebuf = self->m_sample->data().size();
- pa_operation *op = pa_stream_set_buffer_attr(self->m_pulseStream, &newBufferAttr, stream_adjust_prebuffer_callback, userdata);
- if (op)
- pa_operation_unref(op);
- else
- qWarning("QSoundEffect(pulseaudio): failed to adjust pre-buffer attribute");
- } else {
- QMetaObject::invokeMethod(self, "streamReady", Qt::QueuedConnection);
- }
-}
-
void QSoundEffectPrivate::stream_adjust_prebuffer_callback(pa_stream *s, int success, void *userdata)
{
#ifdef QT_PA_DEBUG
diff --git a/src/multimedia/audio/qsoundeffect_pulse_p.h b/src/multimedia/audio/qsoundeffect_pulse_p.h
index 020aa031a..7be88c55a 100644
--- a/src/multimedia/audio/qsoundeffect_pulse_p.h
+++ b/src/multimedia/audio/qsoundeffect_pulse_p.h
@@ -148,7 +148,6 @@ private:
static void stream_flush_reload_callback(pa_stream *s, int success, void *userdata);
static void stream_write_done_callback(void *p);
static void stream_adjust_prebuffer_callback(pa_stream *s, int success, void *userdata);
- static void stream_reset_buffer_callback(pa_stream *s, int success, void *userdata);
pa_stream *m_pulseStream;
int m_sinkInputId;
diff --git a/src/multimedia/camera/qcamera.cpp b/src/multimedia/camera/qcamera.cpp
index 4c1c0a924..fd804316c 100644
--- a/src/multimedia/camera/qcamera.cpp
+++ b/src/multimedia/camera/qcamera.cpp
@@ -71,17 +71,15 @@ static void qRegisterCameraMetaTypes()
Q_CONSTRUCTOR_FUNCTION(qRegisterCameraMetaTypes)
-static bool qt_sizeLessThan(const QSize &s1, const QSize &s2)
+Q_DECL_CONSTEXPR static bool qt_sizeLessThan(const QSize &s1, const QSize &s2) Q_DECL_NOTHROW
{
return (s1.width() * s1.height()) < (s2.width() * s2.height());
}
-static bool qt_frameRateRangeLessThan(const QCamera::FrameRateRange &s1, const QCamera::FrameRateRange &s2)
+Q_DECL_CONSTEXPR static bool qt_frameRateRangeLessThan(const QCamera::FrameRateRange &s1, const QCamera::FrameRateRange &s2) Q_DECL_NOTHROW
{
- if (s1.maximumFrameRate == s2.maximumFrameRate)
- return s1.minimumFrameRate < s2.minimumFrameRate;
-
- return s1.maximumFrameRate < s2.maximumFrameRate;
+ return qFuzzyCompare(s1.maximumFrameRate, s2.maximumFrameRate) ? (s1.minimumFrameRate < s2.minimumFrameRate)
+ : (s1.maximumFrameRate < s2.maximumFrameRate);
}
/*!
diff --git a/src/multimedia/camera/qcameraviewfindersettings.h b/src/multimedia/camera/qcameraviewfindersettings.h
index df544dd8f..432bdcf1f 100644
--- a/src/multimedia/camera/qcameraviewfindersettings.h
+++ b/src/multimedia/camera/qcameraviewfindersettings.h
@@ -40,7 +40,7 @@
#ifndef QCAMERAVIEWFINDERSETTINGS_H
#define QCAMERAVIEWFINDERSETTINGS_H
-#include <QtMultimedia/qtmultimediadefs.h>
+#include <QtMultimedia/qtmultimediaglobal.h>
#include <QtMultimedia/qvideoframe.h>
#include <QtCore/qshareddata.h>
diff --git a/src/multimedia/configure.json b/src/multimedia/configure.json
new file mode 100644
index 000000000..8fb2eb868
--- /dev/null
+++ b/src/multimedia/configure.json
@@ -0,0 +1,314 @@
+{
+ "module": "multimedia",
+ "depends": [
+ "gui"
+ ],
+ "testDir": "../../config.tests",
+
+ "commandline": {
+ "options": {
+ "alsa": "boolean",
+ "gstreamer": { "type": "optionalString", "values": [ "no", "yes", "0.10", "1.0" ] },
+ "pulseaudio": "boolean",
+ "wmf-backend": "boolean"
+ }
+ },
+
+ "libraries": {
+ "alsa": {
+ "label": "ALSA",
+ "test": "alsa",
+ "sources": [
+ "-lasound"
+ ]
+ },
+ "avfoundation": {
+ "label": "AVFoundation",
+ "test": "avfoundation",
+ "sources": [
+ { "libs": "-framework AVFoundation -framework Foundation" }
+ ]
+ },
+ "directshow": {
+ "label": "DirectShow",
+ "test": "directshow",
+ "sources": [
+ { "libs": "-lstrmiids -ldmoguids -luuid -lmsdmo -lole32 -loleaut32" }
+ ]
+ },
+ "gstreamer_0_10": {
+ "label": "GStreamer 0.10",
+ "export": "gstreamer",
+ "test": "gstreamer",
+ "sources": [
+ { "type": "pkgConfig",
+ "args": "gstreamer-0.10 gstreamer-base-0.10 gstreamer-audio-0.10 gstreamer-video-0.10 gstreamer-pbutils-0.10 gstreamer-interfaces-0.10" }
+ ]
+ },
+ "gstreamer_1_0": {
+ "label": "GStreamer 1.0",
+ "export": "gstreamer",
+ "test": "gstreamer",
+ "sources": [
+ { "type": "pkgConfig",
+ "args": "gstreamer-1.0 gstreamer-base-1.0 gstreamer-audio-1.0 gstreamer-video-1.0 gstreamer-pbutils-1.0" }
+ ]
+ },
+ "gstreamer_app_0_10": {
+ "label": "GStreamer App 0.10",
+ "export": "gstreamer_app",
+ "test": "gstreamer_appsrc",
+ "use": "gstreamer_0_10",
+ "sources": [
+ { "type": "pkgConfig", "args": "gstreamer-app-0.10" }
+ ]
+ },
+ "gstreamer_app_1_0": {
+ "label": "GStreamer App 1.0",
+ "export": "gstreamer_app",
+ "test": "gstreamer_appsrc",
+ "use": "gstreamer_1_0",
+ "sources": [
+ { "type": "pkgConfig", "args": "gstreamer-app-1.0" }
+ ]
+ },
+ "gstreamer_photography_0_10": {
+ "label": "GStreamer Photography 0.10",
+ "export": "gstreamer_photography",
+ "test": "gstreamer_photography",
+ "use": "gstreamer_0_10",
+ "sources": [
+ { "libs": "-lgstphotography-0.10" }
+ ]
+ },
+ "gstreamer_photography_1_0": {
+ "label": "GStreamer Photography 1.0",
+ "export": "gstreamer_photography",
+ "test": "gstreamer_photography",
+ "use": "gstreamer_1_0",
+ "sources": [
+ { "libs": "-lgstphotography-1.0" }
+ ]
+ },
+ "libresourceqt5": {
+ "label": "libresourceqt5",
+ "test": "resourcepolicy",
+ "sources": [
+ { "type": "pkgConfig", "args": "libresourceqt5" }
+ ]
+ },
+ "mmrenderer": {
+ "label": "MMRenderer",
+ "test": "mmrenderer",
+ "sources": [
+ { "libs": "-lmmrndclient -lstrm" }
+ ]
+ },
+ "openal": {
+ "label": "OpenAL",
+ "test": "openal",
+ "sources": [
+ { "type": "pkgConfig", "args": "openal" },
+ { "libs": "-lOpenAL32", "condition": "config.win32" },
+ { "libs": "-framework OpenAL", "condition": "config.darwin" },
+ { "libs": "-lopenal", "condition": "config.unix && !config.darwin" }
+ ]
+ },
+ "pulseaudio": {
+ "label": "PulseAudio >= 0.9.10",
+ "test": "pulseaudio",
+ "sources": [
+ { "type": "pkgConfig", "args": "libpulse >= 0.9.10 libpulse-mainloop-glib" }
+ ]
+ },
+ "wmf": {
+ "label": "WMF",
+ "test": "wmf",
+ "sources": [
+ { "libs": "-lstrmiids -ldmoguids -luuid -lmsdmo -lole32 -loleaut32 -lMf -lMfuuid -lMfplat -lPropsys" }
+ ]
+ }
+ },
+
+ "tests": {
+ "evr": {
+ "label": "evr.h",
+ "type": "compile",
+ "test": "evr"
+ },
+ "gstreamer_encodingprofiles_1_0": {
+ "label": "GStreamer encoding-profile.h",
+ "type": "compile",
+ "use": "gstreamer_1_0",
+ "test": "gstreamer_encodingprofiles"
+ },
+ "gstreamer_encodingprofiles_0_10": {
+ "label": "GStreamer encoding-profile.h",
+ "type": "compile",
+ "use": "gstreamer_0_10",
+ "test": "gstreamer_encodingprofiles"
+ },
+ "gpu_vivante": {
+ "label": "Vivante GPU",
+ "type": "compile",
+ "test": "gpu_vivante"
+ },
+ "linux_v4l": {
+ "label": "Video for Linux",
+ "type": "compile",
+ "test": "linux_v4l"
+ },
+ "wasapi": {
+ "label": "Windows Audio Services",
+ "type": "compile",
+ "test": "wasapi"
+ },
+ "wmsdk": {
+ "label": "wmsdk.h",
+ "type": "compile",
+ "test": "wmsdk"
+ },
+ "wshellitem": {
+ "label": "WShellItem",
+ "type": "compile",
+ "test": "wshellitem"
+ }
+ },
+
+ "features": {
+ "alsa": {
+ "label": "ALSA",
+ "condition": "config.unix && libs.alsa",
+ "output": [ "feature", "privateFeature" ]
+ },
+ "avfoundation": {
+ "label": "AVFoundation",
+ "emitIf": "config.darwin",
+ "condition": "libs.avfoundation",
+ "output": [ "feature", "privateFeature" ]
+ },
+ "directshow": {
+ "label": "DirectShow",
+ "condition": "config.win32 && libs.directshow",
+ "output": [ "feature", "privateFeature" ]
+ },
+ "evr": {
+ "label": "evr.h",
+ "condition": "config.win32 && tests.evr",
+ "output": [ "feature", "privateFeature" ]
+ },
+ "gstreamer_0_10": {
+ "label": "GStreamer 0.10",
+ "disable": "input.gstreamer == '1.0' || input.gstreamer == 'no'",
+ "enable": "input.gstreamer == '0.10'",
+ "condition": "!features.gstreamer_1_0 && libs.gstreamer_0_10",
+ "output": [ "privateFeature" ]
+ },
+ "gstreamer_1_0": {
+ "label": "GStreamer 1.0",
+ "disable": "input.gstreamer == '0.10' || input.gstreamer == 'no'",
+ "enable": "input.gstreamer == '1.0'",
+ "condition": "libs.gstreamer_1_0",
+ "output": [ "privateFeature" ]
+ },
+ "gstreamer": {
+ "condition": "features.gstreamer_1_0 || features.gstreamer_0_10",
+ "output": [ "privateFeature" ]
+ },
+ "gstreamer_app": {
+ "label": "GStreamer App",
+ "condition": "(features.gstreamer_1_0 && libs.gstreamer_app_1_0)
+ || (features.gstreamer_0_10 && libs.gstreamer_app_0_10)",
+ "output": [ "privateFeature" ]
+ },
+ "gstreamer_encodingprofiles": {
+ "label": "GStreamer encoding-profile.h",
+ "condition": "(features.gstreamer_1_0 && tests.gstreamer_encodingprofiles_1_0)
+ || (features.gstreamer_0_10 && tests.gstreamer_encodingprofiles_0_10)",
+ "output": [ "privateFeature" ]
+ },
+ "gstreamer_photography": {
+ "label": "GStreamer Photography",
+ "condition": "(features.gstreamer_1_0 && libs.gstreamer_photography_1_0)
+ || (features.gstreamer_0_10 && libs.gstreamer_photography_0_10)",
+ "output": [ "privateFeature" ]
+ },
+ "gpu_vivante": {
+ "label": "Vivante GPU",
+ "condition": "features.opengles2 && tests.gpu_vivante",
+ "output": [ "privateFeature" ]
+ },
+ "resourcepolicy": {
+ "label": "Resource Policy (libresourceqt5)",
+ "condition": "libs.libresourceqt5",
+ "output": [ "privateFeature" ]
+ },
+ "linux_v4l": {
+ "label": "Video for Linux",
+ "condition": "config.unix && tests.linux_v4l",
+ "output": [ "privateFeature" ]
+ },
+ "mmrenderer": {
+ "label": "MMRenderer",
+ "emitIf": "config.qnx",
+ "condition": "libs.mmrenderer",
+ "output": [ "feature", "privateFeature" ]
+ },
+ "openal": {
+ "label": "OpenAL",
+ "condition": "libs.openal",
+ "output": [ "feature", "privateFeature" ]
+ },
+ "pulseaudio": {
+ "label": "PulseAudio",
+ "autoDetect": "config.unix",
+ "condition": "libs.pulseaudio",
+ "output": [ "feature", "privateFeature" ]
+ },
+ "wasapi": {
+ "label": "Windows Audio Services",
+ "autoDetect": "false",
+ "condition": "config.win32 && tests.wasapi",
+ "output": [ "privateFeature" ]
+ },
+ "wmsdk": {
+ "label": "wmsdk.h",
+ "condition": "config.win32 && tests.wmsdk",
+ "output": [ "feature", "privateFeature" ]
+ },
+ "wshellitem": {
+ "label": "WShellItem",
+ "condition": "config.win32 && features.directshow && tests.wshellitem",
+ "output": [ "feature", "privateFeature" ]
+ },
+ "wmf-backend": {
+ "label": "Windows Media Foundation",
+ "emitIf": "config.win32",
+ "autoDetect": false,
+ "condition": "libraries.wmf",
+ "output": [ "privateFeature" ]
+ }
+ },
+
+ "report": [
+ ],
+
+ "summary": [
+ {
+ "section": "Qt Multimedia",
+ "entries": [
+ "alsa",
+ "gstreamer_1_0",
+ "gstreamer_0_10",
+ "linux_v4l",
+ "openal",
+ "pulseaudio",
+ "resourcepolicy",
+ "mmrenderer",
+ "avfoundation",
+ "directshow",
+ "wmf-backend"
+ ]
+ }
+ ]
+}
diff --git a/src/multimedia/controls/qmediastreamscontrol.h b/src/multimedia/controls/qmediastreamscontrol.h
index ea12dd188..3c36e96cb 100644
--- a/src/multimedia/controls/qmediastreamscontrol.h
+++ b/src/multimedia/controls/qmediastreamscontrol.h
@@ -43,7 +43,7 @@
#include <QtMultimedia/qmediacontrol.h>
#include <QtMultimedia/qmultimedia.h>
-#include <QtMultimedia/qtmultimediadefs.h>
+#include <QtMultimedia/qtmultimediaglobal.h>
#include <QtMultimedia/qmediaenumdebug.h>
QT_BEGIN_NAMESPACE
diff --git a/src/multimedia/controls/qmetadatareadercontrol.h b/src/multimedia/controls/qmetadatareadercontrol.h
index 9162d6454..455ce814e 100644
--- a/src/multimedia/controls/qmetadatareadercontrol.h
+++ b/src/multimedia/controls/qmetadatareadercontrol.h
@@ -45,7 +45,7 @@
#include <QtMultimedia/qmediaresource.h>
-#include <QtMultimedia/qtmultimediadefs.h>
+#include <QtMultimedia/qtmultimediaglobal.h>
#include <QtMultimedia/qmultimedia.h>
QT_BEGIN_NAMESPACE
diff --git a/src/multimedia/controls/qmetadatawritercontrol.h b/src/multimedia/controls/qmetadatawritercontrol.h
index 1c2f4cf69..da3413f77 100644
--- a/src/multimedia/controls/qmetadatawritercontrol.h
+++ b/src/multimedia/controls/qmetadatawritercontrol.h
@@ -45,7 +45,7 @@
#include <QtMultimedia/qmediaresource.h>
-#include <QtMultimedia/qtmultimediadefs.h>
+#include <QtMultimedia/qtmultimediaglobal.h>
#include <QtMultimedia/qmultimedia.h>
QT_BEGIN_NAMESPACE
diff --git a/src/multimedia/controls/qradiodatacontrol.cpp b/src/multimedia/controls/qradiodatacontrol.cpp
index 59c7c8cb1..eaa9aaed6 100644
--- a/src/multimedia/controls/qradiodatacontrol.cpp
+++ b/src/multimedia/controls/qradiodatacontrol.cpp
@@ -37,7 +37,7 @@
**
****************************************************************************/
-#include <qtmultimediadefs.h>
+#include <qtmultimediaglobal.h>
#include "qradiodatacontrol.h"
#include "qmediacontrol_p.h"
diff --git a/src/multimedia/controls/qradiotunercontrol.cpp b/src/multimedia/controls/qradiotunercontrol.cpp
index 5e5c1d5a7..8b9e865e1 100644
--- a/src/multimedia/controls/qradiotunercontrol.cpp
+++ b/src/multimedia/controls/qradiotunercontrol.cpp
@@ -37,7 +37,7 @@
**
****************************************************************************/
-#include <qtmultimediadefs.h>
+#include <qtmultimediaglobal.h>
#include "qradiotunercontrol.h"
#include "qmediacontrol_p.h"
diff --git a/src/multimedia/doc/src/blackberry.qdoc b/src/multimedia/doc/src/blackberry.qdoc
deleted file mode 100644
index 28c176deb..000000000
--- a/src/multimedia/doc/src/blackberry.qdoc
+++ /dev/null
@@ -1,86 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Research In Motion
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** 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 The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: http://www.gnu.org/copyleft/fdl.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
-\page blackberry.html
-\title Qt Multimedia on BlackBerry
-\brief Platform notes for the BlackBerry Platform
-
-Qt Multimedia supports BlackBerry devices that run the BB10 operating system.
-This page covers the availability of different features on BB10.
-
-\section1 Implementation
-
-BB10 ships with a few different multimedia libraries. The main library for audio
-and video playback is \e mmrenderer. For low-latency output of raw audio samples,
-\e libasound, a variant of the Linux ALSA library, is available. Finally, for
-three-dimensional positional audio playback, \e OpenAL is supported and present
-on BB10.
-
-The Qt Multimedia BlackBerry backend uses mmrenderer for media playback.
-
-For the positional audio classes in the \l{Qt Audio Engine QML Types}{Qt Audio Engine}
-QML module, OpenAL is used as on all other platforms.
-
-For recording videos and taking photos, the camapi library is used.
-
-\section1 Supported Features
-
-Playback of audio and video with QMediaPlayer and related classes is supported.
-This includes the corresponding QML elements like MediaPlayer and VideoOutput.
-Since the playback is delegated to mmrenderer, the supported formats are the same as in
-mmrenderer. As mmrenderer supports streaming from HTTP and other URLs, this is
-supported in QMediaPlayer as well. Playlists as sources are also supported.
-
-mmrenderer does not allow access to the pixel data of video frames, hence Qt Multimedia
-classes like QVideoFrame and QAbstractVideoSurface will not work since they require access
-to the image data. QVideoWidget and the VideoOutput QML element are implemented with an overlay window;
-mmrenderer creates a separate window displaying a video and puts that on top of the Qt application.
-As a consequence, no other widget or QML element can be put on top of the video, and QML shaders have
-no effect.
-
-The \l{Qt Audio Engine QML Types}{Qt Audio Engine} QML module is fully supported, as it is based on OpenAL which is available
-in BB10.
-
-The \l {camera} {QCamera} support includes recording of videos and taking photos. The viewfinder
-is available through QCameraViewfinder and the VideoOutput QML element.
-
-Note: To use the camera on BB10, your application needs the 'access_shared', 'use_camera' and 'record_audio'
-permissions set in the bar-descriptor.xml file.
-
-\section1 Unsupported Features
-
-Low-latency output and input of raw audio samples with QAudioOutput, QAudioInput and related classes is
-not yet supported. The SoundEffect QML element and QSoundEffect are based on these classes. In your
-QML file, use the MediaPlayer element instead of the SoundEffect element, as the APIs are nearly identical.
-
-QMediaPlayer does not support QIODevice-based streaming sources. However, streaming by specifying, for example,
-an HTTP URL as the source does work. In addition, QMediaPlayer does not yet provide metadata like
-the artist and album of the current track.
-
-Radio and audio recording are not yet supported.
-*/
diff --git a/src/multimedia/doc/src/qtmultimedia-index.qdoc b/src/multimedia/doc/src/qtmultimedia-index.qdoc
index 484338dc8..553732fd1 100644
--- a/src/multimedia/doc/src/qtmultimedia-index.qdoc
+++ b/src/multimedia/doc/src/qtmultimedia-index.qdoc
@@ -157,7 +157,6 @@
following topics provide more platform-specific information.
\list
- \li \l{Qt Multimedia on BlackBerry}{BlackBerry}
\li \l{Qt Multimedia on Windows}{Windows}
\endlist
diff --git a/src/multimedia/gsttools_headers/qgstreamergltexturerenderer_p.h b/src/multimedia/gsttools_headers/qgstreamergltexturerenderer_p.h
deleted file mode 100644
index 8abdd1e02..000000000
--- a/src/multimedia/gsttools_headers/qgstreamergltexturerenderer_p.h
+++ /dev/null
@@ -1,141 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** 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 The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/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 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QGSTREAMERGLTEXTURERENDERER_H
-#define QGSTREAMERGLTEXTURERENDERER_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.
-//
-
-#include <qvideorenderercontrol.h>
-#include <private/qvideosurfacegstsink_p.h>
-#include <private/qgstreamerbushelper_p.h>
-
-#include "qgstreamervideorendererinterface_p.h"
-#include <QtGui/qcolor.h>
-
-#include <X11/extensions/Xv.h>
-
-QT_BEGIN_NAMESPACE
-
-class QGLContext;
-
-class QGstreamerGLTextureRenderer : public QVideoRendererControl,
- public QGstreamerVideoRendererInterface,
- public QGstreamerSyncMessageFilter,
- public QGstreamerBusMessageFilter
-{
- Q_OBJECT
- Q_INTERFACES(QGstreamerVideoRendererInterface QGstreamerSyncMessageFilter QGstreamerBusMessageFilter)
-
- Q_PROPERTY(bool overlayEnabled READ overlayEnabled WRITE setOverlayEnabled)
- Q_PROPERTY(qulonglong winId READ winId WRITE setWinId)
- Q_PROPERTY(QRect overlayGeometry READ overlayGeometry WRITE setOverlayGeometry)
- Q_PROPERTY(QColor colorKey READ colorKey)
- Q_PROPERTY(QSize nativeSize READ nativeSize NOTIFY nativeSizeChanged)
-
-public:
- QGstreamerGLTextureRenderer(QObject *parent = 0);
- virtual ~QGstreamerGLTextureRenderer();
-
- QAbstractVideoSurface *surface() const;
- void setSurface(QAbstractVideoSurface *surface);
-
- GstElement *videoSink();
-
- bool isReady() const;
- bool processBusMessage(const QGstreamerMessage &message);
- bool processSyncMessage(const QGstreamerMessage &message);
- void stopRenderer();
-
- int framebufferNumber() const;
-
- bool overlayEnabled() const;
- WId winId() const;
- QRect overlayGeometry() const;
- QColor colorKey() const;
- QSize nativeSize() const;
-
-public slots:
- void renderGLFrame(int);
-
- void setOverlayEnabled(bool);
- void setWinId(WId id);
- void setOverlayGeometry(const QRect &geometry);
- void repaintOverlay();
-
-signals:
- void sinkChanged();
- void readyChanged(bool);
- void nativeSizeChanged();
-
-private slots:
- void handleFormatChange();
- void updateNativeVideoSize();
-
-private:
- static void handleFrameReady(GstElement *sink, gint frame, gpointer data);
- static gboolean padBufferProbe(GstPad *pad, GstBuffer *buffer, gpointer user_data);
-
- GstElement *m_videoSink;
- QAbstractVideoSurface *m_surface;
- QGLContext *m_context;
- QSize m_nativeSize;
-
- WId m_winId;
- QColor m_colorKey;
- QRect m_displayRect;
- bool m_overlayEnabled;
- int m_bufferProbeId;
-
- QMutex m_mutex;
- QWaitCondition m_renderCondition;
-};
-
-QT_END_NAMESPACE
-
-#endif // QGSTREAMERVIDEORENDRER_H
diff --git a/src/multimedia/multimedia.pro b/src/multimedia/multimedia.pro
index 761e488ba..0f3f3ff6b 100644
--- a/src/multimedia/multimedia.pro
+++ b/src/multimedia/multimedia.pro
@@ -15,6 +15,7 @@ QMAKE_DOCS = $$PWD/doc/qtmultimedia.qdocconf
INCLUDEPATH *= .
PRIVATE_HEADERS += \
+ qtmultimediaglobal_p.h \
qmediacontrol_p.h \
qmediaobject_p.h \
qmediapluginloader_p.h \
@@ -28,6 +29,7 @@ PRIVATE_HEADERS += \
qmultimediautils_p.h
PUBLIC_HEADERS += \
+ qtmultimediaglobal.h \
qmediabindableinterface.h \
qmediacontrol.h \
qmediaenumdebug.h \
@@ -36,8 +38,7 @@ PUBLIC_HEADERS += \
qmediaservice.h \
qmediaserviceproviderplugin.h \
qmediatimerange.h \
- qmultimedia.h \
- qtmultimediadefs.h \
+ qmultimedia.h
SOURCES += \
qmediabindableinterface.cpp \
diff --git a/src/multimedia/playback/playlistfileparser_p.h b/src/multimedia/playback/playlistfileparser_p.h
index 353da3eca..bdf95fe7a 100644
--- a/src/multimedia/playback/playlistfileparser_p.h
+++ b/src/multimedia/playback/playlistfileparser_p.h
@@ -51,7 +51,7 @@
// We mean it.
//
-#include "qtmultimediadefs.h"
+#include "qtmultimediaglobal.h"
#include <QtNetwork/QNetworkRequest>
QT_BEGIN_NAMESPACE
diff --git a/src/multimedia/playback/qmediacontent.h b/src/multimedia/playback/qmediacontent.h
index 25db6ecf5..f7c086752 100644
--- a/src/multimedia/playback/qmediacontent.h
+++ b/src/multimedia/playback/qmediacontent.h
@@ -45,7 +45,7 @@
#include <QtMultimedia/qmediaresource.h>
-#include <QtMultimedia/qtmultimediadefs.h>
+#include <QtMultimedia/qtmultimediaglobal.h>
QT_BEGIN_NAMESPACE
diff --git a/src/multimedia/playback/qmediaplayer.cpp b/src/multimedia/playback/qmediaplayer.cpp
index 191095e82..c9b9b4fc1 100644
--- a/src/multimedia/playback/qmediaplayer.cpp
+++ b/src/multimedia/playback/qmediaplayer.cpp
@@ -100,7 +100,6 @@ static void qRegisterMediaPlayerMetaTypes()
Q_CONSTRUCTOR_FUNCTION(qRegisterMediaPlayerMetaTypes)
-
#define MAX_NESTED_PLAYLISTS 16
class QMediaPlayerPrivate : public QMediaObjectPrivate
@@ -112,38 +111,39 @@ public:
: provider(0)
, control(0)
, audioRoleControl(0)
+ , playlist(0)
+ , networkAccessControl(0)
, state(QMediaPlayer::StoppedState)
, status(QMediaPlayer::UnknownMediaStatus)
, error(QMediaPlayer::NoError)
, ignoreNextStatusChange(-1)
- , playlist(0)
- , networkAccessControl(0)
- , hasStreamPlaybackFeature(false)
, nestedPlaylists(0)
+ , hasStreamPlaybackFeature(false)
{}
QMediaServiceProvider *provider;
QMediaPlayerControl* control;
QAudioRoleControl *audioRoleControl;
- QMediaPlayer::State state;
- QMediaPlayer::MediaStatus status;
- QMediaPlayer::Error error;
QString errorString;
- int ignoreNextStatusChange;
QPointer<QObject> videoOutput;
QMediaPlaylist *playlist;
QMediaNetworkAccessControl *networkAccessControl;
QVideoSurfaceOutput surfaceOutput;
- bool hasStreamPlaybackFeature;
QMediaContent qrcMedia;
QScopedPointer<QFile> qrcFile;
QMediaContent rootMedia;
QMediaContent pendingPlaylist;
+ QMediaPlayer::State state;
+ QMediaPlayer::MediaStatus status;
+ QMediaPlayer::Error error;
+ int ignoreNextStatusChange;
+ int nestedPlaylists;
+ bool hasStreamPlaybackFeature;
+
QMediaPlaylist *parentPlaylist(QMediaPlaylist *pls);
bool isInChain(const QUrl &url);
- int nestedPlaylists;
void setMedia(const QMediaContent &media, QIODevice *stream = 0);
diff --git a/src/multimedia/playback/qmediaplaylistioplugin_p.h b/src/multimedia/playback/qmediaplaylistioplugin_p.h
index 62bb6757a..73281b2bf 100644
--- a/src/multimedia/playback/qmediaplaylistioplugin_p.h
+++ b/src/multimedia/playback/qmediaplaylistioplugin_p.h
@@ -54,7 +54,7 @@
#include <QtCore/qobject.h>
#include <QtCore/qplugin.h>
-#include <qtmultimediadefs.h>
+#include <qtmultimediaglobal.h>
#include "qmediacontent.h"
diff --git a/src/multimedia/playback/qmediaresource.h b/src/multimedia/playback/qmediaresource.h
index 83f998eb9..9740166c6 100644
--- a/src/multimedia/playback/qmediaresource.h
+++ b/src/multimedia/playback/qmediaresource.h
@@ -44,7 +44,7 @@
#include <QtCore/qmetatype.h>
#include <QtNetwork/qnetworkrequest.h>
-#include <QtMultimedia/qtmultimediadefs.h>
+#include <QtMultimedia/qtmultimediaglobal.h>
QT_BEGIN_NAMESPACE
diff --git a/src/multimedia/qmediacontrol.h b/src/multimedia/qmediacontrol.h
index 3c95444d0..680b18e7f 100644
--- a/src/multimedia/qmediacontrol.h
+++ b/src/multimedia/qmediacontrol.h
@@ -40,7 +40,7 @@
#ifndef QABSTRACTMEDIACONTROL_H
#define QABSTRACTMEDIACONTROL_H
-#include <QtMultimedia/qtmultimediadefs.h>
+#include <QtMultimedia/qtmultimediaglobal.h>
#include <QtCore/qobject.h>
#include <QtCore/qstring.h>
diff --git a/src/multimedia/qmediacontrol_p.h b/src/multimedia/qmediacontrol_p.h
index 948f9fdd5..e9827fd1e 100644
--- a/src/multimedia/qmediacontrol_p.h
+++ b/src/multimedia/qmediacontrol_p.h
@@ -51,7 +51,7 @@
// We mean it.
//
-#include <qtmultimediadefs.h>
+#include <qtmultimediaglobal.h>
QT_BEGIN_NAMESPACE
diff --git a/src/multimedia/qmediametadata.cpp b/src/multimedia/qmediametadata.cpp
index 9ffd2a727..42fabbe7e 100644
--- a/src/multimedia/qmediametadata.cpp
+++ b/src/multimedia/qmediametadata.cpp
@@ -164,7 +164,7 @@ Q_DEFINE_METADATA(ThumbnailImage);
\ingroup multimedia
\inmodule QtMultimedia
- This namespace provides identifiers for meta-data attributes.
+ \brief Provides identifiers for meta-data attributes.
\note Not all identifiers are supported on all platforms. Please consult vendor documentation for specific support
on different platforms.
diff --git a/src/multimedia/qmediametadata.h b/src/multimedia/qmediametadata.h
index 2fb49c88e..8d8744490 100644
--- a/src/multimedia/qmediametadata.h
+++ b/src/multimedia/qmediametadata.h
@@ -44,7 +44,7 @@
#include <QtCore/qmetatype.h>
#include <QtCore/qstring.h>
-#include <QtMultimedia/qtmultimediadefs.h>
+#include <QtMultimedia/qtmultimediaglobal.h>
QT_BEGIN_NAMESPACE
diff --git a/src/multimedia/qmediaobject.h b/src/multimedia/qmediaobject.h
index efd89f840..5788254b8 100644
--- a/src/multimedia/qmediaobject.h
+++ b/src/multimedia/qmediaobject.h
@@ -43,7 +43,7 @@
#include <QtCore/qobject.h>
#include <QtCore/qstringlist.h>
-#include <QtMultimedia/qtmultimediadefs.h>
+#include <QtMultimedia/qtmultimediaglobal.h>
#include <QtMultimedia/qmultimedia.h>
QT_BEGIN_NAMESPACE
diff --git a/src/multimedia/qmediapluginloader_p.h b/src/multimedia/qmediapluginloader_p.h
index 9798f2ae8..a4e726544 100644
--- a/src/multimedia/qmediapluginloader_p.h
+++ b/src/multimedia/qmediapluginloader_p.h
@@ -51,7 +51,7 @@
// We mean it.
//
-#include <qtmultimediadefs.h>
+#include <qtmultimediaglobal.h>
#include <QtCore/qobject.h>
#include <QtCore/qstring.h>
#include <QtCore/qstringlist.h>
diff --git a/src/multimedia/qmediaresourcepolicy_p.h b/src/multimedia/qmediaresourcepolicy_p.h
index bfc89df84..13e3f4913 100644
--- a/src/multimedia/qmediaresourcepolicy_p.h
+++ b/src/multimedia/qmediaresourcepolicy_p.h
@@ -52,7 +52,7 @@
//
#include <QObject>
-#include "qtmultimediadefs.h"
+#include "qtmultimediaglobal.h"
QT_BEGIN_NAMESPACE
diff --git a/src/multimedia/qmediaresourcepolicyplugin_p.h b/src/multimedia/qmediaresourcepolicyplugin_p.h
index 66cef02d6..7b53c3b3a 100644
--- a/src/multimedia/qmediaresourcepolicyplugin_p.h
+++ b/src/multimedia/qmediaresourcepolicyplugin_p.h
@@ -52,7 +52,7 @@
//
#include <QObject>
-#include <qtmultimediadefs.h>
+#include <qtmultimediaglobal.h>
QT_BEGIN_NAMESPACE
diff --git a/src/multimedia/qmediaresourceset_p.h b/src/multimedia/qmediaresourceset_p.h
index 1df6e19e5..a0158877f 100644
--- a/src/multimedia/qmediaresourceset_p.h
+++ b/src/multimedia/qmediaresourceset_p.h
@@ -51,7 +51,7 @@
// We mean it.
//
#include <QObject>
-#include <qtmultimediadefs.h>
+#include <qtmultimediaglobal.h>
QT_BEGIN_NAMESPACE
diff --git a/src/multimedia/qmediaservice.h b/src/multimedia/qmediaservice.h
index 64fe63b84..9e653b2d8 100644
--- a/src/multimedia/qmediaservice.h
+++ b/src/multimedia/qmediaservice.h
@@ -40,7 +40,7 @@
#ifndef QABSTRACTMEDIASERVICE_H
#define QABSTRACTMEDIASERVICE_H
-#include <QtMultimedia/qtmultimediadefs.h>
+#include <QtMultimedia/qtmultimediaglobal.h>
#include <QtCore/qobject.h>
#include <QtCore/qstringlist.h>
diff --git a/src/multimedia/qmediaserviceprovider_p.h b/src/multimedia/qmediaserviceprovider_p.h
index 63e1bdd18..4ca9c9e8f 100644
--- a/src/multimedia/qmediaserviceprovider_p.h
+++ b/src/multimedia/qmediaserviceprovider_p.h
@@ -53,7 +53,7 @@
#include <QtCore/qobject.h>
#include <QtCore/qshareddata.h>
-#include <qtmultimediadefs.h>
+#include <qtmultimediaglobal.h>
#include "qmultimedia.h"
#include "qmediaserviceproviderplugin.h"
diff --git a/src/multimedia/qmediaserviceproviderplugin.h b/src/multimedia/qmediaserviceproviderplugin.h
index 6cdc18d61..43fe55d43 100644
--- a/src/multimedia/qmediaserviceproviderplugin.h
+++ b/src/multimedia/qmediaserviceproviderplugin.h
@@ -43,7 +43,7 @@
#include <QtCore/qstringlist.h>
#include <QtCore/qplugin.h>
#include <QtMultimedia/qmultimedia.h>
-#include <QtMultimedia/qtmultimediadefs.h>
+#include <QtMultimedia/qtmultimediaglobal.h>
#include <QtMultimedia/qcamera.h>
#ifdef Q_MOC_RUN
diff --git a/src/multimedia/qmediastoragelocation_p.h b/src/multimedia/qmediastoragelocation_p.h
index 29e6a5775..13399b54d 100644
--- a/src/multimedia/qmediastoragelocation_p.h
+++ b/src/multimedia/qmediastoragelocation_p.h
@@ -51,7 +51,7 @@
// We mean it.
//
-#include <qtmultimediadefs.h>
+#include <qtmultimediaglobal.h>
#include <QDir>
#include <QMap>
#include <QHash>
diff --git a/src/multimedia/qmediatimerange.h b/src/multimedia/qmediatimerange.h
index a9eab2498..0b4fe8e67 100644
--- a/src/multimedia/qmediatimerange.h
+++ b/src/multimedia/qmediatimerange.h
@@ -40,7 +40,7 @@
#ifndef QMEDIATIMERANGE_H
#define QMEDIATIMERANGE_H
-#include <QtMultimedia/qtmultimediadefs.h>
+#include <QtMultimedia/qtmultimediaglobal.h>
#include <QtMultimedia/qmultimedia.h>
#include <QtCore/qshareddata.h>
diff --git a/src/multimedia/qmultimedia.h b/src/multimedia/qmultimedia.h
index b517b5a32..a3dbc5e3e 100644
--- a/src/multimedia/qmultimedia.h
+++ b/src/multimedia/qmultimedia.h
@@ -44,7 +44,7 @@
#include <QtCore/qmetatype.h>
#include <QtCore/qstring.h>
-#include <QtMultimedia/qtmultimediadefs.h>
+#include <QtMultimedia/qtmultimediaglobal.h>
QT_BEGIN_NAMESPACE
diff --git a/src/multimedia/qtmultimediaglobal.h b/src/multimedia/qtmultimediaglobal.h
new file mode 100644
index 000000000..ae11ed271
--- /dev/null
+++ b/src/multimedia/qtmultimediaglobal.h
@@ -0,0 +1,59 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtQml module 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 The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/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 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QTMULTIMEDIAGLOBAL_H
+#define QTMULTIMEDIAGLOBAL_H
+
+#include <QtGui/qtguiglobal.h>
+#include <QtMultimedia/qtmultimedia-config.h>
+
+QT_BEGIN_NAMESPACE
+
+#ifndef QT_STATIC
+# if defined(QT_BUILD_MULTIMEDIA_LIB)
+# define Q_MULTIMEDIA_EXPORT Q_DECL_EXPORT
+# else
+# define Q_MULTIMEDIA_EXPORT Q_DECL_IMPORT
+# endif
+#else
+# define Q_MULTIMEDIA_EXPORT
+#endif
+
+QT_END_NAMESPACE
+#endif // QTQMLGLOBAL_H
diff --git a/src/multimedia/qtmultimediaglobal_p.h b/src/multimedia/qtmultimediaglobal_p.h
new file mode 100644
index 000000000..797142029
--- /dev/null
+++ b/src/multimedia/qtmultimediaglobal_p.h
@@ -0,0 +1,58 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the QtQml module 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 The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/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 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QTMULTIMEDIAGLOBAL_P_H
+#define QTMULTIMEDIAGLOBAL_P_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.
+//
+
+#include <QtGui/private/qtguiglobal_p.h>
+#include <QtMultimedia/private/qtmultimedia-config_p.h>
+#include <QtMultimedia/qtmultimediaglobal.h>
+
+#endif // QTQMLGLOBAL_P_H
diff --git a/src/multimedia/recording/qmediaencodersettings.h b/src/multimedia/recording/qmediaencodersettings.h
index d6f92ca5c..0d6a9eddf 100644
--- a/src/multimedia/recording/qmediaencodersettings.h
+++ b/src/multimedia/recording/qmediaencodersettings.h
@@ -44,7 +44,7 @@
#include <QtCore/qstring.h>
#include <QtCore/qsize.h>
#include <QtCore/qvariant.h>
-#include <QtMultimedia/qtmultimediadefs.h>
+#include <QtMultimedia/qtmultimediaglobal.h>
#include <QtMultimedia/qmultimedia.h>
QT_BEGIN_NAMESPACE
diff --git a/src/multimedia/video/qabstractvideobuffer.h b/src/multimedia/video/qabstractvideobuffer.h
index 7b246a712..dcefdf7bc 100644
--- a/src/multimedia/video/qabstractvideobuffer.h
+++ b/src/multimedia/video/qabstractvideobuffer.h
@@ -40,7 +40,7 @@
#ifndef QABSTRACTVIDEOBUFFER_H
#define QABSTRACTVIDEOBUFFER_H
-#include <QtMultimedia/qtmultimediadefs.h>
+#include <QtMultimedia/qtmultimediaglobal.h>
#include <QtMultimedia/qmultimedia.h>
diff --git a/src/multimedia/video/qabstractvideobuffer_p.h b/src/multimedia/video/qabstractvideobuffer_p.h
index cae018d3c..6fbd75a30 100644
--- a/src/multimedia/video/qabstractvideobuffer_p.h
+++ b/src/multimedia/video/qabstractvideobuffer_p.h
@@ -54,7 +54,7 @@
#include <QtCore/qshareddata.h>
#include "qabstractvideobuffer.h"
-#include <qtmultimediadefs.h>
+#include <qtmultimediaglobal.h>
#include <qmultimedia.h>
diff --git a/src/multimedia/video/qvideooutputorientationhandler_p.h b/src/multimedia/video/qvideooutputorientationhandler_p.h
index cf3ddbdb2..b5cfc089b 100644
--- a/src/multimedia/video/qvideooutputorientationhandler_p.h
+++ b/src/multimedia/video/qvideooutputorientationhandler_p.h
@@ -51,7 +51,7 @@
// We mean it.
//
-#include <qtmultimediadefs.h>
+#include <qtmultimediaglobal.h>
#include <QObject>