[Pkg-mpd-commits] [pkg-mpd] 02/04: Imported Upstream version 0.18.3

Florian Schlichting fsfs at alioth.debian.org
Sat Nov 9 05:40:20 UTC 2013


This is an automated email from the git hooks/post-receive script.

fsfs pushed a commit to branch master
in repository pkg-mpd.

commit ed9d978f9fcd5e1fac6f48f3921d40fc3e7c0d6c
Author: Florian Schlichting <fsfs at debian.org>
Date:   Sat Nov 9 06:24:43 2013 +0100

    Imported Upstream version 0.18.3
---
 INSTALL                 |   17 +++++--------
 Makefile.am             |    2 +-
 Makefile.in             |    6 ++---
 NEWS                    |    3 +++
 configure               |   20 +++++++--------
 configure.ac            |    4 +--
 doc/developer.xml       |   65 ++++++++++++++++++++++++++++++++++++++++++++++-
 doc/doxygen.conf        |    2 +-
 doc/mpdconf.example     |    7 ++---
 doc/user.xml            |    6 ++---
 src/DecoderAPI.cxx      |    4 +--
 src/DecoderInternal.cxx |   16 +++---------
 src/PlayerThread.cxx    |   12 ++++++---
 13 files changed, 110 insertions(+), 54 deletions(-)

diff --git a/INSTALL b/INSTALL
index 3bf1d36..9d91ac7 100644
--- a/INSTALL
+++ b/INSTALL
@@ -3,9 +3,11 @@
 
 Introduction
 ------------
+
 This document is a very small amount of documentation about what is needed to 
-install MPD. If more information is desired see the community wiki at 
-http://mpd.wikia.com.
+install MPD.  If more information is desired, read the user manual:
+
+ http://www.musicpd.org/doc/user/
 
 Dependencies
 ------------
@@ -161,13 +163,9 @@ Get the latest release from of MPD from <http://www.musicpd.org/>.
 Compile
 -------
 
-1) unzip and untar the archive
-
-$ tar zxvf mpd-x.x.x.tar.gz
-
-or
+1) unpack the archive
 
-$ tar jxvf mpd-x.x.x.tar.bz2
+$ tar xf mpd-x.x.x.tar.xz
 
 2) change to directory created
 
@@ -208,6 +206,5 @@ Using MPD
 ---------
 
 You can download many different interfaces for MPD at 
-	<http://mpd.wikia.com/wiki/Clients>
 
-MPD can be interfaced directly using telnet (see COMMANDS, if you are brave).
+ http://www.musicpd.org/clients/
diff --git a/Makefile.am b/Makefile.am
index e31b58a..7240cb3 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,5 +1,5 @@
 ACLOCAL_AMFLAGS = -I m4
-AUTOMAKE_OPTIONS = foreign 1.11 dist-bzip2 dist-xz subdir-objects
+AUTOMAKE_OPTIONS = foreign 1.11 dist-xz subdir-objects
 
 AM_CPPFLAGS += -I$(srcdir)/src $(GLIB_CFLAGS)
 
diff --git a/Makefile.in b/Makefile.in
index 86ff4b0..f6206fd 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1745,7 +1745,7 @@ am__remove_distdir = \
       && rm -rf "$(distdir)" \
       || { sleep 5 && rm -rf "$(distdir)"; }; \
   else :; fi
-DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2 $(distdir).tar.xz
+DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.xz
 GZIP_ENV = --best
 distuninstallcheck_listfiles = find . -type f -print
 am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
@@ -1964,7 +1964,7 @@ top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 ACLOCAL_AMFLAGS = -I m4
-AUTOMAKE_OPTIONS = foreign 1.11 dist-bzip2 dist-xz subdir-objects
+AUTOMAKE_OPTIONS = foreign 1.11 dist-xz subdir-objects
 noinst_LIBRARIES = libutil.a libthread.a libsystem.a libevent.a \
 	libpcm.a libconf.a libtag.a libinput.a libfs.a libdb_plugins.a \
 	libplaylist_plugins.a libdecoder_plugins.a libfilter_plugins.a \
@@ -10031,6 +10031,7 @@ distdir: $(DISTFILES)
 dist-gzip: distdir
 	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
 	$(am__remove_distdir)
+
 dist-bzip2: distdir
 	tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
 	$(am__remove_distdir)
@@ -10061,7 +10062,6 @@ dist-zip: distdir
 
 dist dist-all: distdir
 	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-	tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
 	tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
 	$(am__remove_distdir)
 
diff --git a/NEWS b/NEWS
index fcb589b..be1cd78 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,6 @@
+ver 0.18.3 (2013/11/08)
+* fix stuck MPD after song change (0.18.2 regression)
+
 ver 0.18.2 (2013/11/07)
 * protocol:
   - "close" flushes the output buffer
diff --git a/configure b/configure
index bf909de..70664ad 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for mpd 0.18.2.
+# Generated by GNU Autoconf 2.69 for mpd 0.18.3.
 #
 # Report bugs to <musicpd-dev-team at lists.sourceforge.net>.
 #
@@ -580,8 +580,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='mpd'
 PACKAGE_TARNAME='mpd'
-PACKAGE_VERSION='0.18.2'
-PACKAGE_STRING='mpd 0.18.2'
+PACKAGE_VERSION='0.18.3'
+PACKAGE_STRING='mpd 0.18.3'
 PACKAGE_BUGREPORT='musicpd-dev-team at lists.sourceforge.net'
 PACKAGE_URL=''
 
@@ -1673,7 +1673,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures mpd 0.18.2 to adapt to many kinds of systems.
+\`configure' configures mpd 0.18.3 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1743,7 +1743,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of mpd 0.18.2:";;
+     short | recursive ) echo "Configuration of mpd 0.18.3:";;
    esac
   cat <<\_ACEOF
 
@@ -2039,7 +2039,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-mpd configure 0.18.2
+mpd configure 0.18.3
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2492,7 +2492,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by mpd $as_me 0.18.2, which was
+It was created by mpd $as_me 0.18.3, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3314,7 +3314,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='mpd'
- VERSION='0.18.2'
+ VERSION='0.18.3'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -18227,7 +18227,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by mpd $as_me 0.18.2, which was
+This file was extended by mpd $as_me 0.18.3, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -18293,7 +18293,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-mpd config.status 0.18.2
+mpd config.status 0.18.3
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff --git a/configure.ac b/configure.ac
index 9ae6a12..ff00b8f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
 AC_PREREQ(2.60)
 
-AC_INIT(mpd, 0.18.2, musicpd-dev-team at lists.sourceforge.net)
+AC_INIT(mpd, 0.18.3, musicpd-dev-team at lists.sourceforge.net)
 
 VERSION_MAJOR=0
 VERSION_MINOR=18
@@ -8,7 +8,7 @@ VERSION_REVISION=0
 VERSION_EXTRA=0
 
 AC_CONFIG_SRCDIR([src/Main.cxx])
-AM_INIT_AUTOMAKE([foreign 1.11 dist-bzip2 dist-xz subdir-objects])
+AM_INIT_AUTOMAKE([foreign 1.11 dist-xz subdir-objects])
 AM_SILENT_RULES
 AC_CONFIG_HEADERS(config.h)
 AC_CONFIG_MACRO_DIR([m4])
diff --git a/doc/developer.xml b/doc/developer.xml
index 3b6d0a0..e902217 100644
--- a/doc/developer.xml
+++ b/doc/developer.xml
@@ -69,12 +69,28 @@ foo(const char *abc, int xyz)
     <title>Hacking The Source</title>
 
     <para>
+      MPD sources are managed in a git repository on <ulink
+      url="http://git.musicpd.org/">git.musicpd.org</ulink>.
+    </para>
+
+    <para>
       Always write your code against the latest git:
     </para>
 
     <programlisting>git clone git://git.musicpd.org/master/mpd.git</programlisting>
 
     <para>
+      If you already have a clone, update it:
+    </para>
+
+    <programlisting>git pull --rebase git://git.musicpd.org/master/mpd.git master</programlisting>
+
+    <para>
+      You can do without "--rebase", but we recommend that you rebase
+      your repository on the "master" repository all the time.
+    </para>
+
+    <para>
       Configure with the options <option>--enable-debug
       --enable-werror</option>.  Enable as many plugins as possible,
       to be sure that you don't break any disabled code.
@@ -83,8 +99,55 @@ foo(const char *abc, int xyz)
     <para>
       Don't mix several changes in one single patch.  Create a
       separate patch for every change.  Tools like
-      <application>stgit</application> help you with that.
+      <application>stgit</application> help you with that.  This way,
+      we can review your patches more easily, and we can pick the
+      patches we like most first.
     </para>
+
+
+    <section>
+      <title> Basic stgit usage</title>
+
+      <para>
+        stgit allows you to create a set of patches and refine all of
+        them: you can go back to any patch at any time, and re-edit it
+        (both the code and the commit message). You can reorder
+        patches and insert new patches at any position. It encourages
+        creating separate patches for tiny changes.
+      </para>
+
+      <para>
+        stgit needs to be initialized on a git repository: stg init
+      </para>
+
+      <para>
+        Before you edit the code, create a patch: stg new
+        my-patch-name (stgit now asks you for the commit message).
+      </para>
+
+      <para>
+        Now edit the code. Once you're finished, you have to "refresh"
+        the patch, i.e. your edits are incorporated into the patch you
+        have created: stg refresh
+      </para>
+
+      <para>
+        You may now continue editing the same patch, and refresh it as
+        often as you like. Create more patches, edit and refresh them.
+      </para>
+
+      <para>
+        To view the list of patches, type stg series. To go back to a
+        specific patch, type stg goto my-patch-name; now you can
+        re-edit it (don't forget stg refresh when you're finished with
+        that patch).
+      </para>
+
+      <para>
+        When the whole patch series is finished, convert stgit patches
+        to git commits: stg commit
+      </para>
+    </section>
   </chapter>
 
   <chapter>
diff --git a/doc/doxygen.conf b/doc/doxygen.conf
index 91bacb2..b3728f3 100644
--- a/doc/doxygen.conf
+++ b/doc/doxygen.conf
@@ -31,7 +31,7 @@ PROJECT_NAME           = MPD
 # This could be handy for archiving the generated documentation or
 # if some version control system is used.
 
-PROJECT_NUMBER = 0.18.2
+PROJECT_NUMBER = 0.18.3
 
 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
 # base path where the generated documentation will be put.
diff --git a/doc/mpdconf.example b/doc/mpdconf.example
index 37fb8a1..0881de1 100644
--- a/doc/mpdconf.example
+++ b/doc/mpdconf.example
@@ -1,5 +1,5 @@
-# An example configuration file for MPD
-# See the mpd.conf man page for a more detailed description of each parameter.
+# An example configuration file for MPD.
+# Read the user manual for documentation: http://www.musicpd.org/doc/user/
 
 
 # Files and directories #######################################################
@@ -204,9 +204,6 @@ input {
 # blocks. Setting this block is optional, though the server will only attempt
 # autodetection for one sound card.
 #
-# See <http://mpd.wikia.com/wiki/Configuration#Audio_Outputs> for examples of 
-# other audio outputs.
-#
 # An example of an ALSA output:
 #
 #audio_output {
diff --git a/doc/user.xml b/doc/user.xml
index 605cb0d..7728051 100644
--- a/doc/user.xml
+++ b/doc/user.xml
@@ -67,11 +67,11 @@
 
       <para>
         Download the source tarball from <ulink
-        url="http://mpd.wikia.com/wiki/Server">the MPD home
+        url="http://www.musicpd.org/download.html">the MPD home
         page</ulink> and unpack it:
       </para>
 
-      <programlisting>tar xjf mpd-version.tar.bz
+      <programlisting>tar xf mpd-version.tar.xz
 cd mpd-version</programlisting>
 
       <para>
@@ -630,7 +630,7 @@ systemctl start mpd.socket</programlisting>
       </para>
 
       <para>
-        The <ulink url="http://mpd.wikia.com/wiki/Clients">MPD
+        The <ulink url="http://www.musicpd.org/clients/">MPD
         Wiki</ulink> contains an extensive list of clients to choose
         from.
       </para>
diff --git a/src/DecoderAPI.cxx b/src/DecoderAPI.cxx
index fbe4d98..87d1044 100644
--- a/src/DecoderAPI.cxx
+++ b/src/DecoderAPI.cxx
@@ -283,11 +283,11 @@ decoder_read(Decoder *decoder,
 	assert(nbytes == 0 || !error.IsDefined());
 	assert(nbytes > 0 || error.IsDefined() || is.IsEOF());
 
+	is.Unlock();
+
 	if (gcc_unlikely(nbytes == 0 && error.IsDefined()))
 		LogError(error);
 
-	is.Unlock();
-
 	return nbytes;
 }
 
diff --git a/src/DecoderInternal.cxx b/src/DecoderInternal.cxx
index e18fd2b..d5f40ad 100644
--- a/src/DecoderInternal.cxx
+++ b/src/DecoderInternal.cxx
@@ -42,20 +42,12 @@ Decoder::~Decoder()
  * one.
  */
 static DecoderCommand
-need_chunks(DecoderControl &dc, bool do_wait)
+need_chunks(DecoderControl &dc)
 {
-	if (dc.command == DecoderCommand::STOP ||
-	    dc.command == DecoderCommand::SEEK)
-		return dc.command;
-
-	if (do_wait) {
+	if (dc.command == DecoderCommand::NONE)
 		dc.Wait();
-		dc.client_cond.signal();
-
-		return dc.command;
-	}
 
-	return DecoderCommand::NONE;
+	return dc.command;
 }
 
 struct music_chunk *
@@ -80,7 +72,7 @@ decoder_get_chunk(Decoder &decoder)
 		}
 
 		dc.Lock();
-		cmd = need_chunks(dc, true);
+		cmd = need_chunks(dc);
 		dc.Unlock();
 	} while (cmd == DecoderCommand::NONE);
 
diff --git a/src/PlayerThread.cxx b/src/PlayerThread.cxx
index cb3d6a9..6fb41bf 100644
--- a/src/PlayerThread.cxx
+++ b/src/PlayerThread.cxx
@@ -36,8 +36,6 @@
 #include "util/Domain.hxx"
 #include "Log.hxx"
 
-#include <glib.h>
-
 #include <string.h>
 
 static constexpr Domain player_domain("player");
@@ -1043,8 +1041,14 @@ Player::Run()
 			   output thread is still busy, so it's
 			   okay */
 
-			/* XXX synchronize in a better way */
-			g_usleep(10000);
+			pc.Lock();
+
+			/* wake up the decoder (just in case it's
+			   waiting for space in the MusicBuffer) and
+			   wait for it */
+			dc.Signal();
+			dc.WaitForDecoder();
+			continue;
 		} else if (IsDecoderAtNextSong()) {
 			/* at the beginning of a new song */
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-mpd/pkg-mpd.git



More information about the Pkg-mpd-commits mailing list