diff options
| -rw-r--r-- | configure.in | 425 | ||||
| -rw-r--r-- | configure.in.in | 35 | ||||
| -rw-r--r-- | src/Makefile.am | 2 | ||||
| -rw-r--r-- | src/gstplayer.cpp | 91 | 
4 files changed, 106 insertions, 447 deletions
diff --git a/configure.in b/configure.in deleted file mode 100644 index 585bda4..0000000 --- a/configure.in +++ /dev/null @@ -1,425 +0,0 @@ -dnl ======================================================= -dnl FILE: ./admin/configure.in.min -dnl ======================================================= - -dnl    This file is part of the KDE libraries/packages -dnl    Copyright (C) 2001 Stephan Kulow (coolo@kde.org) -  -dnl    This file is free software; you can redistribute it and/or -dnl    modify it under the terms of the GNU Library General Public -dnl    License as published by the Free Software Foundation; either -dnl    version 2 of the License, or (at your option) any later version. -  -dnl    This library is distributed in the hope that it will be useful, -dnl    but WITHOUT ANY WARRANTY; without even the implied warranty of -dnl    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -dnl    Library General Public License for more details. -  -dnl    You should have received a copy of the GNU Library General Public License -dnl    along with this library; see the file COPYING.LIB.  If not, write to -dnl    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -dnl    Boston, MA 02110-1301, USA. - -# Original Author was Kalle@kde.org -# I lifted it in some mater. (Stephan Kulow) -# I used much code from Janos Farkas - -dnl Process this file with autoconf to produce a configure script. - -AC_INIT(acinclude.m4) dnl a source file from your sub dir - -dnl This is so we can use kde-common -AC_CONFIG_AUX_DIR(admin) - -dnl This ksh/zsh feature conflicts with `cd blah ; pwd` -unset CDPATH - -dnl Checking host/target/build systems, for make, install etc. -AC_CANONICAL_SYSTEM  -dnl Perform program name transformation -AC_ARG_PROGRAM - -dnl Automake doc recommends to do this only here. (Janos) -AM_INIT_AUTOMAKE(kmplayer, 0.10.0c) dnl searches for some needed programs - -KDE_SET_PREFIX - -dnl generate the config header -AM_CONFIG_HEADER(config.h) dnl at the distribution this done - -dnl Checks for programs. -AC_CHECK_COMPILERS -AC_ENABLE_SHARED(yes) -AC_ENABLE_STATIC(no) -KDE_PROG_LIBTOOL - -dnl for NLS support. Call them in this order! -dnl WITH_NLS is for the po files -AM_KDE_WITH_NLS - -KDE_USE_QT(3) -AC_PATH_KDE -dnl ======================================================= -dnl FILE: configure.in.in -dnl ======================================================= - -#MIN_CONFIG(3) - -dnl PACKAGE set before - -KDE_ENABLE_HIDDEN_VISIBILITY - -AM_MAINTAINER_MODE - -AC_ARG_VAR(PKGCONFIGFOUND, [Path to pkg-config]) -AC_ARG_VAR(NSPRCONFIGFOUND, [Path to nspr-config]) -AC_CHECK_PROG(PKGCONFIGFOUND, pkg-config,[yes]) - -AC_MSG_CHECKING(if koffice-plugin support is wanted) -AC_ARG_ENABLE(koffice-plugin, -[  --enable-koffice-plugin enable koffice plugin], -[if test "$enableval" = yes; then -        AC_MSG_RESULT(yes) -        want_koffice_plugin="yes" -else -        AC_MSG_RESULT(no) -fi], [AC_MSG_RESULT(no); want_koffice_plugin="no"]) - -KDE_CHECK_HEADER(koDocument.h, -  have_koffice=yes, -  have_koffice=no) - -AC_MSG_CHECKING([if kmplayer can be compiled with koffice support]) -AC_MSG_RESULT($have_koffice) - -AM_CONDITIONAL(include_koffice_support, test "$want_koffice_plugin" = "yes" -a "$have_koffice" = "yes") -if test "$want_koffice_plugin" = "yes" -a "$have_koffice" = "yes"; then -        AC_DEFINE(HAVE_KOFFICE, 1, [If we have koffice installed]) -        LIB_KOFFICE="-lkofficecore -lkofficeui" -        AC_SUBST(LIB_KOFFICE) -fi - -AC_MSG_CHECKING(if expat XML parsing is wanted) -AC_ARG_ENABLE(expat, -[  --enable-expat use expat libs], -[if test "$enableval" = yes; then -        AC_MSG_RESULT(yes) -        want_expat="yes" -else -        AC_MSG_RESULT(no) -fi], [AC_MSG_RESULT(no); want_expat="no"]) - -KDE_CHECK_HEADER(expat.h, -  have_expat=yes, -  have_expat=no) - -AC_MSG_CHECKING([if kmplayer can use expat its XML parser]) -AC_MSG_RESULT($have_expat) - -AM_CONDITIONAL(include_expat_support, test "$want_expat" = "yes" -a "$have_expat" = "yes") -if test x$have_expat = xyes -a x$want_expat = xyes; then -    AC_DEFINE(HAVE_EXPAT, 1, [If libexpat is installed]) -    LIB_EXPAT="-lexpat" -    AC_SUBST(LIB_EXPAT) -fi - -dnl ------------------------- -dnl check for XTest extension -dnl ------------------------- - -AC_ARG_WITH([xtest], [AS_HELP_STRING([--without-xtest], [build without XTest support])],, -  [with_xtest=yes]) - -CFLAGS_XTEST="" -LIB_XTEST="" - -if test "$with_xtest" != "no" ; then -	AC_MSG_CHECKING([for XTest extension]) - -	if "$PKG_CONFIG" --exists xtst ; then -		with_xtest=yes -		CFLAGS_XTEST=`"$PKG_CONFIG" --cflags xtst` -		LIB_XTEST=`"$PKG_CONFIG" --libs xtst` -		AC_DEFINE([HAVE_XTEST],,[XTest extension available]) -		AC_MSG_RESULT([yes]) -	else -		with_xtest=no -		AC_MSG_RESULT([no]) -	fi -fi - -AC_SUBST([CFLAGS_XTEST]) -AC_SUBST([LIB_XTEST]) - - -KDE_CHECK_HEADER(xine.h, -   have_xine=yes, -   have_xine=no) - -AC_MSG_CHECKING([if kxineplayer can be compiled]) -AC_MSG_RESULT($have_xine) - -AC_ARG_WITH(xine, -    AC_HELP_STRING([--without-xine],[build KMPlayer without Xine [default=with]]), -    [build_xine=$withval], -    [build_xine=yes] -) - -if test "$build_xine" != "no"; then -    if test "$have_xine" = "yes"; then -      vers=`xine-config --version 2>/dev/null | awk 'BEGIN { FS = "."; } { printf "%d", ($1 * 1000 + $2) * 1000 + $3;}'` -      if test -n "$vers" && test "$vers" -ge 1000000 -      then -            AC_DEFINE(HAVE_XINE, 1, [If we have libxine installed]) -            LIB_XINE="`xine-config --libs`" -            AC_SUBST(LIB_XINE) -            CFLAGS_XINE="`xine-config --cflags`" -            AC_SUBST(CFLAGS_XINE) -      else -           have_xine="no" -           AC_MSG_WARN([Your xine installation is too old (1.0.0 or later required)]) -      fi -    fi -else -    have_xine="no" -fi - -AM_CONDITIONAL(include_kxineplayer, test "$have_xine" = "yes") - -AC_ARG_WITH(gstreamer, -    AC_HELP_STRING([--without-gstreamer],[build KMPlayer without GStreamer [default=with]]), -    [build_gstreamer=$withval], -    [build_gstreamer=yes] -) - -if test "$build_gstreamer" != "no"; then -    if test "$PKGCONFIGFOUND" = "yes" ; then -        # check for GStreamer -        dnl Now we're ready to ask for gstreamer libs and cflags -        dnl And we can also ask for the right version of gstreamer - -        GST_MAJORMINOR=0.10 -        GST_REQ=0.10.0 - -        PKG_CHECK_MODULES(GST, gstreamer-$GST_MAJORMINOR >= $GST_REQ, -            have_gst=yes,have_gst=no) - -        PKG_CHECK_MODULES(GST_PLUGINS, gstreamer-plugins-base-$GST_MAJORMINOR >= $GST_REQ, \ -            have_gst_plugins=yes,have_gst_plugins=no) -        LIB_GST="" -        CFLAGS_GST="" -        LIB_GST_PLUGINS="" -        dnl Give error if we don't have gstreamer -        if test "x$have_gst" = "xyes"; then -            AC_SUBST(GST_MAJORMINOR) -            AC_DEFINE(HAVE_GSTREAMER, 1, [have GStreamer]) -            LIB_GST=$GST_LIBS -            CFLAGS_GST=$GST_CFLAGS -            LIB_GST_PLUGINS=$GST_INTERFACES_LIBS -        fi -        AC_SUBST(LIB_GST) -        AC_SUBST(CFLAGS_GST) -        AC_SUBST(LIB_GST_PLUGINS) -    fi -fi -AC_MSG_CHECKING([if kgstplayer can be compiled]) -if test "x$have_gst" = "xyes" && test "x$have_gst_plugins" = "xyes"; then -    AC_MSG_RESULT(yes) -else -    AC_MSG_RESULT(no) -fi - -AM_CONDITIONAL(include_kgstplayer, [test "x$have_gst" = "xyes" && test "x$have_gst_plugins" = "xyes"]) - -buildnpp=yes -LIBNSPR_LIBS="" -LIBNSPR_CFLAGS="" -LIBQTDBUS="" -LIBDBUS_CFLAGS="" -AC_ARG_ENABLE(nspr, [  --enable-npplayer    Enables building with npp support], -[if test "x$enableval" == "xno"; then -        buildnpp=no -    fi]) -if test "$buildnpp" = "yes"; then -    if test "$PKGCONFIGFOUND" = "yes" ; then -        DBUS_REQ=1.0.0 -        PKG_CHECK_MODULES(DBUS, [ dbus-tqt dbus-1 >= $DBUS_REQ ], -                          have_dbus=yes,have_dbus=no) -        if test "x$have_dbus" = "xyes"; then -            have_nspr=yes -            AC_DEFINE(HAVE_DBUS, 1, [have DBus]) -            LIBQTDBUS="`$PKG_CONFIG --libs dbus-tqt`" -            LIBDBUS_CFLAGS="`$PKG_CONFIG --cflags dbus-tqt`" -            AC_DEFINE(HAVE_NSPR, 1, [build Netscape plugin loader]) -            LIBNSPR_LIBS="`$PKG_CONFIG --libs gtk+-x11-2.0` `$PKG_CONFIG --libs dbus-glib-1` `$PKG_CONFIG --libs gthread-2.0`" -            LIBNSPR_CFLAGS="`$PKG_CONFIG --cflags gtk+-x11-2.0` `$PKG_CONFIG --cflags dbus-glib-1`" -        fi -    fi -fi -AC_SUBST(LIBNSPR_LIBS) -AC_SUBST(LIBNSPR_CFLAGS) -AC_SUBST(LIBQTDBUS) -AC_SUBST(LIBDBUS_CFLAGS) - -AM_CONDITIONAL(include_knpplayer, test "$have_nspr" = "yes") - -hascairo=yes -LIBCAIRO_LIBS="" -LIBCAIRO_CFLAGS="" -AC_ARG_ENABLE(cairo, [  --enable-cairo     Enables building with cairo support], -[if test "x$enableval" == "xno"; then -        hascairo=no -    fi]) -if test $hascairo = yes; then -        AC_MSG_CHECKING([Checking for cairo with pkg-config]) -        hascairo=no -        if test -n "$PKG_CONFIG"; then -                LIBCAIRO_LIBS="`$PKG_CONFIG cairo --libs`" -                LIBCAIRO_CFLAGS="`$PKG_CONFIG cairo --cflags`" -                if test -n "$LIBCAIRO_LIBS" || test -n "$LIBCAIRO_CFLAGS"; then -                        AC_MSG_RESULT([found]) -                        hascairo=yes -                else -                        AC_MSG_RESULT([not found]) -                fi -        else -                AC_MSG_RESULT([failed: pkg-config not found]) -        fi -        if test $hascairo = yes; then -                AC_DEFINE_UNQUOTED(HAVE_CAIRO, 1, [Defines if your system has the cairo library]) -        else -                AC_MSG_WARN([Couldn't find a usable cairo]) -        fi -fi -AC_SUBST(LIBCAIRO_LIBS) -AC_SUBST(LIBCAIRO_CFLAGS) - -KDE_CHECK_BINUTILS - -AC_MSG_CHECKING([for KDE version]) - -AC_LANG_SAVE -AC_LANG_CPLUSPLUS -tdeversion_save_CXXFLAGS="$CXXFLAGS" -tdeversion_safe_LIBS="$LIBS" -LIBS="$LIBS $X_EXTRA_LIBS" -CXXFLAGS="$CXXFLAGS $all_includes" - -AC_COMPILE_IFELSE([ -#include <tdeversion.h> -#if ! ( KDE_IS_VERSION( 3, 3, 91 ) ) -#error KDE 3.3 -#endif -], -    need_trinity3_compat="no" -, -    need_trinity3_compat="yes" -) - -AC_COMPILE_IFELSE([ -#include <tdeversion.h> -#if ! ( KDE_IS_VERSION( 3, 2, 90 ) ) -#error KDE 3.2 -#endif -], -    need_trinity2_compat="no" -, -    need_trinity2_compat="yes" -) - -AC_COMPILE_IFELSE([ -#include <tdeversion.h> -#if ! ( KDE_IS_VERSION( 3, 1, 90 ) ) -#error KDE 3.1 -#endif -], -    need_trinity1_compat="no" -, -    need_trinity1_compat="yes" -) - -CXXFLAGS="$tdeversion_save_CXXFLAGS" -LIBS="$tdeversion_safe_LIBS" -AC_LANG_RESTORE - -if test "$need_trinity2_compat" = "yes"; then -    AC_MSG_RESULT([KDE 3.2.x]) -fi - -if test "$need_trinity1_compat" = "yes"; then -    AC_MSG_RESULT([KDE 3.1.x]) -fi - -AM_CONDITIONAL(need_trinity3_compatibility, test "$need_trinity3_compat" = "yes") -AM_CONDITIONAL(need_trinity2_compatibility, test "$need_trinity2_compat" = "yes") -AM_CONDITIONAL(need_trinity1_compatibility, test "$need_trinity1_compat" = "yes") - -KDE_CREATE_SUBDIRSLIST -AC_CONFIG_FILES([ Makefile ]) -AC_CONFIG_FILES([ doc/Makefile ]) -AC_CONFIG_FILES([ doc/da/Makefile ]) -AC_CONFIG_FILES([ doc/de/Makefile ]) -AC_CONFIG_FILES([ doc/en/Makefile ]) -AC_CONFIG_FILES([ doc/es/Makefile ]) -AC_CONFIG_FILES([ doc/et/Makefile ]) -AC_CONFIG_FILES([ doc/fr/Makefile ]) -AC_CONFIG_FILES([ doc/it/Makefile ]) -AC_CONFIG_FILES([ doc/nl/Makefile ]) -AC_CONFIG_FILES([ doc/pt/Makefile ]) -AC_CONFIG_FILES([ doc/ru/Makefile ]) -AC_CONFIG_FILES([ doc/sv/Makefile ]) -AC_CONFIG_FILES([ icons/Makefile ]) -AC_CONFIG_FILES([ mimetypes/Makefile ]) -AC_CONFIG_FILES([ mimetypes/application/Makefile ]) -AC_CONFIG_FILES([ mimetypes/audio/Makefile ]) -AC_CONFIG_FILES([ mimetypes/video/Makefile ]) -AC_CONFIG_FILES([ mimetypes/video/trinity1/Makefile ]) -AC_CONFIG_FILES([ po/Makefile ]) -AC_CONFIG_FILES([ protocols/Makefile ]) -AC_CONFIG_FILES([ src/Makefile ]) -AC_OUTPUT -# Check if KDE_SET_PREFIX was called, and --prefix was passed to configure -if test -n "$kde_libs_prefix" -a -n "$given_prefix"; then -  # And if so, warn when they don't match -  if test "$kde_libs_prefix" != "$given_prefix"; then -    # And if kde doesn't know about the prefix yet -    echo ":"`tde-config --path exe`":" | grep ":$given_prefix/bin/:" 2>&1 >/dev/null -    if test $? -ne 0; then -      echo "" -      echo "Warning: you chose to install this package in $given_prefix," -      echo "but KDE was found in $kde_libs_prefix." -      echo "For this to work, you will need to tell KDE about the new prefix, by ensuring" -      echo "that TDEDIRS contains it, e.g. export TDEDIRS=$given_prefix:$kde_libs_prefix" -      echo "Then restart KDE." -      echo "" -    fi -  fi -fi - -if test x$GXX = "xyes" -a x$kde_have_gcc_visibility = "xyes" -a x$kde_cv_val_qt_gcc_visibility_patched = "xno"; then -  echo "" -  echo "Your GCC supports symbol visibility, but the patch for Qt supporting visibility" -  echo "was not included. Therefore, GCC symbol visibility support remains disabled." -  echo "" -  echo "For better performance, consider including the Qt visibility supporting patch" -  echo "located at:" -  echo "" -  echo "http://bugs.kde.org/show_bug.cgi?id=109386" -  echo "" -  echo "and recompile all of Qt and KDE. Note, this is entirely optional and" -  echo "everything will continue to work just fine without it." -  echo "" -fi - -if test "$all_tests" = "bad"; then -  if test ! "$cache_file" = "/dev/null"; then -    echo "" -    echo "Please remove the file $cache_file after changing your setup" -    echo "so that configure will find the changes next time." -    echo "" -  fi -else -  echo "" -  echo "Good - your configure finished. Start make now" -  echo "" -fi diff --git a/configure.in.in b/configure.in.in index 78b4d5f..5fe5704 100644 --- a/configure.in.in +++ b/configure.in.in @@ -132,32 +132,39 @@ if test "$build_gstreamer" != "no"; then          dnl Now we're ready to ask for gstreamer libs and cflags          dnl And we can also ask for the right version of gstreamer -        GST_MAJORMINOR=0.10 -        GST_REQ=0.10.0 - -        PKG_CHECK_MODULES(GST, gstreamer-$GST_MAJORMINOR >= $GST_REQ, -            have_gst=yes,have_gst=no) - -        PKG_CHECK_MODULES(GST_PLUGINS, gstreamer-plugins-base-$GST_MAJORMINOR >= $GST_REQ, \ -            have_gst_plugins=yes,have_gst_plugins=no)          LIB_GST=""          CFLAGS_GST=""          LIB_GST_PLUGINS="" -        dnl Give error if we don't have gstreamer +        LIB_GST_OVERLAY="" + +        PKG_CHECK_MODULES(GST_1, gstreamer-1.0, have_gst=yes, have_gst=no) +        PKG_CHECK_MODULES(GST_1_PLUGINS, gstreamer-plugins-base-1.0, have_gst_plugins=yes, have_gst_plugins=no)          if test "x$have_gst" = "xyes"; then -            AC_SUBST(GST_MAJORMINOR) -            AC_DEFINE(HAVE_GSTREAMER, 1, [have GStreamer]) -            LIB_GST=$GST_LIBS -            CFLAGS_GST=$GST_CFLAGS -            LIB_GST_PLUGINS=$GST_INTERFACES_LIBS +            dnl We have GStreamer 1.0 +            LIB_GST=$GST_1_LIBS +            CFLAGS_GST=$GST_1_CFLAGS +            LIB_GST_PLUGINS=$GST_1_PLUGINS_LIBS +            LIB_GST_OVERLAY="-lgstvideo-1.0" +        else +            PKG_CHECK_MODULES(GST, gstreamer-0.10, have_gst=yes, have_gst=no) +            PKG_CHECK_MODULES(GST_PLUGINS, gstreamer-plugins-base-0.10, have_gst_plugins=yes, have_gst_plugins=no) +            if test "x$have_gst" = "xyes"; then +                dnl We have GStreamer 0.10 +                LIB_GST=$GST_LIBS +                CFLAGS_GST=$GST_CFLAGS +                LIB_GST_PLUGINS=$GST_PLUGINS_LIBS +                LIB_GST_OVERLAY="-lgstinterfaces-0.10" +            fi          fi          AC_SUBST(LIB_GST)          AC_SUBST(CFLAGS_GST)          AC_SUBST(LIB_GST_PLUGINS) +        AC_SUBST(LIB_GST_OVERLAY)      fi  fi  AC_MSG_CHECKING([if kgstplayer can be compiled])  if test "x$have_gst" = "xyes" && test "x$have_gst_plugins" = "xyes"; then +    AC_DEFINE(HAVE_GSTREAMER, 1, [have GStreamer])      AC_MSG_RESULT(yes)  else      AC_MSG_RESULT(no) diff --git a/src/Makefile.am b/src/Makefile.am index 6db915f..6278004 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -53,7 +53,7 @@ kxvplayer_LDADD= libkmplayerbackend.la -lDCOP -lXv  kxvplayer_LDFLAGS= $(all_libraries) $(KDE_RPATH) $(LIB_QT) -lDCOP $(LIB_TDECORE) $(LIB_TDEUI) -ltdefx $(LIB_TDEIO) -ltdetexteditor  kxvplayer_SOURCES= xvplayer.cpp -kgstplayer_LDADD= libkmplayerbackend.la $(LIB_GST) $(LIB_GST_PLUGINS) -lgstinterfaces-0.10 -lDCOP +kgstplayer_LDADD= libkmplayerbackend.la $(LIB_GST) $(LIB_GST_PLUGINS) $(LIB_GST_OVERLAY) -lDCOP  kgstplayer_LDFLAGS= $(all_libraries) $(KDE_RPATH) $(LIB_QT) -lDCOP $(LIB_TDECORE) $(LIB_TDEUI) -ltdefx $(LIB_TDEIO) -ltdetexteditor  kgstplayer_SOURCES= gstplayer.cpp diff --git a/src/gstplayer.cpp b/src/gstplayer.cpp index 0585ac9..74bcee0 100644 --- a/src/gstplayer.cpp +++ b/src/gstplayer.cpp @@ -39,8 +39,13 @@  #include <X11/keysym.h>  #include <X11/Xatom.h>  #include <gst/gst.h> +#if GST_CHECK_VERSION(1,0,0) +#include <gst/video/videooverlay.h> +#include <gst/video/colorbalance.h> +#else  #include <gst/interfaces/xoverlay.h>  #include <gst/interfaces/colorbalance.h> +#endif  static char                 configfile[2048]; @@ -76,7 +81,11 @@ static const char          *vcd_device;  static GstElement          *gst_elm_play;  static GstBus              *gst_bus;  static unsigned int /*GstMessageType*/       ignore_messages_mask; +#if GST_CHECK_VERSION(1,0,0) +static GstVideoOverlay     *xoverlay; +#else  static GstXOverlay         *xoverlay; +#endif  static GstColorBalance     *color_balance;  static gulong               gst_bus_sync;  static gulong               gst_bus_async; @@ -121,7 +130,11 @@ gstCapsSet (GstPad *pad,              GParamSpec * /*pspec*/,              gpointer /*data*/)  { +#if GST_CHECK_VERSION(1,0,0) +    GstCaps *caps = gst_pad_get_current_caps (pad); +#else      GstCaps *caps = gst_pad_get_negotiated_caps (pad); +#endif      if (!caps)          return;      TQApplication::postEvent (gstapp, new TQEvent ((TQEvent::Type) event_video)); @@ -200,7 +213,13 @@ static void gstSource (GObject *, GParamSpec *, gpointer /*data*/) {  static void gstGetDuration () {      GstFormat fmt = GST_FORMAT_TIME;      gint64 len = -1; // usec -    if (gst_element_query_duration (gst_elm_play, &fmt, &len)) +    if (gst_element_query_duration (gst_elm_play, +#if GST_CHECK_VERSION(1,0,0) +                fmt, +#else +                &fmt, +#endif +                &len))          if (movie_length != len / (GST_MSECOND * 100)) {              movie_length = len / (GST_MSECOND * 100);              fprintf (stderr, "new length %d\n", movie_length); @@ -245,13 +264,23 @@ static void gstBusMessage (GstBus *, GstMessage * message, gpointer) {              break;          case GST_MESSAGE_BUFFERING: {              gint percent = 0; -            gst_structure_get_int (message->structure, "buffer-percent", &percent); +            gst_structure_get_int ( +#if GST_CHECK_VERSION(1,0,0) +                gst_message_get_structure(message), +#else +                message->structure, +#endif +                "buffer-percent", &percent);              TQApplication::postEvent (gstapp, new GstProgressEvent (percent));              //fprintf (stderr, "Buffering message (%u%%)\n", percent);              break;          }          case GST_MESSAGE_APPLICATION: { +#if GST_CHECK_VERSION(1,0,0) +            const char * msg = gst_structure_get_name (gst_message_get_structure(message)); +#else              const char * msg = gst_structure_get_name (message->structure); +#endif              fprintf (stderr, "app msg %s\n", msg ? msg : "<unknown>");              //gst_structure_foreach (message->structure, gstStructure, 0L);              break; @@ -297,10 +326,21 @@ static void gstBusMessage (GstBus *, GstMessage * message, gpointer) {  }  static void gstMessageElement (GstBus *, GstMessage *msg, gpointer /*data*/) { -    if (gst_structure_has_name (msg->structure, "prepare-xwindow-id")) { +    if (gst_structure_has_name ( +#if GST_CHECK_VERSION(1,0,0) +            gst_message_get_structure(msg), +#else +            msg->structure, +#endif +            "prepare-xwindow-id")) {          fprintf (stderr, "prepare-xwindow-id\n"); -        if (xoverlay) +        if (xoverlay) { +#if GST_CHECK_VERSION(1,0,0) +            gst_video_overlay_set_window_handle (xoverlay, wid); +#else              gst_x_overlay_set_xwindow_id (xoverlay, wid); +#endif +        }      }  } @@ -598,13 +638,25 @@ void KGStreamerPlayer::play (int repeat) {          goto fail;      if (GST_IS_BIN (videosink))          element = gst_bin_get_by_interface (GST_BIN (videosink), -                GST_TYPE_X_OVERLAY); +#if GST_CHECK_VERSION(1,0,0) +                GST_TYPE_VIDEO_OVERLAY +#else +                GST_TYPE_X_OVERLAY +#endif +                );      else          element = videosink; +#if GST_CHECK_VERSION(1,0,0) +    if (GST_IS_VIDEO_OVERLAY (element)) { +        xoverlay = GST_VIDEO_OVERLAY (element); +        gst_video_overlay_set_window_handle (xoverlay, wid); +    } +#else      if (GST_IS_X_OVERLAY (element)) {          xoverlay = GST_X_OVERLAY (element);          gst_x_overlay_set_xwindow_id (xoverlay, wid);      } +#endif      gst_element_set_bus (videosink, gst_bus);      gst_element_set_state (videosink, GST_STATE_READY);      success = gstPollForStateChange (videosink, GST_STATE_READY); @@ -621,7 +673,11 @@ void KGStreamerPlayer::play (int repeat) {              "video-sink",  videosink,              "audio-sink",  audiosink,              NULL); +#if GST_CHECK_VERSION(1,0,0) +    gst_bus_set_sync_handler (gst_bus, gst_bus_sync_signal_handler, 0L, 0L); +#else      gst_bus_set_sync_handler (gst_bus, gst_bus_sync_signal_handler, 0L); +#endif      gst_bus_sync = g_signal_connect (gst_bus, "sync-message::element",              G_CALLBACK (gstMessageElement), 0L);      g_signal_connect (gst_elm_play, "notify::source", @@ -766,7 +822,13 @@ void KGStreamerPlayer::updatePosition () {          if (gst_elm_play && callback) {              GstFormat fmt = GST_FORMAT_TIME;              gint64 val = 0; // usec -            if (gst_element_query_position (gst_elm_play, &fmt, &val)) +            if (gst_element_query_position (gst_elm_play, +#if GST_CHECK_VERSION(1,0,0) +                        fmt, +#else +                        &fmt, +#endif +                        &val))                  callback->moviePosition (int (val / (GST_MSECOND * 100)));          }          mutex.unlock (); @@ -888,11 +950,19 @@ protected:                          if (gst_elm_play) {                              GstElement *videosink;                              g_object_get (gst_elm_play, "video-sink", &videosink, NULL); +#if GST_CHECK_VERSION(1,0,0) +                            if (videosink && GST_IS_VIDEO_OVERLAY (videosink)) { +                                gst_video_overlay_set_window_handle (GST_VIDEO_OVERLAY (videosink), wid); +                                gst_video_overlay_expose (GST_VIDEO_OVERLAY (videosink)); +                                gst_object_unref (videosink); +                            } +#else                              if (videosink && GST_IS_X_OVERLAY (videosink)) {                                  gst_x_overlay_set_xwindow_id (GST_X_OVERLAY (videosink), wid);                                  gst_x_overlay_expose (GST_X_OVERLAY (videosink));                                  gst_object_unref (videosink);                              } +#endif                          }                          mutex.unlock ();                      } @@ -900,8 +970,15 @@ protected:                  case ConfigureNotify:                      mutex.lock (); -                    if (xoverlay && GST_IS_X_OVERLAY (xoverlay)) +#if GST_CHECK_VERSION(1,0,0) +                    if (xoverlay && GST_IS_VIDEO_OVERLAY (xoverlay)) { +                        gst_video_overlay_expose (xoverlay); +                    } +#else +                    if (xoverlay && GST_IS_X_OVERLAY (xoverlay)) {                          gst_x_overlay_expose (xoverlay); +                    } +#endif                      mutex.unlock ();                      break;                  case ButtonPress: {  | 
