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
