[meego-packaging] [meego-commits] 11304: Changes to Trunk:Testing/qt-mobility
Zhu, Peter J
peter.j.zhu at intel.com
Tue Dec 28 23:25:36 PST 2010
These two new patches are not specified in specfile at all. Seem something wrong in integrating the two patches from developer. See attached sr#11208
Peter
> -----Original Message-----
> From: meego-commits-bounces at meego.com
> [mailto:meego-commits-bounces at meego.com] On Behalf Of Kaitlin Rupert
> Sent: Wednesday, December 29, 2010 1:52 AM
> To: meego-commits at meego.com
> Subject: [meego-commits] 11304: Changes to Trunk:Testing/qt-mobility
>
> Hi,
> I have made the following changes to qt-mobility in project Trunk:Testing.
> Please review and accept ASAP.
>
> Thank You,
> Kaitlin Rupert
>
> [This message was auto-generated]
>
> ---
>
> Request #11304:
>
> submit: devel:qt-mtf/qt-mobility(r121) -> Trunk:Testing/qt-mobility
>
>
> Message:
> * Mon. Dec 20 2010 Halley Zhao <halley.zhao at intel.com> - 1.1.0
> - FEA #11208: Use OpenGL-ES v2 shader following Qt change (partial support)
> * Tues Dec 15 2010 Halley Zhao <halley.zhao at intel.com> - 1.1.0
> - FEA #11208: Add libva based codec support (partial support)
>
> State: new 2010-12-28T09:52:02 krupert
> Comment: None
>
>
>
> changes files:
> --------------
> --- qt-mobility.changes
> +++ qt-mobility.changes
> @@ -0,0 +1,6 @@
> +* Mon. Dec 20 2010 Halley Zhao <halley.zhao at intel.com> - 1.1.0
> +- FEA #11208: Use OpenGL-ES v2 shader following Qt change (partial support)
> +
> +* Tues Dec 15 2010 Halley Zhao <halley.zhao at intel.com> - 1.1.0
> +- FEA #11208: Add libva based codec support (partial support)
> +
>
> new:
> ----
> libva-codec-enable.patch
> opengl-es2-shader-enable.patch
>
> spec files:
> -----------
> --- qt-mobility.spec
> +++ qt-mobility.spec
> @@ -1,6 +1,6 @@
> #
> # Do NOT Edit the Auto-generated Part!
> -# Generated by: spectacle version 0.20
> +# Generated by: spectacle version 0.21
> #
> # >> macros
> # << macros
> @@ -491,11 +491,10 @@
> -o -name \*.qml \
> -o -name \*.sci \
> \) | xargs chmod -x
> -# Fix duplicate files
> -%fdupes %{buildroot}%{_includedir}
> -%fdupes %{buildroot}%{_libdir}/qtmobility
> # << install post
> %fdupes %{buildroot}/%{_datadir}/qtmobility/translations
> +%fdupes %{buildroot}/%{_libdir}/qtmobility
> +%fdupes %{buildroot}/%{_includedir}
>
>
>
>
> other changes:
> --------------
>
> ++++++ libva-codec-enable.patch (new)
> --- libva-codec-enable.patch
> +++ libva-codec-enable.patch
> +diff --git a/configure b/configure
> +index 4c9e5aa..5a737ce 100755
> +--- a/configure
> ++++ b/configure
> +@@ -102,6 +102,7 @@ QMAKE_EXEC=qmake
> + LIB_PATH="lib"
> + BIN_PATH="bin"
> + PLUGIN_PATH="plugins"
> ++ENABLE_LIBVA=
> + MAC_SDK=
> + MOBILITY_MODULES="bearer location contacts multimedia publishsubscribe
> versit messaging systeminfo serviceframework sensors gallery organizer
> feedback"
> + MOBILITY_MODULES_UNPARSED=
> +@@ -114,7 +115,7 @@ usage()
> + echo "Usage: configure [-prefix <dir>] [headerdir <dir>] [libdir <dir>]"
> + echo " [-bindir <dir>] [-tests] [-examples]
> [-no-docs]"
> + echo " [-no-tools] [-debug] [-release] [-silent]"
> +- echo " [-modules <list>]"
> ++ echo " [-modules <list>] [-enable-libva]"
> + echo
> + echo "Options:"
> + echo
> +@@ -155,6 +156,7 @@ usage()
> + echo "-sdk <sdk> ........ Build using Apple provided SDK <path/to/sdk>."
> + echo " example: -sdk
> /Developer/SDKs/MacOSX10.6.sdk"
> + echo "-qmake-exec <name> Sets custom binary name for qmake
> binary"
> ++ echo "-enable-libva...... Enable libva based hw codec support for
> multimedia"
> + echo " (default: qmake)"
> + echo
> +
> +@@ -243,6 +245,9 @@ while [ "$#" -gt 0 ]; do
> + QMAKE_EXEC="$2"
> + shift
> + ;;
> ++ -enable-libva)
> ++ ENABLE_LIBVA=yes
> ++ ;;
> + -modules)
> + MOBILITY_MODULES_UNPARSED=$2
> + #reset default selection
> +@@ -433,6 +438,12 @@ if [ -n "$MAC_SDK" ]; then
> + echo "QMAKE_MAC_SDK = $QMAKE_MAC_SDK" >> "$CONFIG_IN"
> + fi
> +
> ++if [ -z "$ENABLE_LIBVA" ]; then
> ++ echo "libva is not enabled"
> ++else
> ++ echo "CONFIG += libva" >> "$CONFIG_IN"
> ++fi
> ++
> + if [ -z "$BUILD_UNITTESTS" ]; then
> + echo "build_unit_tests = no" >> "$CONFIG_IN"
> + else
> +diff --git a/plugins/multimedia/gstreamer/gstreamer.pro
> b/plugins/multimedia/gstreamer/gstreamer.pro
> +index 67f8671..9facda5 100644
> +--- a/plugins/multimedia/gstreamer/gstreamer.pro
> ++++ b/plugins/multimedia/gstreamer/gstreamer.pro
> +@@ -42,6 +42,11 @@ meego {
> + PKGCONFIG +=gstreamer-plugins-bad-free-0.10
> + }
> +
> ++libva {
> ++ PKGCONFIG += libva-x11 \
> ++ gst-vabuffer
> ++ DEFINES += QMEDIA_GSTREAMER_VABUFFER
> ++}
> + # Input
> + HEADERS += \
> + qgstreamermessage.h \
> +diff --git
> a/plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayersession.cpp
> b/plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayersession.cpp
> +index 6efe788..02c3bfa 100644
> +---
> a/plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayersession.cpp
> ++++
> b/plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayersession.cpp
> +@@ -54,12 +54,37 @@
> + #if defined(Q_WS_MAEMO_5) || defined(Q_WS_MAEMO_6) ||
> (GST_VERSION_MICRO > 20)
> + #define USE_PLAYBIN2
> + #endif
> ++#define USE_PLAYBIN2
> ++void element_added(GstBin *bin, GstElement *element, gpointer
> user_data);
> ++#define DEFAULT_RAW_CAPS \
> ++ "video/x-raw-yuv; " \
> ++ "video/x-raw-rgb; " \
> ++ "video/x-raw-gray; " \
> ++ "video/x-va; " \
> ++ "audio/x-raw-int; " \
> ++ "audio/x-raw-float; " \
> ++ "text/plain; " \
> ++ "text/x-pango-markup; " \
> ++ "video/x-dvd-subpicture; " \
> ++ "subpicture/x-pgs"
> ++static GstStaticCaps default_raw_caps = GST_STATIC_CAPS
> (DEFAULT_RAW_CAPS);
> +
> + //#define DEBUG_PLAYBIN
> + //#define DEBUG_VO_BIN_DUMP
> +
> +-static gboolean new_segment_probe(GstObject *pad, GstEvent *event,
> guint * session)
> ++void element_added(GstBin *bin, GstElement *element, gpointer user_data)
> + {
> ++ const char *element_name = NULL;
> ++ element_name = gst_element_get_name(element);
> ++ qDebug() << " element name: " << element_name;
> ++ if(!strncmp(element_name, "uridecodebin", 12)) {
> ++ qDebug() << "uridecodebin added";
> ++ g_object_set(G_OBJECT(element), "caps",
> gst_static_caps_get(&default_raw_caps), NULL);
> ++ }
> ++}
> ++
> ++static gboolean new_segment_probe(GstObject *pad, GstEvent *event,
> guint * session)
> ++{
> + Q_UNUSED(pad);
> + if (GST_EVENT_TYPE(event) == GST_EVENT_NEWSEGMENT)
> +
> reinterpret_cast<QGstreamerPlayerSession*>(session)->processNewSegment(
> event);
> +@@ -129,13 +154,16 @@
> QGstreamerPlayerSession::QGstreamerPlayerSession(QObject *parent)
> + m_videoOutputBin = gst_bin_new("video-output-bin");
> + gst_object_ref(GST_OBJECT(m_videoOutputBin));
> +
> ++ qDebug() << "remove ffcsp and video scale";
> + m_videoIdentity = gst_element_factory_make("identity",
> "identity-vo");
> +- m_colorSpace = gst_element_factory_make("ffmpegcolorspace",
> "ffmpegcolorspace-vo");
> +- m_videoScale =
> gst_element_factory_make("videoscale","videoscale-vo");
> ++ // m_colorSpace = gst_element_factory_make("ffmpegcolorspace",
> "ffmpegcolorspace-vo");
> ++ // m_videoScale =
> gst_element_factory_make("videoscale","videoscale-vo");
> + m_nullVideoSink = gst_element_factory_make("fakesink", NULL);
> + gst_object_ref(GST_OBJECT(m_nullVideoSink));
> +- gst_bin_add_many(GST_BIN(m_videoOutputBin), m_videoIdentity,
> m_colorSpace, m_videoScale, m_nullVideoSink, NULL);
> +- gst_element_link_many(m_videoIdentity, m_colorSpace, m_videoScale,
> m_nullVideoSink, NULL);
> ++ // gst_bin_add_many(GST_BIN(m_videoOutputBin), m_videoIdentity,
> m_colorSpace, m_videoScale, m_nullVideoSink, NULL);
> ++ // gst_element_link_many(m_videoIdentity, m_colorSpace,
> m_videoScale, m_nullVideoSink, NULL);
> ++ gst_bin_add_many(GST_BIN(m_videoOutputBin), m_videoIdentity,
> m_nullVideoSink, NULL);
> ++ gst_element_link_many(m_videoIdentity, m_nullVideoSink, NULL);
> +
> + //add an event probe before video output to save and repost segment
> events
> + {
> +@@ -162,6 +190,8 @@
> QGstreamerPlayerSession::QGstreamerPlayerSession(QObject *parent)
> + connect(m_busHelper, SIGNAL(message(QGstreamerMessage)),
> SLOT(busMessage(QGstreamerMessage)));
> + m_busHelper->installSyncEventFilter(this);
> +
> ++ // g_object_set(G_OBJECT(m_playbin), "caps",
> gst_static_caps_get(&default_raw_caps), NULL);
> ++ g_signal_connect(m_playbin, "element-added",
> G_CALLBACK(element_added), m_playbin);
> + g_object_set(G_OBJECT(m_playbin), "video-sink",
> m_videoOutputBin, NULL);
> +
> + g_signal_connect(G_OBJECT(m_playbin), "notify::source",
> G_CALLBACK(playbinNotifySource), this);
> +@@ -403,14 +433,16 @@ void
> QGstreamerPlayerSession::setVideoRenderer(QObject *videoOutput)
> + m_pendingVideoSink = 0;
> + gst_element_set_state(m_videoSink, GST_STATE_NULL);
> + gst_element_set_state(m_playbin, GST_STATE_NULL);
> +- gst_element_unlink(m_videoScale, m_videoSink);
> ++ // gst_element_unlink(m_videoScale, m_videoSink);
> ++ gst_element_unlink(m_videoIdentity, m_videoSink);
> +
> + gst_bin_remove(GST_BIN(m_videoOutputBin), m_videoSink);
> +
> + m_videoSink = videoSink;
> +
> + gst_bin_add(GST_BIN(m_videoOutputBin), m_videoSink);
> +- gst_element_link(m_videoScale, m_videoSink);
> ++ // gst_element_link(m_videoScale, m_videoSink);
> ++ gst_element_link(m_videoIdentity, m_videoSink);
> +
> + switch (m_pendingState) {
> + case QMediaPlayer::PausedState:
> +@@ -495,11 +527,12 @@ void
> QGstreamerPlayerSession::finishVideoOutputChange()
> + return;
> + }
> +
> +- gst_element_set_state(m_colorSpace, GST_STATE_NULL);
> +- gst_element_set_state(m_videoScale, GST_STATE_NULL);
> ++ // gst_element_set_state(m_colorSpace, GST_STATE_NULL);
> ++ // gst_element_set_state(m_videoScale, GST_STATE_NULL);
> + gst_element_set_state(m_videoSink, GST_STATE_NULL);
> +
> +- gst_element_unlink(m_videoScale, m_videoSink);
> ++ // gst_element_unlink(m_videoScale, m_videoSink);
> ++ gst_element_unlink(m_videoIdentity, m_videoSink);
> +
> + gst_bin_remove(GST_BIN(m_videoOutputBin), m_videoSink);
> +
> +@@ -507,7 +540,8 @@ void
> QGstreamerPlayerSession::finishVideoOutputChange()
> + m_pendingVideoSink = 0;
> +
> + gst_bin_add(GST_BIN(m_videoOutputBin), m_videoSink);
> +- if (!gst_element_link(m_videoScale, m_videoSink))
> ++ // if (!gst_element_link(m_videoScale, m_videoSink))
> ++ if (!gst_element_link(m_videoIdentity, m_videoSink))
> + qWarning() << "Linking video output element failed";
> +
> + GstState state;
> +@@ -524,8 +558,8 @@ void
> QGstreamerPlayerSession::finishVideoOutputChange()
> + break;
> + }
> +
> +- gst_element_set_state(m_colorSpace, state);
> +- gst_element_set_state(m_videoScale, state);
> ++ // gst_element_set_state(m_colorSpace, state);
> ++ // gst_element_set_state(m_videoScale, state);
> + gst_element_set_state(m_videoSink, state);
> +
> + //don't have to wait here, it will unblock eventually
> +diff --git
> a/plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayersession.h
> b/plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayersession.h
> (282 more lines skipped)
>
> ++++++ opengl-es2-shader-enable.patch (new)
> --- opengl-es2-shader-enable.patch
> +++ opengl-es2-shader-enable.patch
> +diff --git a/src/multimedia/multimedia.pro b/src/multimedia/multimedia.pro
> +index bd37db3..ce78604 100644
> +--- a/src/multimedia/multimedia.pro
> ++++ b/src/multimedia/multimedia.pro
> +@@ -177,6 +177,9 @@ symbian {
> + TARGET.CAPABILITY = ALL -TCB
> + LIBS += -lefsrv
> + }
> ++meego {
> ++ DEFINES += QT_OPENGL_ES_2
> ++}
> +
> + CONFIG += middleware
> + include(../../features/deploy.pri)
> +diff --git a/src/multimedia/qpaintervideosurface.cpp
> b/src/multimedia/qpaintervideosurface.cpp
> +index 4f76fa7..35bac32 100644
> +--- a/src/multimedia/qpaintervideosurface.cpp
> ++++ b/src/multimedia/qpaintervideosurface.cpp
> +@@ -1544,9 +1544,10 @@ void
> QPainterVideoSurface::setGLContext(QGLContext *context)
> + if (extensions.contains("ARB_fragment_program"))
> + m_shaderTypes |= FragmentProgramShader;
> + #endif
> +-
> ++#ifndef QT_OPENGL_ES_2
> + if (QGLShaderProgram::hasOpenGLShaderPrograms(m_glContext)
> + && extensions.contains("ARB_shader_objects"))
> ++#endif
> + m_shaderTypes |= GlslShader;
> + }
> +
>
> ++++++ qt-mobility.yaml
> --- qt-mobility.yaml
> +++ qt-mobility.yaml
> @@ -63,7 +63,10 @@
> - qt-devel-tools
> Configure: none
> Builder: none
> -RunFdupes: "%{_datadir}/qtmobility/translations"
> +RunFdupes:
> + - "%{_datadir}/qtmobility/translations"
> + - "%{_libdir}/qtmobility"
> + - "%{_includedir}"
> SubPackages:
> - Name: devel
> Summary: APIs for mobile device functionality - development files
>
> _______________________________________________
> MeeGo-commits mailing list
> MeeGo-commits at meego.com
> http://lists.meego.com/listinfo/meego-commits
-------------- next part --------------
An embedded message was scrubbed...
From: halley <no_reply at build.meego.com>
Subject: [meego-commits] 11208: Changes to devel:qt-mtf/qt-mobility
Date: Thu, 23 Dec 2010 07:54:10 +0800
Size: 15803
URL: <http://lists.meego.com/pipermail/meego-packaging/attachments/20101229/43b89db0/attachment-0001.mht>
More information about the MeeGo-packaging
mailing list