FEA#11208 seems to be a typo? I cannot find that bug in BMC. Can you please 
take a look?

Regards,
Madhu

-----Original Message-----
From: [email protected] [mailto:[email protected]] 
On Behalf Of ext Fathi Boudra
Sent: Wednesday, January 26, 2011 7:15 PM
To: [email protected]
Subject: [meego-commits] 12862: 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,
Fathi Boudra

[This message was auto-generated]

---

Request #12862:

  submit:   devel:qt-mtf/qt-mobility(r130) -> Trunk:Testing/qt-mobility


Message:
    * Wed Jan 26 2011 Fathi Boudra <[email protected]> - 1.2.0~beta0+git922
- Add build_with_QT_NO_KEYWORDS_bmc12935.patch to fix contactsd build with
  QT_NO_KEYWORDS (BMC#12935)
* Tue Jan 25 2011 Halley Zhao <[email protected]> - 1.2.0~beta0+git922
- Re-enable libva based codec support - libva-codec-enable.patch (FEA#11208,
  FEA#12387)
- Re-enable OpenGL-ES v2 shader usage - opengl-es2-shader-enable.patch
- Use GL_CLAMP_TO_EDGE for video texture - 
GL_CLAMP_TO_EDGE_for_video_texture.patch
- Update to Qt Mobility 1.2.0~beta0+git922 (git master branch commit 37952aa)

State:   new          2011-01-26T09:14:44 boudra
Comment: None



changes files:
--------------
--- qt-mobility.changes
+++ qt-mobility.changes
@@ -0,0 +1,10 @@
+* Wed Jan 26 2011 Fathi Boudra <[email protected]> - 1.2.0~beta0+git922
+- Add build_with_QT_NO_KEYWORDS_bmc12935.patch to fix contactsd build with
+  QT_NO_KEYWORDS (BMC#12935)
+
+* Tue Jan 25 2011 Halley Zhao <[email protected]> - 1.2.0~beta0+git922
+- Re-enable libva based codec support - libva-codec-enable.patch (FEA#11208,
+  FEA#12387)
+- Re-enable OpenGL-ES v2 shader usage - opengl-es2-shader-enable.patch
+- Use GL_CLAMP_TO_EDGE for video texture - 
GL_CLAMP_TO_EDGE_for_video_texture.patch
+
@@ -2 +12 @@
-- Update to Qt Mobility 1.1.0+git2727 (git master branch commit 37952aa)
+- Update to Qt Mobility 1.2.0~beta0+git922 (git master branch commit 37952aa)

new:
----
  GL_CLAMP_TO_EDGE_for_video_texture.patch
  build_with_QT_NO_KEYWORDS_bmc12935.patch

spec files:
-----------
--- qt-mobility.spec
+++ qt-mobility.spec
@@ -17,6 +17,12 @@
 Patch0:     no_rpath.patch
 Patch1:     fix_translations_install_path.patch
 Patch2:     enable_camerabin_with_meego_target.patch
+Patch3:     build_with_QT_NO_KEYWORDS_bmc12935.patch
+Patch4:     GL_CLAMP_TO_EDGE_for_video_texture.patch
+Patch5:     opengl-es2-shader-enable.patch
+%ifarch %{ix86}
+Patch6:     libva-codec-enable.patch
+%endif
 Requires:   libqtconnectivity1 = %{version}
 Requires:   libqtcontacts1 = %{version}
 Requires:   libqtfeedback1 = %{version}
@@ -57,6 +63,12 @@
 BuildRequires:  pkgconfig(xrandr)
 BuildRequires:  pkgconfig(xrender)
 BuildRequires:  pkgconfig(xv)
+%ifarch %{ix86}
+BuildRequires:  pkgconfig(gst-vabuffer)
+%endif
+%ifarch %{ix86}
+BuildRequires:  pkgconfig(libva-x11)
+%endif
 BuildRequires:  qt-devel-tools
 BuildRequires:  fdupes

@@ -446,6 +458,16 @@
 %patch1 -p1
 # enable_camerabin_with_meego_target.patch
 %patch2 -p1
+# build_with_QT_NO_KEYWORDS_bmc12935.patch
+%patch3 -p1
+# GL_CLAMP_TO_EDGE_for_video_texture.patch
+%patch4 -p1
+# opengl-es2-shader-enable.patch
+%patch5 -p1
+%ifarch %{ix86}
+# ix86:libva-codec-enable.patch
+%patch6 -p1
+%endif
 # >> setup
 # << setup

@@ -466,7 +488,10 @@
 -examples \
 -demos \
 -modules "location contacts multimedia publishsubscribe versit messaging 
systeminfo serviceframework sensors gallery organizer feedback connectivity" \
--meego
+-meego \
+%ifarch %{ix86}
+-enable-libva
+%endif

 make %{?_smp_mflags}
 # << build pre

other changes:
--------------

++++++ GL_CLAMP_TO_EDGE_for_video_texture.patch (new)
--- GL_CLAMP_TO_EDGE_for_video_texture.patch
+++ GL_CLAMP_TO_EDGE_for_video_texture.patch
+Description: use GL_CLAMP_TO_EDGE for video texture mapping because most gfx
+driver doesn't support GL_REPEAT when texture size is None-Power-Of-Tow(NPOT)
+Author: Halley Zhao <halley.zhao at intel.com>
+--- a/src/multimedia/qpaintervideosurface.cpp
++++ b/src/multimedia/qpaintervideosurface.cpp
+@@ -361,8 +361,8 @@ QAbstractVideoSurface::Error QVideoSurfa
+                     m_frame.bits() + m_textureOffsets[i]);
+             glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
+             glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
+-            glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
+-            glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
++            glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, 
GL_CLAMP_TO_EDGE);
++            glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, 
GL_CLAMP_TO_EDGE);
+         }
+         m_frame.unmap();
+     } else if (m_handleType != QAbstractVideoBuffer::QPixmapHandle && 
m_frame.isValid()) {

++++++ build_with_QT_NO_KEYWORDS_bmc12935.patch (new)
--- build_with_QT_NO_KEYWORDS_bmc12935.patch
+++ build_with_QT_NO_KEYWORDS_bmc12935.patch
+From c4bd724ee814dd4e94b7658eefffe6ef0007a067 Mon Sep 17 00:00:00 2001
+From: Siraj Razick <[email protected]>
+Date: Wed, 26 Jan 2011 16:53:24 +0200
+Subject: [PATCH] Fixes: BMC#12935 - Qt Mobility using Qt keywords in public 
headers
+
+Some public headers in Qt Mobility (such as qcontactobserver.h) use the
+`signals` and `slots` macros. This is preventing contactsd from building with
+QT_NO_KEYWORDS
+
+--- a/src/contacts/qcontactobserver.h
++++ b/src/contacts/qcontactobserver.h
+@@ -57,7 +57,7 @@ public:
+     QContactObserver(QContactManager* manager, QContactLocalId localId, 
QObject* parent = 0);
+     ~QContactObserver();
+     QContactLocalId contactLocalId() const;
+-signals:
++Q_SIGNALS:
+     void contactChanged();
+     void contactRemoved();
+

++++++ libva-codec-enable.patch
--- libva-codec-enable.patch
+++ libva-codec-enable.patch
@@ -1,17 +1,29 @@
 Description: Add libva based codec support
+ - Skip invalid video frame in qpaintervideosurface.cpp
+ - Add libva related configuration in plugin/multimedia/gstreamer/gstreamer.pro
+ - Update 'caps' property with 'video/x-va' support for decodebin2
+ - Update gstvideobuffer for handler type support -- we needn't use gstbuffer
+   but the handler only
+ - Work around an issue in gstvideoconnect: when decoder support more than one
+   caps, it may fail
+ - Add libva based codec support in qvideosurfacegstsink
+   - add caps for 'video/x-va'
+   - create X Pixmap in Gst thread, and creat QPixmap (from this Pixmap) in Qt 
thread
+   - vaPutSurface to X Pixmap runs in Gst thread, do not pass GstVaBuffer to 
Qt thread
+   - pass *QPixmap from Gst thread to Qt thread instead of QPixmap
 Author: Halley Zhao <halley.zhao at intel.com>
-Bug: FEA#11208
+Bug: FEA#11208, FEA#12387
 --- a/configure
 +++ b/configure
-@@ -102,6 +102,7 @@ QMAKE_EXEC=qmake
- LIB_PATH="lib"
+@@ -103,6 +103,7 @@ LIB_PATH="lib"
  BIN_PATH="bin"
  PLUGIN_PATH="plugins"
+ PLATFORM_CONFIG=
 +ENABLE_LIBVA=
  MAC_SDK=
- MOBILITY_MODULES="bearer location contacts multimedia publishsubscribe versit 
messaging systeminfo serviceframework sensors gallery organizer feedback"
+ MOBILITY_MODULES="bearer location contacts multimedia publishsubscribe versit 
messaging systeminfo serviceframework sensors gallery organizer feedback 
connectivity"
  MOBILITY_MODULES_UNPARSED=
-@@ -114,7 +115,7 @@ usage()
+@@ -116,7 +117,7 @@ usage()
      echo "Usage: configure [-prefix <dir>] [headerdir <dir>] [libdir <dir>]"
      echo "                 [-bindir <dir>] [-tests] [-examples] [-no-docs]"
      echo "                 [-no-tools] [-debug] [-release] [-silent]"
@@ -20,15 +32,15 @@
      echo
      echo "Options:"
      echo
-@@ -155,6 +156,7 @@ usage()
+@@ -157,6 +158,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
+ #    echo "-staticconfig <name>"
+ #    echo "                    Avoids running of configuration tests. The 
default"
+@@ -248,6 +250,9 @@ while [ "$#" -gt 0 ]; do
              QMAKE_EXEC="$2"
              shift
              ;;
@@ -37,8 +49,8 @@
 +            ;;
          -modules)
              MOBILITY_MODULES_UNPARSED=$2
-             #reset default selection
-@@ -433,6 +438,12 @@ if [ -n "$MAC_SDK" ]; then
+             ORGANIZER_REQUESTED=
+@@ -443,6 +448,12 @@ if [ -n "$MAC_SDK" ]; then
     echo "QMAKE_MAC_SDK = $QMAKE_MAC_SDK" >> "$CONFIG_IN"
  fi

@@ -53,21 +65,55 @@
  else
 --- a/plugins/multimedia/gstreamer/gstreamer.pro
 +++ b/plugins/multimedia/gstreamer/gstreamer.pro
-@@ -42,6 +42,11 @@ meego {
+@@ -48,6 +48,11 @@ meego {
    PKGCONFIG +=gstreamer-plugins-bad-free-0.10
  }

 +libva {
-+  PKGCONFIG += libva-x11 \
-+               gst-vabuffer
-+  DEFINES   += QMEDIA_GSTREAMER_VABUFFER
++    PKGCONFIG += libva-x11 \
++                 gst-vabuffer
++    DEFINES += QMEDIA_GSTREAMER_VABUFFER
 +}
  # Input
  HEADERS += \
      qgstreamermessage.h \
+--- a/plugins/multimedia/gstreamer/gstvideoconnector.c
++++ b/plugins/multimedia/gstreamer/gstvideoconnector.c
+@@ -58,13 +58,29 @@ static GstStaticPadTemplate gst_video_co
+ GST_STATIC_PAD_TEMPLATE ("sink",
+                          GST_PAD_SINK,
+                          GST_PAD_ALWAYS,
+-                         GST_STATIC_CAPS_ANY);
++//                         GST_STATIC_CAPS_ANY);
++                         GST_STATIC_CAPS(
++                         "video/x-raw-rgb; "
++                         "video/x-raw-yuv "
++#ifdef QMEDIA_GSTREAMER_VABUFFER
++                         "; "
++                         "video/x-va "
++#endif
++                        ));
+
+ static GstStaticPadTemplate gst_video_connector_src_factory =
+ GST_STATIC_PAD_TEMPLATE ("src",
+                          GST_PAD_SRC,
+                          GST_PAD_ALWAYS,
+-                         GST_STATIC_CAPS_ANY);
++//                          GST_STATIC_CAPS_ANY);
++                         GST_STATIC_CAPS(
++                         "video/x-raw-rgb; "
++                         "video/x-raw-yuv "
++#ifdef QMEDIA_GSTREAMER_VABUFFER
++                         "; "
++                         "video/x-va "
++#endif
++                        ));
+
+ #define _do_init(bla) \
+     GST_DEBUG_CATEGORY_INIT (video_connector_debug, \
 --- a/plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayersession.cpp
 +++ b/plugins/multimedia/gstreamer/mediaplayer/qgstreamerplayersession.cpp
-@@ -54,12 +54,37 @@
+@@ -55,10 +55,35 @@
  #if defined(Q_WS_MAEMO_5) || defined(Q_WS_MAEMO_6) || (GST_VERSION_MICRO > 20)
  #define USE_PLAYBIN2
  #endif
@@ -89,9 +135,8 @@
  //#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;
@@ -101,244 +146,180 @@
 +    }
 +}
 +
-+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::QGstreamerPlaye
-     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::QGstreamerPlaye
+ typedef enum {
+     GST_PLAY_FLAG_VIDEO         = 0x00000001,
+     GST_PLAY_FLAG_AUDIO         = 0x00000002,
+@@ -140,6 +165,7 @@ QGstreamerPlayerSession::QGstreamerPlaye
          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::setVideoRe
-         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);
-
(544 more lines skipped)

++++++ opengl-es2-shader-enable.patch
--- opengl-es2-shader-enable.patch
+++ opengl-es2-shader-enable.patch
@@ -1,9 +1,11 @@
 Description: Use OpenGL-ES v2 shader following Qt change
+  - Enable GLSL support for GLESv2: GLSL is supported by GLESv2 by default, try
+    to find it from extension string will fail
 Author: Halley Zhao <halley.zhao at intel.com>
 Bug: FEA#11208
 --- a/src/multimedia/multimedia.pro
 +++ b/src/multimedia/multimedia.pro
-@@ -177,6 +177,9 @@ symbian {
+@@ -181,6 +181,9 @@ symbian {
      TARGET.CAPABILITY = ALL -TCB
      LIBS += -lefsrv
  }
@@ -15,7 +17,7 @@
  include(../../features/deploy.pri)
 --- a/src/multimedia/qpaintervideosurface.cpp
 +++ b/src/multimedia/qpaintervideosurface.cpp
-@@ -1544,9 +1544,10 @@ void QPainterVideoSurface::setGLContext(
+@@ -1549,9 +1549,10 @@ void QPainterVideoSurface::setGLContext(
          if (extensions.contains("ARB_fragment_program"))
              m_shaderTypes |= FragmentProgramShader;
  #endif

++++++ qt-mobility.yaml
--- qt-mobility.yaml
+++ qt-mobility.yaml
@@ -12,8 +12,10 @@
     - no_rpath.patch
     - fix_translations_install_path.patch
     - enable_camerabin_with_meego_target.patch
-#    - ix86:libva-codec-enable.patch
-#    - ix86:opengl-es2-shader-enable.patch
+    - build_with_QT_NO_KEYWORDS_bmc12935.patch
+    - GL_CLAMP_TO_EDGE_for_video_texture.patch
+    - opengl-es2-shader-enable.patch
+    - ix86:libva-codec-enable.patch
 Description: |
     Qt Mobility delivers a set of new APIs for mobile device functionality. 
These
     APIs allow the developer to use these features with ease from one 
framework and
@@ -60,8 +62,8 @@
     - xrandr
     - xrender
     - xv
-#    - ix86:gst-vabuffer
-#    - ix86:libva-x11
+    - ix86:gst-vabuffer
+    - ix86:libva-x11
 PkgBR:
     - qt-devel-tools
 Configure: none

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

Reply via email to