aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-qt
diff options
context:
space:
mode:
authorOtavio Salvador <otavio@ossystems.com.br>2016-01-08 14:15:35 -0200
committerOtavio Salvador <otavio@ossystems.com.br>2016-01-11 13:14:34 -0200
commit4b84798a7e263ba3a96cebad93a36f450394b7c0 (patch)
tree78e6c2c54c7b28cd096bc735b1f733a84d02af7d /recipes-qt
parentff27354776e628a2fb80cbee2b8a43e46cc58c34 (diff)
downloadmeta-fsl-arm-4b84798a7e263ba3a96cebad93a36f450394b7c0.tar.gz
meta-fsl-arm-4b84798a7e263ba3a96cebad93a36f450394b7c0.tar.bz2
meta-fsl-arm-4b84798a7e263ba3a96cebad93a36f450394b7c0.zip
qt4: Move BSP related bbappend files to dynamic layer
The Qt4 recipes are now in a specific layer, meta-qt4, so we cannot append those recipes if the layer is not included. This moves the bbappend files to the 'qt4-layer' collection, enabling it in case the collection is available. Fixes [YOCTO: #8898] Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Diffstat (limited to 'recipes-qt')
-rw-r--r--recipes-qt/qt4/qt4-embedded_%.bbappend1
-rw-r--r--recipes-qt/qt4/qt4-imx-support.inc28
-rw-r--r--recipes-qt/qt4/qt4-x11-free_%.bbappend1
-rw-r--r--recipes-qt/qt4/qt4/0001-Add-support-for-i.MX-codecs-to-phonon.patch468
-rw-r--r--recipes-qt/qt4/qt4/0002-i.MX-video-renderer-Allow-v4l-device-from-environmen.patch46
-rw-r--r--recipes-qt/qt4/qt4/0003-i.MX6-force-egl-visual-ID-33.patch35
-rw-r--r--recipes-qt/qt4/qt4/mx6/g++.conf40
-rw-r--r--recipes-qt/qt4/qt4/mx6/linux.conf66
8 files changed, 0 insertions, 685 deletions
diff --git a/recipes-qt/qt4/qt4-embedded_%.bbappend b/recipes-qt/qt4/qt4-embedded_%.bbappend
deleted file mode 100644
index 14324ca..0000000
--- a/recipes-qt/qt4/qt4-embedded_%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-include qt4-imx-support.inc
diff --git a/recipes-qt/qt4/qt4-imx-support.inc b/recipes-qt/qt4/qt4-imx-support.inc
deleted file mode 100644
index 0efb564..0000000
--- a/recipes-qt/qt4/qt4-imx-support.inc
+++ /dev/null
@@ -1,28 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/qt4:"
-
-python __anonymous () {
- families = ['mx6']
- cur_families = (d.getVar('SOC_FAMILY', True) or '').split(':')
- if any(map(lambda x: x in cur_families,
- families)):
- d.appendVarFlag('do_configure', 'depends', ' virtual/kernel:do_shared_workdir')
-}
-
-SRC_URI_append_mx6 += " \
- file://0001-Add-support-for-i.MX-codecs-to-phonon.patch \
- file://0002-i.MX-video-renderer-Allow-v4l-device-from-environmen.patch \
- file://0003-i.MX6-force-egl-visual-ID-33.patch \
-"
-
-DEPENDS_append_mx6 = " virtual/kernel virtual/libgles2"
-QT_GLFLAGS_mx6 = "-opengl es2 -openvg"
-QT_CONFIG_FLAGS_append_mx6 = " -I${STAGING_KERNEL_DIR}/include/uapi \
- -I${STAGING_KERNEL_DIR}/include/ \
- -DLINUX=1 -DEGL_API_FB=1 \
- -DQT_QPA_EXPERIMENTAL_TOUCHEVENT=1"
-
-# The QT_CONFIG_FLAGS can pollute *.la files with -Dxxx
-do_compile_append_mx6 () {
- find lib -name "*.la" | xargs -n1 sed -i 's/-D.*=1//g'
-}
-
diff --git a/recipes-qt/qt4/qt4-x11-free_%.bbappend b/recipes-qt/qt4/qt4-x11-free_%.bbappend
deleted file mode 100644
index 14324ca..0000000
--- a/recipes-qt/qt4/qt4-x11-free_%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-include qt4-imx-support.inc
diff --git a/recipes-qt/qt4/qt4/0001-Add-support-for-i.MX-codecs-to-phonon.patch b/recipes-qt/qt4/qt4/0001-Add-support-for-i.MX-codecs-to-phonon.patch
deleted file mode 100644
index 1213650..0000000
--- a/recipes-qt/qt4/qt4/0001-Add-support-for-i.MX-codecs-to-phonon.patch
+++ /dev/null
@@ -1,468 +0,0 @@
-From 2ff5682e42771519757756dedbf27b7a9e8e25d9 Mon Sep 17 00:00:00 2001
-From: Rogerio Pimentel <rogerio.pimentel@freescale.com>
-Date: Tue, 24 Jul 2012 13:47:01 -0300
-Subject: [PATCH] Add support for i.MX codecs to phonon
-
-Add support for i.MX codecs to phonon
-
-Signed-off-by: Daniele Dall'Acqua <daniele.d@freescale.com>
-Signed-off-by: Rogerio Pimentel <rogerio.pimentel@freescale.com>
----
- src/3rdparty/phonon/gstreamer/abstractrenderer.h | 1 +
- src/3rdparty/phonon/gstreamer/mediaobject.cpp | 4 +
- src/3rdparty/phonon/gstreamer/videowidget.cpp | 60 ++------
- src/3rdparty/phonon/gstreamer/videowidget.h | 1 +
- src/3rdparty/phonon/gstreamer/widgetrenderer.cpp | 169 ++++++++++++++--------
- src/3rdparty/phonon/gstreamer/widgetrenderer.h | 17 ++-
- src/3rdparty/phonon/gstreamer/x11renderer.cpp | 22 +---
- 7 files changed, 141 insertions(+), 133 deletions(-)
-
-diff --git a/src/3rdparty/phonon/gstreamer/abstractrenderer.h b/src/3rdparty/phonon/gstreamer/abstractrenderer.h
-index 10a2822..fa0d87d 100644
---- a/src/3rdparty/phonon/gstreamer/abstractrenderer.h
-+++ b/src/3rdparty/phonon/gstreamer/abstractrenderer.h
-@@ -49,6 +49,7 @@ public:
- virtual bool eventFilter(QEvent *) = 0;
- virtual void handlePaint(QPaintEvent *) {}
- virtual bool paintsOnWidget() { return true; } // Controls overlays
-+ virtual void handleMove(QMoveEvent * event ) {};
-
- protected:
- VideoWidget *m_videoWidget;
-diff --git a/src/3rdparty/phonon/gstreamer/mediaobject.cpp b/src/3rdparty/phonon/gstreamer/mediaobject.cpp
-index 23a60c0..f806d64 100644
---- a/src/3rdparty/phonon/gstreamer/mediaobject.cpp
-+++ b/src/3rdparty/phonon/gstreamer/mediaobject.cpp
-@@ -515,6 +515,9 @@ void MediaObject::createPipeline()
- // reduce buffer overruns as these are not gracefully handled at the moment.
- m_audioPipe = gst_element_factory_make("queue", NULL);
- g_object_set(G_OBJECT(m_audioPipe), "max-size-time", MAX_QUEUE_TIME, (const char*)NULL);
-+ g_object_set(G_OBJECT(m_audioPipe), "max-size-time", 0, (const char*)NULL);
-+ g_object_set(G_OBJECT(m_audioPipe), "max-size-buffers", 0, (const char*)NULL);
-+ g_object_set(G_OBJECT(m_audioPipe), "max-size-bytes", 0, (const char*)NULL);
- gst_bin_add(GST_BIN(m_audioGraph), m_audioPipe);
- GstPad *audiopad = gst_element_get_pad (m_audioPipe, "sink");
- gst_element_add_pad (m_audioGraph, gst_ghost_pad_new ("sink", audiopad));
-@@ -527,6 +530,7 @@ void MediaObject::createPipeline()
-
- m_videoPipe = gst_element_factory_make("queue", NULL);
- g_object_set(G_OBJECT(m_videoPipe), "max-size-time", MAX_QUEUE_TIME, (const char*)NULL);
-+ g_object_set(G_OBJECT(m_videoPipe), "max-size-time", 33000, (const char*)NULL);
- gst_bin_add(GST_BIN(m_videoGraph), m_videoPipe);
- GstPad *videopad = gst_element_get_pad (m_videoPipe, "sink");
- gst_element_add_pad (m_videoGraph, gst_ghost_pad_new ("sink", videopad));
-diff --git a/src/3rdparty/phonon/gstreamer/videowidget.cpp b/src/3rdparty/phonon/gstreamer/videowidget.cpp
-index a4c6f79..3682d3f 100644
---- a/src/3rdparty/phonon/gstreamer/videowidget.cpp
-+++ b/src/3rdparty/phonon/gstreamer/videowidget.cpp
-@@ -83,50 +83,16 @@ void VideoWidget::setupVideoBin()
- Q_ASSERT(m_videoBin);
- gst_object_ref (GST_OBJECT (m_videoBin)); //Take ownership
- gst_object_sink (GST_OBJECT (m_videoBin));
--
-- //The videoplug element is the final element before the pluggable videosink
-- m_videoplug = gst_element_factory_make ("identity", NULL);
--
-- //Colorspace ensures that the output of the stream matches the input format accepted by our video sink
-- m_colorspace = gst_element_factory_make ("ffmpegcolorspace", NULL);
--
-- //Video scale is used to prepare the correct aspect ratio and scale.
-- GstElement *videoScale = gst_element_factory_make ("videoscale", NULL);
--
-- //We need a queue to support the tee from parent node
-- GstElement *queue = gst_element_factory_make ("queue", NULL);
--
-- if (queue && m_videoBin && videoScale && m_colorspace && videoSink && m_videoplug) {
-- //Ensure that the bare essentials are prepared
-- gst_bin_add_many (GST_BIN (m_videoBin), queue, m_colorspace, m_videoplug, videoScale, videoSink, (const char*)NULL);
-- bool success = false;
-- //Video balance controls color/sat/hue in the YUV colorspace
-- m_videoBalance = gst_element_factory_make ("videobalance", NULL);
-- if (m_videoBalance) {
-- // For video balance to work we have to first ensure that the video is in YUV colorspace,
-- // then hand it off to the videobalance filter before finally converting it back to RGB.
-- // Hence we nede a videoFilter to convert the colorspace before and after videobalance
-- GstElement *m_colorspace2 = gst_element_factory_make ("ffmpegcolorspace", NULL);
-- gst_bin_add_many(GST_BIN(m_videoBin), m_videoBalance, m_colorspace2, (const char*)NULL);
-- success = gst_element_link_many(queue, m_colorspace, m_videoBalance, m_colorspace2, videoScale, m_videoplug, videoSink, (const char*)NULL);
-- } else {
-- //If video balance is not available, just connect to sink directly
-- success = gst_element_link_many(queue, m_colorspace, videoScale, m_videoplug, videoSink, (const char*)NULL);
-- }
--
-- if (success) {
-- GstPad *videopad = gst_element_get_pad (queue, "sink");
-- gst_element_add_pad (m_videoBin, gst_ghost_pad_new ("sink", videopad));
-- gst_object_unref (videopad);
--#ifndef Q_WS_QPA
-- QWidget *parentWidget = qobject_cast<QWidget*>(parent());
-- if (parentWidget)
-- parentWidget->winId(); // Due to some existing issues with alien in 4.4,
-- // we must currently force the creation of a parent widget.
--#endif
-- m_isValid = true; //initialization ok, accept input
-- }
-- }
-+ gst_bin_add_many (GST_BIN (m_videoBin), videoSink, NULL);
-+ GstPad *videopad = gst_element_get_pad (videoSink,"sink");
-+ gst_element_add_pad (m_videoBin, gst_ghost_pad_new ("sink", videopad));
-+ gst_object_unref (videopad);
-+ QWidget *parentWidget = qobject_cast<QWidget*>(parent());
-+
-+ if (parentWidget)
-+ parentWidget->winId(); // Due to some existing issues with alien in 4.4,
-+ // we must currently force the creation of a parent widget.
-+ m_isValid = true; //initialization ok, accept input
- }
-
- void VideoWidget::paintEvent(QPaintEvent *event)
-@@ -135,6 +101,12 @@ void VideoWidget::paintEvent(QPaintEvent *event)
- m_renderer->handlePaint(event);
- }
-
-+void VideoWidget::moveEvent(QMoveEvent * event )
-+{
-+ Q_ASSERT(m_renderer);
-+ m_renderer->handleMove(event);
-+}
-+
- void VideoWidget::setVisible(bool val) {
- Q_ASSERT(m_renderer);
-
-diff --git a/src/3rdparty/phonon/gstreamer/videowidget.h b/src/3rdparty/phonon/gstreamer/videowidget.h
-index 8603f6a..38c7b17 100644
---- a/src/3rdparty/phonon/gstreamer/videowidget.h
-+++ b/src/3rdparty/phonon/gstreamer/videowidget.h
-@@ -65,6 +65,7 @@ public:
- qreal saturation() const;
- void setSaturation(qreal);
- void setMovieSize(const QSize &size);
-+ void moveEvent(QMoveEvent * event );
- QSize sizeHint() const;
- QRect scaleToAspect(QRect srcRect, int w, int h) const;
- QRect calculateDrawFrameRect() const;
-diff --git a/src/3rdparty/phonon/gstreamer/widgetrenderer.cpp b/src/3rdparty/phonon/gstreamer/widgetrenderer.cpp
-index 423af9d..aa4925a 100644
---- a/src/3rdparty/phonon/gstreamer/widgetrenderer.cpp
-+++ b/src/3rdparty/phonon/gstreamer/widgetrenderer.cpp
-@@ -15,7 +15,9 @@
- along with this library. If not, see <http://www.gnu.org/licenses/>.
- */
-
-+#include <QMouseEvent>
- #include <QtGui/QPainter>
-+#include <QPaintEvent>
- #include <gst/gst.h>
- #include "common.h"
- #include "message.h"
-@@ -24,6 +26,18 @@
- #include "widgetrenderer.h"
- #include "qrgb.h"
-
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <errno.h>
-+#include <stdint.h>
-+#include <fcntl.h>
-+#include <sys/ioctl.h>
-+#include <unistd.h>
-+#include <linux/mxcfb.h>
-+
-+#define MXCFB_GBL_ALPHA 255
-+#define MXCFB_CLR_KEY 0x00000000 // ARGB8888
-+
- // support old OpenGL installations (1.2)
- // assume that if TEXTURE0 isn't defined, none are
- #ifndef GL_TEXTURE0
-@@ -35,26 +49,6 @@
- #ifndef QT_NO_PHONON_VIDEO
- QT_BEGIN_NAMESPACE
-
--static void frameRendered()
--{
-- static QString displayFps = qgetenv("PHONON_GST_FPS");
-- if (displayFps.isEmpty())
-- return;
--
-- static int frames = 0;
-- static QTime lastTime = QTime::currentTime();
-- QTime time = QTime::currentTime();
--
-- int delta = lastTime.msecsTo(time);
-- if (delta > 2000) {
-- printf("FPS: %f\n", 1000.0 * frames / qreal(delta));
-- lastTime = time;
-- frames = 0;
-- }
--
-- ++frames;
--}
--
- namespace Phonon
- {
- namespace Gstreamer
-@@ -62,17 +56,11 @@ namespace Gstreamer
-
- WidgetRenderer::WidgetRenderer(VideoWidget *videoWidget)
- : AbstractRenderer(videoWidget)
-- , m_width(0)
-- , m_height(0)
- {
-- videoWidget->backend()->logMessage("Creating QWidget renderer");
-- if ((m_videoSink = GST_ELEMENT(g_object_new(get_type_RGB(), NULL)))) {
-- gst_object_ref (GST_OBJECT (m_videoSink)); //Take ownership
-+ if ((m_videoSink = gst_element_factory_make("mfw_v4lsink", NULL)) && m_videoSink != NULL) {
-+
-+ gst_object_ref (GST_OBJECT (m_videoSink)); //Take ownership
- gst_object_sink (GST_OBJECT (m_videoSink));
--
-- QWidgetVideoSinkBase* sink = reinterpret_cast<QWidgetVideoSinkBase*>(m_videoSink);
-- // Let the videosink know which widget to direct frame updates to
-- sink->renderWidget = videoWidget;
- }
-
- // Clear the background with black by default
-@@ -84,67 +72,124 @@ WidgetRenderer::WidgetRenderer(VideoWidget *videoWidget)
- m_videoWidget->setAttribute(Qt::WA_PaintOnScreen, false);
- }
-
--void WidgetRenderer::setNextFrame(const QByteArray &array, int w, int h)
-+WidgetRenderer::~WidgetRenderer()
- {
-- if (m_videoWidget->root()->state() == Phonon::LoadingState)
-- return;
--
-- m_frame = QImage();
-- {
-- m_frame = QImage((uchar *)array.constData(), w, h, QImage::Format_RGB32);
-- }
-+ if (m_videoSink) {
-+ gst_object_unref (GST_OBJECT (m_videoSink));
-+ m_videoSink = 0;
-+ }
-+}
-
-- m_array = array;
-- m_width = w;
-- m_height = h;
-+void WidgetRenderer::setVideoSize(void)
-+{
-
-- m_videoWidget->update();
-+ int adj_x;
-+ int adj_y;
-+
-+ QSize wSize = m_videoWidget->size();
-+ m_drawFrameRect = m_videoWidget->calculateDrawFrameRect();
-+ framePos = m_videoWidget->mapToGlobal(QPoint(0,0));
-+
-+ //Center the video in the widget
-+
-+ adj_x = (wSize.width()/2) - (m_drawFrameRect.width()/2);
-+ adj_y = (wSize.height()/2) - (m_drawFrameRect.height()/2);
-+ g_object_set(G_OBJECT(m_videoSink), "axis-left",adj_x + framePos.x(),(const char*)NULL);
-+ g_object_set(G_OBJECT(m_videoSink), "axis-top", adj_y + framePos.y(), (const char*)NULL);
-+ g_object_set(G_OBJECT(m_videoSink), "disp-width", m_drawFrameRect.width(), (const char*)NULL);
-+ g_object_set(G_OBJECT(m_videoSink), "disp-height", m_drawFrameRect.height(), (const char*)NULL);
-+ g_object_set(G_OBJECT(m_videoSink), "setpara", 1, (const char*)NULL);
- }
-
- void WidgetRenderer::handleMediaNodeEvent(const MediaNodeEvent *event)
- {
- switch (event->type()) {
-- case MediaNodeEvent::SourceChanged:
-- {
-- clearFrame();
-- break;
-- }
- default:
- break;
- }
- }
-
--void WidgetRenderer::clearFrame()
-+void WidgetRenderer::handlePaint(QPaintEvent *event)
- {
-- m_frame = QImage();
-- m_array = QByteArray();
-- m_videoWidget->update();
-+ Q_UNUSED(event);
-+ QPainter painter(m_videoWidget);
-+ painter.fillRect(m_videoWidget->rect(), m_videoWidget->palette().background());
- }
-
--const QImage &WidgetRenderer::currentFrame() const
-+int WidgetRenderer::setOverlay(void)
- {
-- return m_frame;
-+ struct mxcfb_color_key color_key;
-+ struct mxcfb_gbl_alpha alpha;
-+ int fd_fb;
-+
-+ if ((fd_fb = open("/dev/fb0", O_RDWR, 0)) < 0)
-+ {
-+ printf("Unable to open %s\n", "/dev/fb0");
-+ return -1;
-+
-+ }
-+
-+ alpha.alpha = MXCFB_GBL_ALPHA;
-+ alpha.enable = 1;
-+
-+ if (ioctl(fd_fb, MXCFB_SET_GBL_ALPHA, &alpha) < 0) {
-+ printf("Error in applying Alpha\n");
-+ }
-+
-+ color_key.color_key = MXCFB_CLR_KEY & 0x00FFFFFF;
-+ color_key.enable = 1;
-+ if ( ioctl(fd_fb, MXCFB_SET_CLR_KEY, &color_key) < 0) {
-+
-+ printf("Error in applying Color Key\n");
-+ return -1;
-+ }
-+
-+ close (fd_fb);
-+
-+ return 0;
- }
-
--void WidgetRenderer::handlePaint(QPaintEvent *event)
-+void WidgetRenderer::handleMove( QMoveEvent * event)
- {
-- Q_UNUSED(event);
-- QPainter painter(m_videoWidget);
-- m_drawFrameRect = m_videoWidget->calculateDrawFrameRect();
-- painter.drawImage(drawFrameRect(), currentFrame());
-- frameRendered();
-+ Q_UNUSED(event);
-+
-+ if (framePos != m_videoWidget->mapToGlobal(QPoint(0,0)))
-+ setVideoSize();
- }
-
- bool WidgetRenderer::eventFilter(QEvent * event)
- {
-- if (event->type() == QEvent::User) {
-- NewFrameEvent *frameEvent= static_cast <NewFrameEvent *>(event);
-- setNextFrame(frameEvent->frame, frameEvent->width, frameEvent->height);
-- return true;
-+ if (event->type() == QEvent::Show) {
-+
-+ setOverlay();
-+ return true;
-+
-+ } else if (event->type() == QEvent::Resize) {
-+
-+ setVideoSize();
-+ return true;
- }
-+ if (framePos != m_videoWidget->mapToGlobal(QPoint(0,0)))
-+ setVideoSize();
- return false;
- }
-
-+void WidgetRenderer::aspectRatioChanged(Phonon::VideoWidget::AspectRatio)
-+{
-+ setVideoSize();
-+}
-+
-+void WidgetRenderer::scaleModeChanged(Phonon::VideoWidget::ScaleMode)
-+{
-+ setVideoSize();
-+}
-+
-+void WidgetRenderer::movieSizeChanged(const QSize &movieSize)
-+{
-+ Q_UNUSED(movieSize);
-+ setVideoSize();
-+}
-+
- }
- } //namespace Phonon::Gstreamer
-
-diff --git a/src/3rdparty/phonon/gstreamer/widgetrenderer.h b/src/3rdparty/phonon/gstreamer/widgetrenderer.h
-index 03ee9c0..6de1a03 100644
---- a/src/3rdparty/phonon/gstreamer/widgetrenderer.h
-+++ b/src/3rdparty/phonon/gstreamer/widgetrenderer.h
-@@ -40,20 +40,21 @@ class WidgetRenderer : public AbstractRenderer
- {
- public:
- WidgetRenderer(VideoWidget *videoWidget);
-+ ~WidgetRenderer(void);
- bool eventFilter(QEvent * event);
- void handlePaint(QPaintEvent *paintEvent);
- void handleMediaNodeEvent(const MediaNodeEvent *event);
-- const QImage& currentFrame() const;
- QRect drawFrameRect() const { return m_drawFrameRect; }
-- void setNextFrame(const QByteArray &array, int width, int height);
-- bool frameIsSet() { return !m_array.isNull(); }
-- void clearFrame();
-+ void aspectRatioChanged(Phonon::VideoWidget::AspectRatio aspectRatio);
-+ void scaleModeChanged(Phonon::VideoWidget::ScaleMode scaleMode);
-+ void movieSizeChanged(const QSize &movieSize);
-+ void setVideoSize(void);
-+ int setOverlay(void);
-+ void handleMove(QMoveEvent* event);
- private:
-- mutable QImage m_frame;
-- QByteArray m_array;
-- int m_width;
-- int m_height;
-+ void paintEvent ( QPaintEvent * event );
- QRect m_drawFrameRect;
-+ QPoint framePos;
- };
-
- }
-diff --git a/src/3rdparty/phonon/gstreamer/x11renderer.cpp b/src/3rdparty/phonon/gstreamer/x11renderer.cpp
-index 968f3a8..c4662e7 100644
---- a/src/3rdparty/phonon/gstreamer/x11renderer.cpp
-+++ b/src/3rdparty/phonon/gstreamer/x11renderer.cpp
-@@ -31,6 +31,8 @@
- #include "mediaobject.h"
- #include "message.h"
-
-+#define FSL_GSTREAMER 1
-+
- QT_BEGIN_NAMESPACE
-
- namespace Phonon
-@@ -78,31 +80,16 @@ X11Renderer::~X11Renderer()
- {
- m_renderWidget->setAttribute(Qt::WA_PaintOnScreen, false);
- m_renderWidget->setAttribute(Qt::WA_NoSystemBackground, false);
-+ if (m_videoSink) {
-+ gst_object_unref (GST_OBJECT (m_videoSink));
-+ }
- delete m_renderWidget;
- }
-
- GstElement* X11Renderer::createVideoSink()
- {
-- GstElement *videoSink = gst_element_factory_make ("xvimagesink", NULL);
-- if (videoSink) {
-- // Check if the xv sink is usable
-- if (gst_element_set_state(videoSink, GST_STATE_READY) != GST_STATE_CHANGE_SUCCESS) {
-- gst_object_unref(GST_OBJECT(videoSink));
-- videoSink = 0;
-- } else {
-- // Note that this should not really be necessary as these are
-- // default values, though under certain conditions values are retained
-- // even between application instances. (reproducible on 0.10.16/Gutsy)
-- g_object_set(G_OBJECT(videoSink), "brightness", 0, (const char*)NULL);
-- g_object_set(G_OBJECT(videoSink), "contrast", 0, (const char*)NULL);
-- g_object_set(G_OBJECT(videoSink), "hue", 0, (const char*)NULL);
-- g_object_set(G_OBJECT(videoSink), "saturation", 0, (const char*)NULL);
-- }
-- }
--
-- if (!videoSink)
-- videoSink = gst_element_factory_make ("ximagesink", NULL);
-
-+ GstElement *videoSink = gst_element_factory_make ("mfw_v4lsink", NULL);
- gst_object_ref (GST_OBJECT (videoSink)); //Take ownership
- gst_object_sink (GST_OBJECT (videoSink));
-
---
-1.7.1
-
diff --git a/recipes-qt/qt4/qt4/0002-i.MX-video-renderer-Allow-v4l-device-from-environmen.patch b/recipes-qt/qt4/qt4/0002-i.MX-video-renderer-Allow-v4l-device-from-environmen.patch
deleted file mode 100644
index 0226db5..0000000
--- a/recipes-qt/qt4/qt4/0002-i.MX-video-renderer-Allow-v4l-device-from-environmen.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 023befba9aad60ef58177fd987a6aa40c357b2b2 Mon Sep 17 00:00:00 2001
-From: Eric Nelson <eric.nelson@boundarydevices.com>
-Date: Fri, 16 Aug 2013 11:42:23 -0700
-Subject: [PATCH] i.MX video renderer: Allow v4l device from environment
-
-The i.MX6 supports multiple IPUs and multiple V4L2 output
-devices for each.
-
-Devices are numbered starting with /dev/video16 and defined
-for each configured display. In general, /dev/video16 will
-correspond to the RGB (background) layer for /dev/fb0.
-If a display is the first on an IPU, an additional V4L2
-output will be defined that corresponds to the normally
-YUV overlay (foreground) layer.
-
-This patch allows association of the proper device for
-a particular session for use in multi-headed applications.
-The default is /dev/video17:
- export v4lsinkdev=/dev/video17
-
-Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
----
- src/3rdparty/phonon/gstreamer/widgetrenderer.cpp | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/src/3rdparty/phonon/gstreamer/widgetrenderer.cpp b/src/3rdparty/phonon/gstreamer/widgetrenderer.cpp
-index aa4925a..a502ccd 100644
---- a/src/3rdparty/phonon/gstreamer/widgetrenderer.cpp
-+++ b/src/3rdparty/phonon/gstreamer/widgetrenderer.cpp
-@@ -58,9 +58,12 @@ WidgetRenderer::WidgetRenderer(VideoWidget *videoWidget)
- : AbstractRenderer(videoWidget)
- {
- if ((m_videoSink = gst_element_factory_make("mfw_v4lsink", NULL)) && m_videoSink != NULL) {
--
-+ char *videodev;
- gst_object_ref (GST_OBJECT (m_videoSink)); //Take ownership
- gst_object_sink (GST_OBJECT (m_videoSink));
-+ videodev=getenv("v4lsinkdev");
-+ if (videodev)
-+ g_object_set (G_OBJECT (m_videoSink), "device", videodev, NULL);
- }
-
- // Clear the background with black by default
---
-1.8.1.2
-
diff --git a/recipes-qt/qt4/qt4/0003-i.MX6-force-egl-visual-ID-33.patch b/recipes-qt/qt4/qt4/0003-i.MX6-force-egl-visual-ID-33.patch
deleted file mode 100644
index 9aa158d..0000000
--- a/recipes-qt/qt4/qt4/0003-i.MX6-force-egl-visual-ID-33.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From: Javier Viguera <javier.viguera@digi.com>
-Date: Mon, 3 Mar 2014 17:10:41 +0100
-Subject: [PATCH] i.MX6: force egl visual ID 33
-
-Workaround mismatch between EGL binary libraries and QT for FSL MX6
-based platforms.
-
-Error:
-Warning: EGL suggested using X Visual ID 33 (ARGB0888) for EGL config 28 (ARGB0444), but this is incompatable
-Unable to find an X11 visual which matches EGL config 28
-
-Patch adapted from:
-
-http://wiki.wandboard.org/index.php/Integrate_Qt5_into_yocto_sato_image_on_Wandboard
-
-Upstream-Status: Inappropriate [workaround]
-
-Signed-off-by: Javier Viguera <javier.viguera@digi.com>
----
- src/gui/egl/qegl_x11.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/gui/egl/qegl_x11.cpp b/src/gui/egl/qegl_x11.cpp
-index 196d0f77bf2d..8acf5a6c99d4 100644
---- a/src/gui/egl/qegl_x11.cpp
-+++ b/src/gui/egl/qegl_x11.cpp
-@@ -319,7 +319,7 @@ VisualID QEgl::getCompatibleVisualId(EGLConfig config)
- }
-
- qWarning("Unable to find an X11 visual which matches EGL config %d", configId);
-- return (VisualID)0;
-+ return (VisualID)33;
- }
-
- void qt_set_winid_on_widget(QWidget* w, Qt::HANDLE id)
diff --git a/recipes-qt/qt4/qt4/mx6/g++.conf b/recipes-qt/qt4/qt4/mx6/g++.conf
deleted file mode 100644
index 915ecba..0000000
--- a/recipes-qt/qt4/qt4/mx6/g++.conf
+++ /dev/null
@@ -1,40 +0,0 @@
-#
-# qmake configuration for common gcc
-#
-
-QMAKE_COMPILER = gcc
-
-QMAKE_CC = $(OE_QMAKE_CC)
-QMAKE_CFLAGS += $(OE_QMAKE_CFLAGS) -DLINUX=1 -DEGL_API_FB=1
-QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $(OE_QMAKE_CFLAGS)
-QMAKE_CFLAGS_PRECOMPILE += -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
-QMAKE_CFLAGS_USE_PRECOMPILE += -include ${QMAKE_PCH_OUTPUT_BASE}
-
-QMAKE_CXX = $(OE_QMAKE_CXX)
-QMAKE_CXXFLAGS += $(OE_QMAKE_CXXFLAGS) -DLINUX=1 -DEGL_API_FB=1
-QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
-QMAKE_CXXFLAGS_PRECOMPILE += -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
-QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
-
-QMAKE_LINK = $(OE_QMAKE_LINK)
-QMAKE_LINK_SHLIB = $(OE_QMAKE_LINK)
-QMAKE_LINK_C = $(OE_QMAKE_LINK)
-QMAKE_LINK_C_SHLIB = $(OE_QMAKE_LINK)
-QMAKE_LFLAGS += $(OE_QMAKE_LDFLAGS)
-QMAKE_LFLAGS_NOUNDEF += -Wl,--no-undefined
-QMAKE_LFLAGS_RPATH = -Wl,-rpath-link,
-
-QMAKE_PCH_OUTPUT_EXT = .gch
-
-# -Bsymbolic-functions (ld) support
-QMAKE_LFLAGS_BSYMBOLIC_FUNC = -Wl,-Bsymbolic-functions
-QMAKE_LFLAGS_DYNAMIC_LIST = -Wl,--dynamic-list,
-
-# do not depend on gdb
-CONFIG -= gdb_dwarf_index
-
-# some linking helper...
-CONFIG += rpath_libdirs
-
-# for the SDK
-isEmpty(QMAKE_QT_CONFIG):QMAKE_QT_CONFIG = $(OE_QMAKE_QT_CONFIG)
diff --git a/recipes-qt/qt4/qt4/mx6/linux.conf b/recipes-qt/qt4/qt4/mx6/linux.conf
deleted file mode 100644
index c644d8b..0000000
--- a/recipes-qt/qt4/qt4/mx6/linux.conf
+++ /dev/null
@@ -1,66 +0,0 @@
-#
-# qmake configuration for common linux
-#
-
-QMAKE_CFLAGS_THREAD += -D_REENTRANT
-QMAKE_CXXFLAGS_THREAD += $$QMAKE_CFLAGS_THREAD
-
-QMAKE_INCDIR =
-QMAKE_LIBDIR =
-QMAKE_INCDIR_X11 =
-QMAKE_LIBDIR_X11 =
-QMAKE_INCDIR_QT = $(OE_QMAKE_INCDIR_QT)
-QMAKE_LIBDIR_QT = $(OE_QMAKE_LIBDIR_QT)
-QMAKE_INCDIR_OPENGL =
-QMAKE_LIBDIR_OPENGL =
-QMAKE_INCDIR_OPENGL_ES1 = $$QMAKE_INCDIR_OPENGL
-QMAKE_LIBDIR_OPENGL_ES1 = $$QMAKE_LIBDIR_OPENGL
-QMAKE_INCDIR_OPENGL_ES2 = $$QMAKE_INCDIR_OPENGL
-QMAKE_LIBDIR_OPENGL_ES2 = $$QMAKE_LIBDIR_OPENGL
-QMAKE_INCDIR_EGL =
-QMAKE_LIBDIR_EGL =
-QMAKE_INCDIR_OPENVG =
-QMAKE_LIBDIR_OPENVG =
-
-
-QMAKE_LIBS =
-QMAKE_LIBS_DYNLOAD = -ldl
-QMAKE_LIBS_X11 = $(OE_QMAKE_LIBS_X11)
-QMAKE_LIBS_X11SM = $(OE_QMAKE_LIBS_X11SM)
-QMAKE_LIBS_NIS = -lnsl
-QMAKE_LIBS_EGL = -lEGL -lGAL -DLINUX=1 -DEGL_API_FB=1
-QMAKE_LIBS_OPENGL = -lGL
-QMAKE_LIBS_OPENGL_QT = -lGL
-QMAKE_LIBS_OPENGL_ES1 = -lGLES_CM
-QMAKE_LIBS_OPENGL_ES2 = -lGLESv2 -lGAL -lEGL -DLINUX=1 -DEGL_API_FB=1
-QMAKE_LIBS_OPENVG = -lOpenVG -lGAL -lEGL -DLINUX=1 -DEGL_API_FB=1
-QMAKE_LIBS_THREAD = -lpthread
-
-QMAKE_MOC = $(OE_QMAKE_MOC)
-QMAKE_UIC = $(OE_QMAKE_UIC)
-QMAKE_UIC3 = $(OE_QMAKE_UIC3)
-QMAKE_RCC = $(OE_QMAKE_RCC)
-QMAKE_QDBUSCPP2XML = $(OE_QMAKE_QDBUSCPP2XML)
-QMAKE_QDBUSXML2CPP = $(OE_QMAKE_QDBUSXML2CPP)
-
-QMAKE_AR = $(OE_QMAKE_AR) cqs
-QMAKE_OBJCOPY = objcopy
-QMAKE_RANLIB =
-
-QMAKE_TAR = tar -cf
-QMAKE_GZIP = gzip -9f
-
-QMAKE_COPY = cp -f
-QMAKE_COPY_FILE = $(COPY)
-QMAKE_COPY_DIR = $(COPY) -r
-QMAKE_MOVE = mv -f
-QMAKE_DEL_FILE = rm -f
-QMAKE_DEL_DIR = rmdir
-QMAKE_STRIP = $(OE_QMAKE_STRIP)
-QMAKE_STRIPFLAGS_LIB += --strip-unneeded
-QMAKE_CHK_DIR_EXISTS = test -d
-QMAKE_MKDIR = mkdir -p
-QMAKE_INSTALL_FILE = install -m 644 -p
-QMAKE_INSTALL_PROGRAM = install -m 755 -p
-
-include(unix.conf)