* [meta-fsl-arm][PATCH V3] qt4-embedded: Allow use of Qt Media Player in multi-headed system
@ 2013-08-19 14:13 Eric Nelson
2013-08-24 17:48 ` Otavio Salvador
0 siblings, 1 reply; 3+ messages in thread
From: Eric Nelson @ 2013-08-19 14:13 UTC (permalink / raw)
To: meta-freescale; +Cc: B19259, otavio
Qt-embedded can be used on multiple screens by using environment variables
QWS_DISPLAY, QWS_MOUSE_PROTO, et cetera.
The gstreamer element mfw_v4lsink used to accelerate media playback on i.MX
devices can also be pointed at different displays through the 'device'
property, but the current acceleration patch doesn't have a mechanism for
setting the property, and always uses the compiled-in default.
This patch allows userspace startup code to override the default through
the use of the 'v4lsinkdev' environment variable.
Please refer to the Qt4-embedded documentation for proper usage of the
QWS_x environment variables and the Freescale Multimedia documentation
for descriptions of the various gstreamer elements.
A sequence of this for a secondary display might be this:
export QWS_DISPLAY=linuxfb:/dev/fb2:1
export v4lsinkdev=/dev/video19
my-qt-app -qws
Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
---
V2 and V3 just have an expanded commit message.
recipes-qt/qt4/qt4-embedded_4.8.5.bbappend | 5 ++-
...renderer-Allow-v4l-device-from-environmen.patch | 46 ++++++++++++++++++++++
2 files changed, 50 insertions(+), 1 deletion(-)
create mode 100644 recipes-qt/qt4/qt4/0002-i.MX-video-renderer-Allow-v4l-device-from-environmen.patch
diff --git a/recipes-qt/qt4/qt4-embedded_4.8.5.bbappend b/recipes-qt/qt4/qt4-embedded_4.8.5.bbappend
index 4c4d0c9..fc16670 100644
--- a/recipes-qt/qt4/qt4-embedded_4.8.5.bbappend
+++ b/recipes-qt/qt4/qt4-embedded_4.8.5.bbappend
@@ -2,7 +2,10 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/qt4:"
SRC_URI_append_mx5 += "file://0001-Add-support-for-i.MX-codecs-to-phonon.patch"
-SRC_URI_append_mx6 += "file://0001-Add-support-for-i.MX-codecs-to-phonon.patch"
+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 \
+"
DEPENDS_append_mx5 = " virtual/kernel virtual/libgles2"
PACKAGE_ARCH_mx5 = "${MACHINE_ARCH}"
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
new file mode 100644
index 0000000..0226db5
--- /dev/null
+++ b/recipes-qt/qt4/qt4/0002-i.MX-video-renderer-Allow-v4l-device-from-environmen.patch
@@ -0,0 +1,46 @@
+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
+
--
1.8.1.2
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: [meta-fsl-arm][PATCH V3] qt4-embedded: Allow use of Qt Media Player in multi-headed system
2013-08-19 14:13 [meta-fsl-arm][PATCH V3] qt4-embedded: Allow use of Qt Media Player in multi-headed system Eric Nelson
@ 2013-08-24 17:48 ` Otavio Salvador
2013-08-24 20:08 ` Eric Nelson
0 siblings, 1 reply; 3+ messages in thread
From: Otavio Salvador @ 2013-08-24 17:48 UTC (permalink / raw)
To: Eric Nelson; +Cc: meta-freescale@yoctoproject.org, Rogerio Pimentel
On Mon, Aug 19, 2013 at 11:13 AM, Eric Nelson
<eric.nelson@boundarydevices.com> wrote:
> Qt-embedded can be used on multiple screens by using environment variables
> QWS_DISPLAY, QWS_MOUSE_PROTO, et cetera.
>
> The gstreamer element mfw_v4lsink used to accelerate media playback on i.MX
> devices can also be pointed at different displays through the 'device'
> property, but the current acceleration patch doesn't have a mechanism for
> setting the property, and always uses the compiled-in default.
>
> This patch allows userspace startup code to override the default through
> the use of the 'v4lsinkdev' environment variable.
>
> Please refer to the Qt4-embedded documentation for proper usage of the
> QWS_x environment variables and the Freescale Multimedia documentation
> for descriptions of the various gstreamer elements.
>
> A sequence of this for a secondary display might be this:
>
> export QWS_DISPLAY=linuxfb:/dev/fb2:1
> export v4lsinkdev=/dev/video19
> my-qt-app -qws
>
> Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
Applied to master; may you prepare same change for the X11 Qt4 recipe?
--
Otavio Salvador O.S. Systems
http://www.ossystems.com.br http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854 Mobile: +1 (347) 903-9750
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [meta-fsl-arm][PATCH V3] qt4-embedded: Allow use of Qt Media Player in multi-headed system
2013-08-24 17:48 ` Otavio Salvador
@ 2013-08-24 20:08 ` Eric Nelson
0 siblings, 0 replies; 3+ messages in thread
From: Eric Nelson @ 2013-08-24 20:08 UTC (permalink / raw)
To: Otavio Salvador; +Cc: meta-freescale@yoctoproject.org, Rogerio Pimentel
On 08/24/2013 10:48 AM, Otavio Salvador wrote:
> On Mon, Aug 19, 2013 at 11:13 AM, Eric Nelson
> <eric.nelson@boundarydevices.com> wrote:
>> Qt-embedded can be used on multiple screens by using environment variables
>> QWS_DISPLAY, QWS_MOUSE_PROTO, et cetera.
>>
>> The gstreamer element mfw_v4lsink used to accelerate media playback on i.MX
>> devices can also be pointed at different displays through the 'device'
>> property, but the current acceleration patch doesn't have a mechanism for
>> setting the property, and always uses the compiled-in default.
>>
>> This patch allows userspace startup code to override the default through
>> the use of the 'v4lsinkdev' environment variable.
>>
>> Please refer to the Qt4-embedded documentation for proper usage of the
>> QWS_x environment variables and the Freescale Multimedia documentation
>> for descriptions of the various gstreamer elements.
>>
>> A sequence of this for a secondary display might be this:
>>
>> export QWS_DISPLAY=linuxfb:/dev/fb2:1
>> export v4lsinkdev=/dev/video19
>> my-qt-app -qws
>>
>> Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
>
> Applied to master; may you prepare same change for the X11 Qt4 recipe?
>
Yep. Done.
I hadn't noticed that the Phonon patches were in two places, so
I also created an include file to make any updates easier.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2013-08-24 20:08 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-08-19 14:13 [meta-fsl-arm][PATCH V3] qt4-embedded: Allow use of Qt Media Player in multi-headed system Eric Nelson
2013-08-24 17:48 ` Otavio Salvador
2013-08-24 20:08 ` Eric Nelson
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.