From b369746ae7b1b1148c863fb8a20fb229e277b7c4 Mon Sep 17 00:00:00 2001 From: Maurice Kalinowski Date: Mon, 17 Nov 2014 13:51:17 +0100 Subject: WinRT: Fix compilation after ANGLE update Header inclusion is not needed, hence remove it for WinRT. Change-Id: I8117439849143975cad3dc14e36118b8da4621de Reviewed-by: Oliver Wolff --- src/multimedia/qmediaopenglhelper_p.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/multimedia/qmediaopenglhelper_p.h b/src/multimedia/qmediaopenglhelper_p.h index 0dbd79d47..bb445b693 100644 --- a/src/multimedia/qmediaopenglhelper_p.h +++ b/src/multimedia/qmediaopenglhelper_p.h @@ -47,7 +47,7 @@ #include -#if defined(Q_OS_WIN) && (defined(QT_OPENGL_ES_2) || defined(QT_OPENGL_DYNAMIC)) +#if defined(Q_OS_WIN) && !defined(Q_OS_WINRT) && (defined(QT_OPENGL_ES_2) || defined(QT_OPENGL_DYNAMIC)) #include #endif -- cgit v1.2.3 From 96407d8d8980f5dee7a0848366c20584dbd8c321 Mon Sep 17 00:00:00 2001 From: Laszlo Agocs Date: Tue, 18 Nov 2014 14:07:34 +0100 Subject: Fix bogus videonode plugin handling Each plugin must provide its own unique key. Otherwise we will only ever see one single plugin. Right now running on i.MX6 is often broken because the imx6 videonode plugin is not picked up since only the egl one is seen by the system. With the fix both plugins provide their own unique key so both become visible. Additionally, introduce a QT_VIDEONODE environment variable. This is useful to specify which plugin to use. This is necessary in case multiple custom videonode plugins support the same formats. Change-Id: Iaa1988f8436dcb938cb9a95e2e0d68a4e92e113c Reviewed-by: Yoann Lopes --- .../qsgvideonode_p.h | 2 -- .../android/videonode/android_videonode.json | 2 +- src/plugins/videonode/egl/egl.json | 2 +- src/plugins/videonode/imx6/imx6.json | 2 +- .../qdeclarativevideooutput_render.cpp | 23 ++++++++++++++++++---- 5 files changed, 22 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/multimedia/qtmultimediaquicktools_headers/qsgvideonode_p.h b/src/multimedia/qtmultimediaquicktools_headers/qsgvideonode_p.h index c064f8ed8..8be77ff07 100644 --- a/src/multimedia/qtmultimediaquicktools_headers/qsgvideonode_p.h +++ b/src/multimedia/qtmultimediaquicktools_headers/qsgvideonode_p.h @@ -43,8 +43,6 @@ QT_BEGIN_NAMESPACE -const QLatin1String QSGVideoNodeFactoryPluginKey("sgvideonodes"); - class Q_MULTIMEDIAQUICK_EXPORT QSGVideoNode : public QSGGeometryNode { public: diff --git a/src/plugins/android/videonode/android_videonode.json b/src/plugins/android/videonode/android_videonode.json index 08bb12c3f..9b359ebac 100644 --- a/src/plugins/android/videonode/android_videonode.json +++ b/src/plugins/android/videonode/android_videonode.json @@ -1,3 +1,3 @@ { - "Keys": ["sgvideonodes"] + "Keys": ["android"] } diff --git a/src/plugins/videonode/egl/egl.json b/src/plugins/videonode/egl/egl.json index 08bb12c3f..54a0519f5 100644 --- a/src/plugins/videonode/egl/egl.json +++ b/src/plugins/videonode/egl/egl.json @@ -1,3 +1,3 @@ { - "Keys": ["sgvideonodes"] + "Keys": ["egl"] } diff --git a/src/plugins/videonode/imx6/imx6.json b/src/plugins/videonode/imx6/imx6.json index 08bb12c3f..2a7fc50cc 100644 --- a/src/plugins/videonode/imx6/imx6.json +++ b/src/plugins/videonode/imx6/imx6.json @@ -1,3 +1,3 @@ { - "Keys": ["sgvideonodes"] + "Keys": ["imx6"] } diff --git a/src/qtmultimediaquicktools/qdeclarativevideooutput_render.cpp b/src/qtmultimediaquicktools/qdeclarativevideooutput_render.cpp index 3b07e28c2..608aae5d1 100644 --- a/src/qtmultimediaquicktools/qdeclarativevideooutput_render.cpp +++ b/src/qtmultimediaquicktools/qdeclarativevideooutput_render.cpp @@ -55,10 +55,21 @@ QDeclarativeVideoRendererBackend::QDeclarativeVideoRendererBackend(QDeclarativeV QObject::connect(m_surface, SIGNAL(surfaceFormatChanged(QVideoSurfaceFormat)), q, SLOT(_q_updateNativeSize()), Qt::QueuedConnection); - foreach (QObject *instance, videoNodeFactoryLoader()->instances(QSGVideoNodeFactoryPluginKey)) { + // Prioritize the plugin requested by the environment + QString requestedVideoNode = QString::fromLatin1(qgetenv("QT_VIDEONODE")); + + foreach (const QString &key, videoNodeFactoryLoader()->keys()) { + QObject *instance = videoNodeFactoryLoader()->instance(key); QSGVideoNodeFactoryInterface* plugin = qobject_cast(instance); - if (plugin) - m_videoNodeFactories.append(plugin); + if (plugin) { + if (key == requestedVideoNode) + m_videoNodeFactories.prepend(plugin); + else + m_videoNodeFactories.append(plugin); +#ifdef DEBUG_VIDEOITEM + qDebug() << "found videonode plugin" << key << plugin; +#endif + } } // Append existing node factories as fallback if we have no plugins @@ -224,8 +235,12 @@ QSGNode *QDeclarativeVideoRendererBackend::updatePaintNode(QSGNode *oldNode, if (!videoNode) { foreach (QSGVideoNodeFactoryInterface* factory, m_videoNodeFactories) { videoNode = factory->createNode(m_surface->surfaceFormat()); - if (videoNode) + if (videoNode) { +#ifdef DEBUG_VIDEOITEM + qDebug() << "using video node from factory" << factory; +#endif break; + } } } } -- cgit v1.2.3 From 16a386b0715ffc608263c3f5bdc681d2b62a8a51 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Sun, 23 Nov 2014 07:34:58 -0800 Subject: Fix Clang warning about comparison of different signs Commit 4d35f66acf90e64e6c174bee9d809713d07fcd7e changed from -1 to ~0 because ICC complained, but Clang still sees ~0 as int. So force to unsigned. qgstappsrc.cpp:144:31: warning: comparison of integers of different signs: 'unsigned int' and 'int' [-Wsign-compare] Change-Id: I6b0fdf8dc5df157d8e184f22dba44660e60ca3b2 Reviewed-by: Yoann Lopes --- src/gsttools/qgstappsrc.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/gsttools/qgstappsrc.cpp b/src/gsttools/qgstappsrc.cpp index 148366b3e..561a96fc8 100644 --- a/src/gsttools/qgstappsrc.cpp +++ b/src/gsttools/qgstappsrc.cpp @@ -141,7 +141,7 @@ void QGstAppSrc::pushDataToAppSrc() if (m_dataRequested && !m_enoughData) { qint64 size; - if (m_dataRequestSize == ~0) + if (m_dataRequestSize == ~0u) size = qMin(m_stream->bytesAvailable(), queueSize()); else size = qMin(m_stream->bytesAvailable(), (qint64)m_dataRequestSize); -- cgit v1.2.3 From 59f2bf186400241c62a02044265d9ecab81c1749 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Sun, 23 Nov 2014 07:23:50 -0800 Subject: Remove unused private members One is not used, the others are not even initialized, so don't use the memory. qsoundeffect_pulse_p.h:172:20: warning: private field 'm_resourceStatus' is not used [-Wunused-private-field] qvideowidget_p.h:211:25: warning: private field 'm_aspectRatioMode' is not used [-Wunused-private-field] qalsaaudioinput.h:156:22: warning: private field 'timestamp' is not used [-Wunused-private-field] qalsaaudiooutput.h:135:22: warning: private field 'timestamp' is not used [-Wunused-private-field] Change-Id: I7c9f50d57c4d29ee0dfd7dc086771d721cdb5b05 Reviewed-by: Yoann Lopes --- src/multimedia/audio/qsoundeffect_pulse_p.h | 7 ------- src/multimediawidgets/qvideowidget.cpp | 1 - src/multimediawidgets/qvideowidget_p.h | 1 - src/plugins/alsa/qalsaaudioinput.h | 1 - src/plugins/alsa/qalsaaudiooutput.h | 1 - 5 files changed, 11 deletions(-) (limited to 'src') diff --git a/src/multimedia/audio/qsoundeffect_pulse_p.h b/src/multimedia/audio/qsoundeffect_pulse_p.h index 9275d97ea..9846caee7 100644 --- a/src/multimedia/audio/qsoundeffect_pulse_p.h +++ b/src/multimedia/audio/qsoundeffect_pulse_p.h @@ -163,13 +163,6 @@ private: int m_position; QSoundEffectRef *m_ref; - enum ResourceStatus { - NoResources, - WaitingResources, - GrantedResources, - DeniedResources - }; - ResourceStatus m_resourceStatus; bool m_resourcesAvailable; QMediaPlayerResourceSetInterface *m_resources; diff --git a/src/multimediawidgets/qvideowidget.cpp b/src/multimediawidgets/qvideowidget.cpp index 8634907c6..439e77d08 100644 --- a/src/multimediawidgets/qvideowidget.cpp +++ b/src/multimediawidgets/qvideowidget.cpp @@ -306,7 +306,6 @@ QWindowVideoWidgetBackend::QWindowVideoWidgetBackend( : m_service(service) , m_windowControl(control) , m_widget(widget) - , m_aspectRatioMode(Qt::KeepAspectRatio) { connect(control, SIGNAL(brightnessChanged(int)), m_widget, SLOT(_q_brightnessChanged(int))); connect(control, SIGNAL(contrastChanged(int)), m_widget, SLOT(_q_contrastChanged(int))); diff --git a/src/multimediawidgets/qvideowidget_p.h b/src/multimediawidgets/qvideowidget_p.h index 578fb92af..f447d1f2e 100644 --- a/src/multimediawidgets/qvideowidget_p.h +++ b/src/multimediawidgets/qvideowidget_p.h @@ -208,7 +208,6 @@ private: QMediaService *m_service; QVideoWindowControl *m_windowControl; QWidget *m_widget; - Qt::AspectRatioMode m_aspectRatioMode; QSize m_pixelAspectRatio; }; diff --git a/src/plugins/alsa/qalsaaudioinput.h b/src/plugins/alsa/qalsaaudioinput.h index 5470c1b6d..abf67e2cd 100644 --- a/src/plugins/alsa/qalsaaudioinput.h +++ b/src/plugins/alsa/qalsaaudioinput.h @@ -153,7 +153,6 @@ private: snd_pcm_uframes_t period_frames; snd_pcm_access_t access; snd_pcm_format_t pcmformat; - snd_timestamp_t* timestamp; snd_pcm_hw_params_t *hwparams; qreal m_volume; }; diff --git a/src/plugins/alsa/qalsaaudiooutput.h b/src/plugins/alsa/qalsaaudiooutput.h index 5b9b45d38..2a245f38f 100644 --- a/src/plugins/alsa/qalsaaudiooutput.h +++ b/src/plugins/alsa/qalsaaudiooutput.h @@ -132,7 +132,6 @@ private: snd_pcm_t* handle; snd_pcm_access_t access; snd_pcm_format_t pcmformat; - snd_timestamp_t* timestamp; snd_pcm_hw_params_t *hwparams; qreal m_volume; }; -- cgit v1.2.3