Amarok vs Gstreamer

Torgil Svensson torgil.svensson at gmail.com
Tue Sep 5 21:12:46 UTC 2006


The easiest way of getting gstreamer engine to work is just reverting
the commit that disabled it, which is 556594, i've done it in one of
the attached files.

It's been a while since I've compiled amarok but the patches applies
fine to the current trunk (581199) and there's been no changes since
last time that suggests that it shouldn't work. I can't see any
"code-changes" since gstreamer was disabled in June (just diff 581199
against 556594 on folder "src/engine/gst10/" and see for yourself).
But as Paul says, it works!

//Torgil


On 9/5/06, paulc2 at optonline.net <paulc2 at optonline.net> wrote:
> (1) you need to modify these files:
>
> - amarok/configure.in.in
> - amarok/configure.in.bot
> - amarok/src/engine/Makefile.am
> - amarok/src/engine/gst10/Makefile.am
>
> you should be able to figure out what needs to be uncommented.
>
> (2) just run it from the command line.
>
> BTW, it already works, but there are issues.  The most vexing one I've come
> across so far is this:
>
> on some Gentoo systems (I have this happening on 2 gentoo systems right
> now, but
> there are other gentoo users that work fine) everything sets up fine and there
> are no errors, until you try to set the pipeline to "PLAYING".  That
> fails. You don't get to the error bus, so all you know is that the
> state couldn't be
> changed, and there is no way to obtain any information about what about the
> pipeline prevents it from changing the state.
>
> Now, here's the catch: the same pipeline (minus the equalizer) plays just fine
> in gst-launch, and the very same code works fine on other distros, Arch being
> the other one I'm using most often.  (I've tried removing the equalizer from
> the pipeline in the amarok engine, but same result, so it doesnt seem
> to be the
> culprit).
>
> ATM, I'm pretty stumped, so if you or anyone on this list has any ideas...
>
> Paul
>
> Quoting Jonathan Ryshpan <jonrysh at pacbell.net>:
>
> > I'm trying to get amarok working again with gstreamer.  It worked fine
> > till recently, but upgrades to amarok and/or gstreamer-0.10 have broken
> > it.  So far I've downloaded amarok from the svn archive and built it
> > successfully using amarok-svn.sh .
> >
> > However, I haven't been able to enable gst.  The tests for gst are
> > commented out of the configuration.in file, and when I remove the
> > comment markers ("#"s), configure.in is rebuilt with the gst tests
> > commented out again.  I haven't been able to find the configuration
> > files that amarok-svn.sh use as input while building configure.in .
> >
> > Questions:
> >
> > (1) What files are used to control building configure.in ?
> >
> > (2) When I get amarok built to use gstreamer, how can I get amarok to
> > print out its invocation of gst?  Amarok has a lot of debugging
> > features, but there doesn't seem to be much info on how to use them.
> >
> > Many Thanks - jon
> >
> > _______________________________________________
> > Amarok mailing list
> > Amarok at kde.org
> > https://mail.kde.org/mailman/listinfo/amarok
> >
>
>
>
> ----------------------------------------------------------------
> This message was sent using IMP, the Internet Messaging Program.
>
>
> _______________________________________________
> Amarok mailing list
> Amarok at kde.org
> https://mail.kde.org/mailman/listinfo/amarok
>
-------------- next part --------------
[PATCH] Revert "Disable gst engine for 1.4.1."

From: Torgil Svensson <torgil.svensson at gmail.com>

This reverts commit e40be4a69ed3544fd97f9af8d36ff6bef78476b1.
---

 README                                             |    4 +
 configure.in.bot                                   |   36 +++++-----
 configure.in.in                                    |   70 ++++++++++----------
 release_scripts/release_amarok.rb                  |    2 -
 src/engine/Makefile.am                             |    9 +--
 src/engine/gst10/amarok_gst10engine_plugin.desktop |    3 +
 6 files changed, 65 insertions(+), 59 deletions(-)

diff --git a/README b/README
index b16980f..1555e38 100644
--- a/README
+++ b/README
@@ -65,6 +65,10 @@ Optional
       http://www.real.com
       (Note: only HelixPlayer is exactly RealPlayer without MP3 support)
 
+    * GStreamer-0.10 + GStreamer-Plugins-0.10
+      (multimedia framework)
+      http://gstreamer.net
+
     * NMM 0.7.0
       (multimedia framework)
       http://www.networkmultimedia.org
diff --git a/configure.in.bot b/configure.in.bot
index 68ab1a8..fc64545 100644
--- a/configure.in.bot
+++ b/configure.in.bot
@@ -79,18 +79,18 @@ if test x$build_xine = xno; then
     echo " ="
 fi
 
-#if test x$have_gst_plugins = xno -a x$have_gst = xyes; then
-#    echo " =========================="
-#    echo " ===  Amarok - WARNING  ========================================================"
-#    echo " =========================="
-#    echo " ="
-#    echo " = No GStreamer plugins were detected!"
-#    echo " = Without plugins you will not be able to play any media using the"
-#    echo " = GStreamer-engine! You need at least the MP3 plugin and a sink plugin, (eg."
-#    echo " = ALSAsink). Please refer to http://gstreamer.freedesktop.org/"
-#    echo " = NOTE: you will still be able to play media with another engine plugin."
-#    echo " ="
-#fi
+if test x$have_gst_plugins = xno -a x$have_gst = xyes; then
+    echo " =========================="
+    echo " ===  Amarok - WARNING  ========================================================"
+    echo " =========================="
+    echo " ="
+    echo " = No GStreamer plugins were detected!"
+    echo " = Without plugins you will not be able to play any media using the"
+    echo " = GStreamer-engine! You need at least the MP3 plugin and a sink plugin, (eg."
+    echo " = ALSAsink). Please refer to http://gstreamer.freedesktop.org/"
+    echo " = NOTE: you will still be able to play media with another engine plugin."
+    echo " ="
+fi
 
 if test x$included_sqlite = xno; then
   if test x$have_sqlite = xyes; then
@@ -174,9 +174,9 @@ #    if test x$build_akode != xyes; then
 #        echo " =   - aKode-engine"
 #    fi
 
-#    if test x$have_gst10 != xyes; then
-#        echo " =   - GStreamer0.10-engine"
-#    fi
+    if test x$have_gst10 != xyes; then
+        echo " =   - GStreamer0.10-engine"
+    fi
 
     if test x$build_xine != xyes; then
         echo " =   - xine-engine"
@@ -246,9 +246,9 @@ #    if test x$build_akode = xyes; then
 #        echo " =   + aKode-engine"
 #    fi
 
-#    if test x$have_gst10 = xyes; then
-#        echo " =   + GStreamer0.10-engine"
-#    fi
+    if test x$have_gst10 = xyes; then
+        echo " =   + GStreamer0.10-engine"
+    fi
 
     if test x$build_xine = xyes; then
         echo " =   + xine-engine"
diff --git a/configure.in.in b/configure.in.in
index 17dbe64..1f2b950 100644
--- a/configure.in.in
+++ b/configure.in.in
@@ -51,41 +51,41 @@ ########################################
 # BEGIN GSTREAMER-0.10 CHECK
 ###############################################################################
 
-#AC_ARG_WITH(gstreamer10,
-#    AC_HELP_STRING([--with-gstreamer10],[build Amarok with GStreamer 0.10-engine]),
-#    [build_gstreamer10=$withval],
-#    [build_gstreamer10=no]
-#)
-#
-#if test "$build_gstreamer10" != "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
-#        have_gst10=no
-#
-#        GST10_MAJORMINOR=0.10
-#        GST10_REQ=0.10.0
-#
-#        PKG_CHECK_MODULES(GST10, gstreamer-$GST10_MAJORMINOR >= $GST10_REQ gstreamer-base-$GST10_MAJORMINOR,
-#            have_gst10=yes,have_gst10=no)
-#
-#        dnl Give error if we don't have gstreamer
-#        if test "x$have_gst10" = "xno"; then
-#            LIB_GST10=""
-#            CFLAGS_GST10=""
-#        else
-#            LIB_GST10=$GST10_LIBS
-#            CFLAGS_GST10=$GST10_CFLAGS
-#            AC_SUBST(LIB_GST10)
-#            AC_SUBST(CFLAGS_GST10)
-#            AC_SUBST(GST10_MAJORMINOR)
-#            AC_DEFINE(HAVE_GSTREAMER10, 1, [have GStreamer10])
-#        fi
-#    fi
-#fi
-#
-#AM_CONDITIONAL(with_gst10, [test x$have_gst10 = xyes])
+AC_ARG_WITH(gstreamer10,
+    AC_HELP_STRING([--with-gstreamer10],[build Amarok with GStreamer 0.10-engine]),
+    [build_gstreamer10=$withval],
+    [build_gstreamer10=no]
+)
+
+if test "$build_gstreamer10" != "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
+        have_gst10=no
+
+        GST10_MAJORMINOR=0.10
+        GST10_REQ=0.10.0
+
+        PKG_CHECK_MODULES(GST10, gstreamer-$GST10_MAJORMINOR >= $GST10_REQ gstreamer-base-$GST10_MAJORMINOR,
+            have_gst10=yes,have_gst10=no)
+
+        dnl Give error if we don't have gstreamer
+        if test "x$have_gst10" = "xno"; then
+            LIB_GST10=""
+            CFLAGS_GST10=""
+        else
+            LIB_GST10=$GST10_LIBS
+            CFLAGS_GST10=$GST10_CFLAGS
+            AC_SUBST(LIB_GST10)
+            AC_SUBST(CFLAGS_GST10)
+            AC_SUBST(GST10_MAJORMINOR)
+            AC_DEFINE(HAVE_GSTREAMER10, 1, [have GStreamer10])
+        fi
+    fi
+fi
+
+AM_CONDITIONAL(with_gst10, [test x$have_gst10 = xyes])
 
 ###############################################################################
 # END GSTREAMER-0.10 CHECK
diff --git a/release_scripts/release_amarok.rb b/release_scripts/release_amarok.rb
index 573c1e1..9873755 100755
--- a/release_scripts/release_amarok.rb
+++ b/release_scripts/release_amarok.rb
@@ -176,7 +176,7 @@ # Move some important files to the root 
 # This stuff doesn't belong in the tarball
 `rm -rf src/scripts/rbot`
 `rm -rf release_scripts`
-`rm -rf src/engine/gst10` #Removed for now
+# `rm -rf src/engine/gst10` #Removed for now
 
 Dir.chdir( "src" )
 
diff --git a/src/engine/Makefile.am b/src/engine/Makefile.am
index ef4ea95..48960fb 100644
--- a/src/engine/Makefile.am
+++ b/src/engine/Makefile.am
@@ -1,6 +1,6 @@
-#if with_gst10
-#    GST10_ENGINE_SUBDIR = gst10
-#endif
+if with_gst10
+    GST10_ENGINE_SUBDIR = gst10
+endif
 
 if with_nmm
     NMM_ENGINE_SUBDIR = nmm
@@ -19,5 +19,6 @@ SUBDIRS = . \
     void \
     $(XINE_ENGINE_SUBDIR) \
     $(NMM_ENGINE_SUBDIR) \
-    $(HELIX_ENGINE_SUBDIR)
+    $(HELIX_ENGINE_SUBDIR) \
+    $(GST10_ENGINE_SUBDIR)
 
diff --git a/src/engine/gst10/amarok_gst10engine_plugin.desktop b/src/engine/gst10/amarok_gst10engine_plugin.desktop
index 11a2900..6251657 100644
--- a/src/engine/gst10/amarok_gst10engine_plugin.desktop
+++ b/src/engine/gst10/amarok_gst10engine_plugin.desktop
@@ -71,7 +71,8 @@ X-KDE-Amarok-plugintype=engine
 X-KDE-Amarok-name=gst10-engine
 X-KDE-Amarok-authors=Mark Kretschmann,Jakub Stachowski,Paul Cifarelli
 X-KDE-Amarok-email=markey at web.de,qbast at go2.pl,paul at cifarelli.net
-X-KDE-Amarok-rank=0
+X-KDE-Amarok-rank=100
 X-KDE-Amarok-version=1
 X-KDE-Amarok-framework-version=27
 
+
-------------- next part --------------
[PATCH] Compile gstreamer0.10 engine by default

From: Torgil Svensson <torgil.svensson at gmail.com>


---

 configure.in.in |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/configure.in.in b/configure.in.in
index 1f2b950..922e41b 100644
--- a/configure.in.in
+++ b/configure.in.in
@@ -52,9 +52,9 @@ # BEGIN GSTREAMER-0.10 CHECK
 ###############################################################################
 
 AC_ARG_WITH(gstreamer10,
-    AC_HELP_STRING([--with-gstreamer10],[build Amarok with GStreamer 0.10-engine]),
+    AC_HELP_STRING([--without-gstreamer10],[build Amarok without GStreamer 0.10-engine]),
     [build_gstreamer10=$withval],
-    [build_gstreamer10=no]
+    [build_gstreamer10=yes]
 )
 
 if test "$build_gstreamer10" != "no"; then


More information about the Amarok mailing list