summaryrefslogtreecommitdiffstats
path: root/recipes-qt
diff options
context:
space:
mode:
authorRogerio Pimentel <rogerio.pimentel@freescale.com>2012-08-09 13:55:19 -0500
committerOtavio Salvador <otavio@ossystems.com.br>2012-08-09 16:44:05 -0300
commit553d69bf24c6281270351d17e938892665c9a39a (patch)
treefa2dc0f963ab7abefd7033b7d88811575234b274 /recipes-qt
parent5f6b9909910c43d7f05cf4947af8d292bd5b60c8 (diff)
downloadmeta-fsl-arm-553d69bf24c6281270351d17e938892665c9a39a.tar.gz
qt4: Update to Qt 4.8.1
This patch adds support for Freescale codecs on Qt 4.8.1 The patch "0001-Add-support-for-i.MX-codecs-to-phonon.patch" has been updated to match the Phonon version contained on Qt 4.8.1 Signed-off-by: Rogerio Pimentel <rogerio.pimentel@freescale.com>
Diffstat (limited to 'recipes-qt')
-rw-r--r--recipes-qt/qt4/qt4-embedded_4.8.1.bbappend (renamed from recipes-qt/qt4/qt4-embedded_4.7.4.bbappend)0
-rw-r--r--recipes-qt/qt4/qt4-x11-free_4.8.1.bbappend (renamed from recipes-qt/qt4/qt4-x11-free_4.7.4.bbappend)2
-rw-r--r--recipes-qt/qt4/qt4/0001-Add-support-for-i.MX-codecs-to-phonon.patch173
3 files changed, 91 insertions, 84 deletions
diff --git a/recipes-qt/qt4/qt4-embedded_4.7.4.bbappend b/recipes-qt/qt4/qt4-embedded_4.8.1.bbappend
index 70d890f..70d890f 100644
--- a/recipes-qt/qt4/qt4-embedded_4.7.4.bbappend
+++ b/recipes-qt/qt4/qt4-embedded_4.8.1.bbappend
diff --git a/recipes-qt/qt4/qt4-x11-free_4.7.4.bbappend b/recipes-qt/qt4/qt4-x11-free_4.8.1.bbappend
index cebb203..70d890f 100644
--- a/recipes-qt/qt4/qt4-x11-free_4.7.4.bbappend
+++ b/recipes-qt/qt4/qt4-x11-free_4.8.1.bbappend
@@ -7,4 +7,4 @@ SRC_URI_append_mx6 += "file://0001-Add-support-for-i.MX-codecs-to-phonon.patch"
7PACKAGE_ARCH_mx5 = "${MACHINE_ARCH}" 7PACKAGE_ARCH_mx5 = "${MACHINE_ARCH}"
8PACKAGE_ARCH_mx6 = "${MACHINE_ARCH}" 8PACKAGE_ARCH_mx6 = "${MACHINE_ARCH}"
9 9
10PRINC := "${@int(PRINC) + 1}" 10PRINC := "${@int(PRINC) + 2}"
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
index 077939b..fd6483d 100644
--- 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
@@ -1,6 +1,6 @@
1From d46b70c7679e6706a001771c322185fcc95a981c Mon Sep 17 00:00:00 2001 1From 2ff5682e42771519757756dedbf27b7a9e8e25d9 Mon Sep 17 00:00:00 2001
2From: Rogerio Pimentel <rogerio.pimentel@freescale.com> 2From: Rogerio Pimentel <rogerio.pimentel@freescale.com>
3Date: Mon, 4 Jun 2012 14:25:31 -0300 3Date: Tue, 24 Jul 2012 13:47:01 -0300
4Subject: [PATCH] Add support for i.MX codecs to phonon 4Subject: [PATCH] Add support for i.MX codecs to phonon
5 5
6Add support for i.MX codecs to phonon 6Add support for i.MX codecs to phonon
@@ -10,15 +10,15 @@ Signed-off-by: Rogerio Pimentel <rogerio.pimentel@freescale.com>
10--- 10---
11 src/3rdparty/phonon/gstreamer/abstractrenderer.h | 1 + 11 src/3rdparty/phonon/gstreamer/abstractrenderer.h | 1 +
12 src/3rdparty/phonon/gstreamer/mediaobject.cpp | 4 + 12 src/3rdparty/phonon/gstreamer/mediaobject.cpp | 4 +
13 src/3rdparty/phonon/gstreamer/videowidget.cpp | 57 ++------ 13 src/3rdparty/phonon/gstreamer/videowidget.cpp | 60 ++------
14 src/3rdparty/phonon/gstreamer/videowidget.h | 1 + 14 src/3rdparty/phonon/gstreamer/videowidget.h | 1 +
15 src/3rdparty/phonon/gstreamer/widgetrenderer.cpp | 166 +++++++++++++--------- 15 src/3rdparty/phonon/gstreamer/widgetrenderer.cpp | 169 ++++++++++++++--------
16 src/3rdparty/phonon/gstreamer/widgetrenderer.h | 17 ++- 16 src/3rdparty/phonon/gstreamer/widgetrenderer.h | 17 ++-
17 src/3rdparty/phonon/gstreamer/x11renderer.cpp | 23 +--- 17 src/3rdparty/phonon/gstreamer/x11renderer.cpp | 22 +---
18 7 files changed, 136 insertions(+), 133 deletions(-) 18 7 files changed, 141 insertions(+), 133 deletions(-)
19 19
20diff --git a/src/3rdparty/phonon/gstreamer/abstractrenderer.h b/src/3rdparty/phonon/gstreamer/abstractrenderer.h 20diff --git a/src/3rdparty/phonon/gstreamer/abstractrenderer.h b/src/3rdparty/phonon/gstreamer/abstractrenderer.h
21index 10a2822..4901530 100644 21index 10a2822..fa0d87d 100644
22--- a/src/3rdparty/phonon/gstreamer/abstractrenderer.h 22--- a/src/3rdparty/phonon/gstreamer/abstractrenderer.h
23+++ b/src/3rdparty/phonon/gstreamer/abstractrenderer.h 23+++ b/src/3rdparty/phonon/gstreamer/abstractrenderer.h
24@@ -49,6 +49,7 @@ public: 24@@ -49,6 +49,7 @@ public:
@@ -52,19 +52,14 @@ index 23a60c0..f806d64 100644
52 GstPad *videopad = gst_element_get_pad (m_videoPipe, "sink"); 52 GstPad *videopad = gst_element_get_pad (m_videoPipe, "sink");
53 gst_element_add_pad (m_videoGraph, gst_ghost_pad_new ("sink", videopad)); 53 gst_element_add_pad (m_videoGraph, gst_ghost_pad_new ("sink", videopad));
54diff --git a/src/3rdparty/phonon/gstreamer/videowidget.cpp b/src/3rdparty/phonon/gstreamer/videowidget.cpp 54diff --git a/src/3rdparty/phonon/gstreamer/videowidget.cpp b/src/3rdparty/phonon/gstreamer/videowidget.cpp
55index e1f0ec9..6c9862b 100644 55index a4c6f79..3682d3f 100644
56--- a/src/3rdparty/phonon/gstreamer/videowidget.cpp 56--- a/src/3rdparty/phonon/gstreamer/videowidget.cpp
57+++ b/src/3rdparty/phonon/gstreamer/videowidget.cpp 57+++ b/src/3rdparty/phonon/gstreamer/videowidget.cpp
58@@ -81,48 +81,17 @@ void VideoWidget::setupVideoBin() 58@@ -83,50 +83,16 @@ void VideoWidget::setupVideoBin()
59 Q_ASSERT(m_videoBin); 59 Q_ASSERT(m_videoBin);
60 gst_object_ref (GST_OBJECT (m_videoBin)); //Take ownership 60 gst_object_ref (GST_OBJECT (m_videoBin)); //Take ownership
61 gst_object_sink (GST_OBJECT (m_videoBin)); 61 gst_object_sink (GST_OBJECT (m_videoBin));
62+ gst_bin_add_many (GST_BIN (m_videoBin), videoSink, NULL); 62-
63+ GstPad *videopad = gst_element_get_pad (videoSink,"sink");
64+ gst_element_add_pad (m_videoBin, gst_ghost_pad_new ("sink", videopad));
65+ gst_object_unref (videopad);
66+ QWidget *parentWidget = qobject_cast<QWidget*>(parent());
67
68- //The videoplug element is the final element before the pluggable videosink 63- //The videoplug element is the final element before the pluggable videosink
69- m_videoplug = gst_element_factory_make ("identity", NULL); 64- m_videoplug = gst_element_factory_make ("identity", NULL);
70- 65-
@@ -94,26 +89,34 @@ index e1f0ec9..6c9862b 100644
94- //If video balance is not available, just connect to sink directly 89- //If video balance is not available, just connect to sink directly
95- success = gst_element_link_many(queue, m_colorspace, videoScale, m_videoplug, videoSink, (const char*)NULL); 90- success = gst_element_link_many(queue, m_colorspace, videoScale, m_videoplug, videoSink, (const char*)NULL);
96- } 91- }
97+ if (parentWidget) 92-
98+ parentWidget->winId(); // Due to some existing issues with alien in 4.4,
99+ // we must currently force the creation of a parent widget.
100+ m_isValid = true; //initialization ok, accept input
101
102- if (success) { 93- if (success) {
103- GstPad *videopad = gst_element_get_pad (queue, "sink"); 94- GstPad *videopad = gst_element_get_pad (queue, "sink");
104- gst_element_add_pad (m_videoBin, gst_ghost_pad_new ("sink", videopad)); 95- gst_element_add_pad (m_videoBin, gst_ghost_pad_new ("sink", videopad));
105- gst_object_unref (videopad); 96- gst_object_unref (videopad);
97-#ifndef Q_WS_QPA
106- QWidget *parentWidget = qobject_cast<QWidget*>(parent()); 98- QWidget *parentWidget = qobject_cast<QWidget*>(parent());
107- if (parentWidget) 99- if (parentWidget)
108- parentWidget->winId(); // Due to some existing issues with alien in 4.4, 100- parentWidget->winId(); // Due to some existing issues with alien in 4.4,
109- // we must currently force the creation of a parent widget. 101- // we must currently force the creation of a parent widget.
102-#endif
110- m_isValid = true; //initialization ok, accept input 103- m_isValid = true; //initialization ok, accept input
111- } 104- }
112- } 105- }
106+ gst_bin_add_many (GST_BIN (m_videoBin), videoSink, NULL);
107+ GstPad *videopad = gst_element_get_pad (videoSink,"sink");
108+ gst_element_add_pad (m_videoBin, gst_ghost_pad_new ("sink", videopad));
109+ gst_object_unref (videopad);
110+ QWidget *parentWidget = qobject_cast<QWidget*>(parent());
111+
112+ if (parentWidget)
113+ parentWidget->winId(); // Due to some existing issues with alien in 4.4,
114+ // we must currently force the creation of a parent widget.
115+ m_isValid = true; //initialization ok, accept input
113 } 116 }
114 117
115 void VideoWidget::paintEvent(QPaintEvent *event) 118 void VideoWidget::paintEvent(QPaintEvent *event)
116@@ -131,6 +100,12 @@ void VideoWidget::paintEvent(QPaintEvent *event) 119@@ -135,6 +101,12 @@ void VideoWidget::paintEvent(QPaintEvent *event)
117 m_renderer->handlePaint(event); 120 m_renderer->handlePaint(event);
118 } 121 }
119 122
@@ -139,7 +142,7 @@ index 8603f6a..38c7b17 100644
139 QRect scaleToAspect(QRect srcRect, int w, int h) const; 142 QRect scaleToAspect(QRect srcRect, int w, int h) const;
140 QRect calculateDrawFrameRect() const; 143 QRect calculateDrawFrameRect() const;
141diff --git a/src/3rdparty/phonon/gstreamer/widgetrenderer.cpp b/src/3rdparty/phonon/gstreamer/widgetrenderer.cpp 144diff --git a/src/3rdparty/phonon/gstreamer/widgetrenderer.cpp b/src/3rdparty/phonon/gstreamer/widgetrenderer.cpp
142index 423af9d..de524ec 100644 145index 423af9d..aa4925a 100644
143--- a/src/3rdparty/phonon/gstreamer/widgetrenderer.cpp 146--- a/src/3rdparty/phonon/gstreamer/widgetrenderer.cpp
144+++ b/src/3rdparty/phonon/gstreamer/widgetrenderer.cpp 147+++ b/src/3rdparty/phonon/gstreamer/widgetrenderer.cpp
145@@ -15,7 +15,9 @@ 148@@ -15,7 +15,9 @@
@@ -152,7 +155,7 @@ index 423af9d..de524ec 100644
152 #include <gst/gst.h> 155 #include <gst/gst.h>
153 #include "common.h" 156 #include "common.h"
154 #include "message.h" 157 #include "message.h"
155@@ -24,6 +26,19 @@ 158@@ -24,6 +26,18 @@
156 #include "widgetrenderer.h" 159 #include "widgetrenderer.h"
157 #include "qrgb.h" 160 #include "qrgb.h"
158 161
@@ -163,7 +166,6 @@ index 423af9d..de524ec 100644
163+#include <fcntl.h> 166+#include <fcntl.h>
164+#include <sys/ioctl.h> 167+#include <sys/ioctl.h>
165+#include <unistd.h> 168+#include <unistd.h>
166+
167+#include <linux/mxcfb.h> 169+#include <linux/mxcfb.h>
168+ 170+
169+#define MXCFB_GBL_ALPHA 255 171+#define MXCFB_GBL_ALPHA 255
@@ -172,7 +174,7 @@ index 423af9d..de524ec 100644
172 // support old OpenGL installations (1.2) 174 // support old OpenGL installations (1.2)
173 // assume that if TEXTURE0 isn't defined, none are 175 // assume that if TEXTURE0 isn't defined, none are
174 #ifndef GL_TEXTURE0 176 #ifndef GL_TEXTURE0
175@@ -35,26 +50,6 @@ 177@@ -35,26 +49,6 @@
176 #ifndef QT_NO_PHONON_VIDEO 178 #ifndef QT_NO_PHONON_VIDEO
177 QT_BEGIN_NAMESPACE 179 QT_BEGIN_NAMESPACE
178 180
@@ -199,7 +201,7 @@ index 423af9d..de524ec 100644
199 namespace Phonon 201 namespace Phonon
200 { 202 {
201 namespace Gstreamer 203 namespace Gstreamer
202@@ -62,20 +57,12 @@ namespace Gstreamer 204@@ -62,17 +56,11 @@ namespace Gstreamer
203 205
204 WidgetRenderer::WidgetRenderer(VideoWidget *videoWidget) 206 WidgetRenderer::WidgetRenderer(VideoWidget *videoWidget)
205 : AbstractRenderer(videoWidget) 207 : AbstractRenderer(videoWidget)
@@ -210,6 +212,7 @@ index 423af9d..de524ec 100644
210- if ((m_videoSink = GST_ELEMENT(g_object_new(get_type_RGB(), NULL)))) { 212- if ((m_videoSink = GST_ELEMENT(g_object_new(get_type_RGB(), NULL)))) {
211- gst_object_ref (GST_OBJECT (m_videoSink)); //Take ownership 213- gst_object_ref (GST_OBJECT (m_videoSink)); //Take ownership
212+ if ((m_videoSink = gst_element_factory_make("mfw_v4lsink", NULL)) && m_videoSink != NULL) { 214+ if ((m_videoSink = gst_element_factory_make("mfw_v4lsink", NULL)) && m_videoSink != NULL) {
215+
213+ gst_object_ref (GST_OBJECT (m_videoSink)); //Take ownership 216+ gst_object_ref (GST_OBJECT (m_videoSink)); //Take ownership
214 gst_object_sink (GST_OBJECT (m_videoSink)); 217 gst_object_sink (GST_OBJECT (m_videoSink));
215- 218-
@@ -218,11 +221,8 @@ index 423af9d..de524ec 100644
218- sink->renderWidget = videoWidget; 221- sink->renderWidget = videoWidget;
219 } 222 }
220 223
221- // Clear the background with black by default 224 // Clear the background with black by default
222 QPalette palette; 225@@ -84,67 +72,124 @@ WidgetRenderer::WidgetRenderer(VideoWidget *videoWidget)
223 palette.setColor(QPalette::Background, Qt::black);
224 m_videoWidget->setPalette(palette);
225@@ -84,65 +71,116 @@ WidgetRenderer::WidgetRenderer(VideoWidget *videoWidget)
226 m_videoWidget->setAttribute(Qt::WA_PaintOnScreen, false); 226 m_videoWidget->setAttribute(Qt::WA_PaintOnScreen, false);
227 } 227 }
228 228
@@ -231,35 +231,35 @@ index 423af9d..de524ec 100644
231 { 231 {
232- if (m_videoWidget->root()->state() == Phonon::LoadingState) 232- if (m_videoWidget->root()->state() == Phonon::LoadingState)
233- return; 233- return;
234+ if (m_videoSink) { 234-
235- m_frame = QImage();
236- {
237- m_frame = QImage((uchar *)array.constData(), w, h, QImage::Format_RGB32);
238- }
239+ if (m_videoSink) {
235+ gst_object_unref (GST_OBJECT (m_videoSink)); 240+ gst_object_unref (GST_OBJECT (m_videoSink));
236+ m_videoSink = 0; 241+ m_videoSink = 0;
237+ } 242+ }
238+} 243+}
239 244
240- m_frame = QImage(); 245- m_array = array;
241- { 246- m_width = w;
242- m_frame = QImage((uchar *)array.constData(), w, h, QImage::Format_RGB32); 247- m_height = h;
243- }
244+void WidgetRenderer::setVideoSize(void) 248+void WidgetRenderer::setVideoSize(void)
245+{ 249+{
246+ 250
251- m_videoWidget->update();
247+ int adj_x; 252+ int adj_x;
248+ int adj_y; 253+ int adj_y;
249+ 254+
250+ QSize wSize = m_videoWidget->size(); 255+ QSize wSize = m_videoWidget->size();
251+ m_drawFrameRect = m_videoWidget->calculateDrawFrameRect(); 256+ m_drawFrameRect = m_videoWidget->calculateDrawFrameRect();
252+ framePos = m_videoWidget->mapToGlobal(QPoint(0,0)); 257+ framePos = m_videoWidget->mapToGlobal(QPoint(0,0));
253 258+
254- m_array = array;
255- m_width = w;
256- m_height = h;
257+ //Center the video in the widget 259+ //Center the video in the widget
258
259- m_videoWidget->update();
260+ adj_x = (wSize.width()/2) - (m_drawFrameRect.width()/2);
261+ adj_y = (wSize.height()/2) - (m_drawFrameRect.height()/2);
262+ 260+
261+ adj_x = (wSize.width()/2) - (m_drawFrameRect.width()/2);
262+ adj_y = (wSize.height()/2) - (m_drawFrameRect.height()/2);
263+ g_object_set(G_OBJECT(m_videoSink), "axis-left",adj_x + framePos.x(),(const char*)NULL); 263+ g_object_set(G_OBJECT(m_videoSink), "axis-left",adj_x + framePos.x(),(const char*)NULL);
264+ g_object_set(G_OBJECT(m_videoSink), "axis-top", adj_y + framePos.y(), (const char*)NULL); 264+ g_object_set(G_OBJECT(m_videoSink), "axis-top", adj_y + framePos.y(), (const char*)NULL);
265+ g_object_set(G_OBJECT(m_videoSink), "disp-width", m_drawFrameRect.width(), (const char*)NULL); 265+ g_object_set(G_OBJECT(m_videoSink), "disp-width", m_drawFrameRect.width(), (const char*)NULL);
@@ -295,30 +295,34 @@ index 423af9d..de524ec 100644
295+int WidgetRenderer::setOverlay(void) 295+int WidgetRenderer::setOverlay(void)
296 { 296 {
297- return m_frame; 297- return m_frame;
298+ struct mxcfb_color_key color_key; 298+ struct mxcfb_color_key color_key;
299+ struct mxcfb_gbl_alpha alpha; 299+ struct mxcfb_gbl_alpha alpha;
300+ int fd_fb; 300+ int fd_fb;
301+
302+ if ((fd_fb = open("/dev/fb0", O_RDWR, 0)) < 0)
303+ {
304+ printf("Unable to open %s\n", "/dev/fb0");
305+ return -1;
306+
307+ }
308+
309+ alpha.alpha = MXCFB_GBL_ALPHA;
310+ alpha.enable = 1;
301+ 311+
302+ if ((fd_fb = open("/dev/fb0", O_RDWR, 0)) < 0) 312+ if (ioctl(fd_fb, MXCFB_SET_GBL_ALPHA, &alpha) < 0) {
303+ { 313+ printf("Error in applying Alpha\n");
304+ printf("Unable to open %s\n", "/dev/fb0"); 314+ }
305+ return -1;
306+ }
307+
308+ alpha.alpha = MXCFB_GBL_ALPHA;
309+ alpha.enable = 1;
310+
311+ if (ioctl(fd_fb, MXCFB_SET_GBL_ALPHA, &alpha) < 0) {
312+ printf("Error in applying Alpha\n");
313+ }
314+ 315+
315+ color_key.color_key = MXCFB_CLR_KEY & 0x00FFFFFF; 316+ color_key.color_key = MXCFB_CLR_KEY & 0x00FFFFFF;
316+ color_key.enable = 1; 317+ color_key.enable = 1;
317+ if ( ioctl(fd_fb, MXCFB_SET_CLR_KEY, &color_key) < 0) { 318+ if ( ioctl(fd_fb, MXCFB_SET_CLR_KEY, &color_key) < 0) {
318+ printf("Error in applying Color Key\n"); 319+
319+ return -1; 320+ printf("Error in applying Color Key\n");
321+ return -1;
320+ } 322+ }
323+
321+ close (fd_fb); 324+ close (fd_fb);
325+
322+ return 0; 326+ return 0;
323 } 327 }
324 328
@@ -333,7 +337,7 @@ index 423af9d..de524ec 100644
333+ Q_UNUSED(event); 337+ Q_UNUSED(event);
334+ 338+
335+ if (framePos != m_videoWidget->mapToGlobal(QPoint(0,0))) 339+ if (framePos != m_videoWidget->mapToGlobal(QPoint(0,0)))
336+ setVideoSize(); 340+ setVideoSize();
337 } 341 }
338 342
339 bool WidgetRenderer::eventFilter(QEvent * event) 343 bool WidgetRenderer::eventFilter(QEvent * event)
@@ -342,39 +346,42 @@ index 423af9d..de524ec 100644
342- NewFrameEvent *frameEvent= static_cast <NewFrameEvent *>(event); 346- NewFrameEvent *frameEvent= static_cast <NewFrameEvent *>(event);
343- setNextFrame(frameEvent->frame, frameEvent->width, frameEvent->height); 347- setNextFrame(frameEvent->frame, frameEvent->width, frameEvent->height);
344- return true; 348- return true;
345- } 349+ if (event->type() == QEvent::Show) {
346- return false; 350+
347+ if (event->type() == QEvent::Show) {
348+ setOverlay(); 351+ setOverlay();
349+ return true; 352+ return true;
350+ } else if (event->type() == QEvent::Resize) { 353+
354+ } else if (event->type() == QEvent::Resize) {
355+
351+ setVideoSize(); 356+ setVideoSize();
352+ return true; 357+ return true;
353+ } 358 }
354+ if (framePos != m_videoWidget->mapToGlobal(QPoint(0,0))) 359+ if (framePos != m_videoWidget->mapToGlobal(QPoint(0,0)))
355+ setVideoSize(); 360+ setVideoSize();
356+ return false; 361 return false;
357+} 362 }
358+ 363
359+void WidgetRenderer::aspectRatioChanged(Phonon::VideoWidget::AspectRatio) 364+void WidgetRenderer::aspectRatioChanged(Phonon::VideoWidget::AspectRatio)
360+{ 365+{
361+ setVideoSize(); 366+ setVideoSize();
362+} 367+}
363+ 368+
364+void WidgetRenderer::scaleModeChanged(Phonon::VideoWidget::ScaleMode) 369+void WidgetRenderer::scaleModeChanged(Phonon::VideoWidget::ScaleMode)
365+{ 370+{
366+ setVideoSize(); 371+ setVideoSize();
367+} 372+}
368+ 373+
369+void WidgetRenderer::movieSizeChanged(const QSize &movieSize) 374+void WidgetRenderer::movieSizeChanged(const QSize &movieSize)
370+{ 375+{
371+ Q_UNUSED(movieSize); 376+ Q_UNUSED(movieSize);
372+ setVideoSize(); 377+ setVideoSize();
378+}
379+
373 } 380 }
381 } //namespace Phonon::Gstreamer
374 382
375 }
376diff --git a/src/3rdparty/phonon/gstreamer/widgetrenderer.h b/src/3rdparty/phonon/gstreamer/widgetrenderer.h 383diff --git a/src/3rdparty/phonon/gstreamer/widgetrenderer.h b/src/3rdparty/phonon/gstreamer/widgetrenderer.h
377index 03ee9c0..886975a 100644 384index 03ee9c0..6de1a03 100644
378--- a/src/3rdparty/phonon/gstreamer/widgetrenderer.h 385--- a/src/3rdparty/phonon/gstreamer/widgetrenderer.h
379+++ b/src/3rdparty/phonon/gstreamer/widgetrenderer.h 386+++ b/src/3rdparty/phonon/gstreamer/widgetrenderer.h
380@@ -40,20 +40,21 @@ class WidgetRenderer : public AbstractRenderer 387@@ -40,20 +40,21 @@ class WidgetRenderer : public AbstractRenderer
@@ -394,7 +401,7 @@ index 03ee9c0..886975a 100644
394+ void scaleModeChanged(Phonon::VideoWidget::ScaleMode scaleMode); 401+ void scaleModeChanged(Phonon::VideoWidget::ScaleMode scaleMode);
395+ void movieSizeChanged(const QSize &movieSize); 402+ void movieSizeChanged(const QSize &movieSize);
396+ void setVideoSize(void); 403+ void setVideoSize(void);
397+ int setOverlay(void); 404+ int setOverlay(void);
398+ void handleMove(QMoveEvent* event); 405+ void handleMove(QMoveEvent* event);
399 private: 406 private:
400- mutable QImage m_frame; 407- mutable QImage m_frame;
@@ -408,7 +415,7 @@ index 03ee9c0..886975a 100644
408 415
409 } 416 }
410diff --git a/src/3rdparty/phonon/gstreamer/x11renderer.cpp b/src/3rdparty/phonon/gstreamer/x11renderer.cpp 417diff --git a/src/3rdparty/phonon/gstreamer/x11renderer.cpp b/src/3rdparty/phonon/gstreamer/x11renderer.cpp
411index 968f3a8..2119840 100644 418index 968f3a8..c4662e7 100644
412--- a/src/3rdparty/phonon/gstreamer/x11renderer.cpp 419--- a/src/3rdparty/phonon/gstreamer/x11renderer.cpp
413+++ b/src/3rdparty/phonon/gstreamer/x11renderer.cpp 420+++ b/src/3rdparty/phonon/gstreamer/x11renderer.cpp
414@@ -31,6 +31,8 @@ 421@@ -31,6 +31,8 @@
@@ -420,7 +427,7 @@ index 968f3a8..2119840 100644
420 QT_BEGIN_NAMESPACE 427 QT_BEGIN_NAMESPACE
421 428
422 namespace Phonon 429 namespace Phonon
423@@ -83,26 +85,7 @@ X11Renderer::~X11Renderer() 430@@ -83,26 +85,8 @@ X11Renderer::~X11Renderer()
424 431
425 GstElement* X11Renderer::createVideoSink() 432 GstElement* X11Renderer::createVideoSink()
426 { 433 {
@@ -443,7 +450,7 @@ index 968f3a8..2119840 100644
443- 450-
444- if (!videoSink) 451- if (!videoSink)
445- videoSink = gst_element_factory_make ("ximagesink", NULL); 452- videoSink = gst_element_factory_make ("ximagesink", NULL);
446- 453
447+ GstElement *videoSink = gst_element_factory_make ("mfw_v4lsink", NULL); 454+ GstElement *videoSink = gst_element_factory_make ("mfw_v4lsink", NULL);
448 gst_object_ref (GST_OBJECT (videoSink)); //Take ownership 455 gst_object_ref (GST_OBJECT (videoSink)); //Take ownership
449 gst_object_sink (GST_OBJECT (videoSink)); 456 gst_object_sink (GST_OBJECT (videoSink));