Thanks Fathi!  Sorry for the churn here.

I updated the changelog to add in the FEA number.  When I committed the change, 
OBS hiccupped and committed an empty spec file to the server.  This was odd, as 
I only modified the changelog.

Unfortunately, before I realized that the package was failing to build on the 
servers, I updated my local view and lost the spec file with Halley's changes.  
So I tried to rebuild it using the old spec file from Trunk:Testing and the 
yaml file from the devel project. Looks like I missed a few things.

Thanks for fixing this!
-Kaitlin

-----Original Message-----
From: [email protected] [mailto:[email protected]]
Sent: Wednesday, December 29, 2010 12:21 AM
To: Zhu, Peter J; [email protected]; Rupert, Kaitlin; Zhao, Halley
Subject: RE: [meego-commits] 11304: Changes to Trunk:Testing/qt-mobility

It's caused by outdated yaml file. The spec file has been modified directly.
Fixing and re-submit soon.
________________________________________
From: ext Zhu, Peter J [[email protected]]
Sent: Wednesday, December 29, 2010 9:25 AM
To: [email protected]; Rupert, Kaitlin; Boudra Fathi 
(Nokia-MS/Helsinki); Zhao, Halley
Subject: RE: [meego-commits] 11304: Changes to Trunk:Testing/qt-mobility

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
_______________________________________________
MeeGo-packaging mailing list
[email protected]
http://lists.meego.com/listinfo/meego-packaging

Reply via email to