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: [email protected]
> [mailto:[email protected]] On Behalf Of Kaitlin Rupert
> Sent: Wednesday, December 29, 2010 1:52 AM
> To: [email protected]
> 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 <[email protected]> - 1.1.0
> - FEA #11208: Use OpenGL-ES v2 shader following Qt change (partial support)
> * Tues Dec 15 2010 Halley Zhao <[email protected]> - 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 <[email protected]> - 1.1.0
> +- FEA #11208: Use OpenGL-ES v2 shader following Qt change (partial support)
> +
> +* Tues Dec 15 2010 Halley Zhao <[email protected]> - 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
> [email protected]
> http://lists.meego.com/listinfo/meego-commits
--- Begin Message ---
Hi,
I have made the following changes to qt-mobility in project devel:qt-mtf. 
Please review and accept ASAP.

Thank You,
halley

[This message was auto-generated]

---

Request #11208:

  submit:   home:halley/qt-mobility-new(r8) -> devel:qt-mtf/qt-mobility


Message:
    use %{ix86}

State:   new          2010-12-22T15:54:10 halley
Comment: None



changes files:
--------------
--- qt-mobility.changes
+++ qt-mobility.changes
@@ -0,0 +1,6 @@
+* Mon. Dec 20 2010 Halley Zhao <[email protected]> - 1.1.0
+  use OpenGL-ES v2 shader following Qt change
+
+* Tues Dec 15 2010 Halley Zhao <[email protected]> - 1.1.0
+  add libva based codec support
+

new:
----
  libva-codec-enable.patch
  opengl-es2-shader-enable.patch

spec files:
-----------
--- qt-mobility.spec
+++ qt-mobility.spec
@@ -25,6 +25,8 @@
 Patch8:     use_isabspath.patch
 Patch9:     fix_bmc_8705.patch
 Patch10:     enable_camerabin_with_meego_target.patch
+Patch11:    libva-codec-enable.patch
+Patch12:    opengl-es2-shader-enable.patch
 Requires:   libqtcontacts1 = %{version}
 Requires:   libqtfeedback1 = %{version}
 Requires:   libqtgallery1 = %{version}
@@ -60,6 +62,10 @@
 BuildRequires:  pkgconfig(xv)
 BuildRequires:  qt-devel-tools
 BuildRequires:  fdupes
+%ifarch %{ix86}
+BuildRequires:  pkgconfig(libva-x11)
+BuildRequires:  pkgconfig(gst-vabuffer)
+%endif


 %description
@@ -449,6 +455,12 @@
 %patch9 -p1
 # enable_camerabin_with_meego_target.patch
 %patch10 -p1
+%ifarch %{ix86}
+# libva-codec-enable.patch
+%patch11 -p1
+%endif
+# opengl-es2-shader-enable.patch
+%patch12 -p1
 # >> setup
 # << setup

@@ -468,6 +480,9 @@
 -examples \
 -demos \
 -modules "location contacts multimedia publishsubscribe versit messaging 
systeminfo serviceframework sensors gallery organizer feedback" \
+%ifarch %{ix86}
+-enable-libva \
+%endif
 -meego
 make %{?_smp_mflags}
 # << build pre

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;
+     }
+

_______________________________________________
MeeGo-commits mailing list
[email protected]
http://lists.meego.com/listinfo/meego-commits

--- End Message ---
_______________________________________________
MeeGo-packaging mailing list
[email protected]
http://lists.meego.com/listinfo/meego-packaging

Reply via email to