Hi, Bugfix update to mpd-0.17.2.
ok? Index: Makefile =================================================================== RCS file: /cvs/ports/audio/mpd/Makefile,v retrieving revision 1.50 diff -u -p -r1.50 Makefile --- Makefile 24 Sep 2012 16:26:33 -0000 1.50 +++ Makefile 2 Oct 2012 12:39:48 -0000 @@ -1,11 +1,10 @@ # $OpenBSD: Makefile,v 1.50 2012/09/24 16:26:33 landry Exp $ COMMENT = Music Player Daemon -DISTNAME = mpd-0.17.1 +DISTNAME = mpd-0.17.2 CATEGORIES = audio HOMEPAGE = http://www.musicpd.org/ MAINTAINER = David Coppa <dco...@openbsd.org> -REVISION= 1 # GPLv2+ PERMIT_PACKAGE_CDROM = Yes Index: distinfo =================================================================== RCS file: /cvs/ports/audio/mpd/distinfo,v retrieving revision 1.15 diff -u -p -r1.15 distinfo --- distinfo 23 Aug 2012 14:28:19 -0000 1.15 +++ distinfo 2 Oct 2012 12:39:48 -0000 @@ -1,2 +1,2 @@ -SHA256 (mpd-0.17.1.tar.gz) = sGNTOxWl67fO3pHBC7sdDKm9o6aJTe3nmhDsNoo/SV4= -SIZE (mpd-0.17.1.tar.gz) = 694940 +SHA256 (mpd-0.17.2.tar.gz) = TpzeNJLWDbd9YrZHmw8HrDPd0zgLcszkEgLEzr08wKQ= +SIZE (mpd-0.17.2.tar.gz) = 697398 Index: patches/patch-Makefile_in =================================================================== RCS file: /cvs/ports/audio/mpd/patches/patch-Makefile_in,v retrieving revision 1.7 diff -u -p -r1.7 patch-Makefile_in --- patches/patch-Makefile_in 23 Aug 2012 14:28:19 -0000 1.7 +++ patches/patch-Makefile_in 2 Oct 2012 12:39:48 -0000 @@ -1,7 +1,7 @@ $OpenBSD: patch-Makefile_in,v 1.7 2012/08/23 14:28:19 dcoppa Exp $ ---- Makefile.in.orig Wed Aug 1 04:05:15 2012 -+++ Makefile.in Tue Aug 21 23:02:12 2012 -@@ -2414,7 +2414,7 @@ SPARSE_SRC = $(addprefix $(top_srcdir)/,$(filter %.c,$ +--- Makefile.in.orig Sun Sep 30 12:23:42 2012 ++++ Makefile.in Tue Oct 2 14:31:28 2012 +@@ -2433,7 +2433,7 @@ SPARSE_SRC = $(addprefix $(top_srcdir)/,$(filter %.c,$ # Documentation # man_MANS = doc/mpd.1 doc/mpd.conf.5 Index: patches/patch-configure =================================================================== RCS file: /cvs/ports/audio/mpd/patches/patch-configure,v retrieving revision 1.17 diff -u -p -r1.17 patch-configure --- patches/patch-configure 23 Aug 2012 14:28:19 -0000 1.17 +++ patches/patch-configure 2 Oct 2012 12:39:48 -0000 @@ -2,9 +2,9 @@ $OpenBSD: patch-configure,v 1.17 2012/08 Don't reset CPPFLAGS...stupid configure. ---- configure.orig Wed Aug 1 04:05:16 2012 -+++ configure Tue Aug 21 23:04:08 2012 -@@ -9747,7 +9747,7 @@ if test x$enable_aac = xyes; then +--- configure.orig Sun Sep 30 12:23:44 2012 ++++ configure Tue Oct 2 14:31:28 2012 +@@ -9765,7 +9765,7 @@ if test x$enable_aac = xyes; then oldcppflags=$CPPFLAGS CFLAGS="$CFLAGS $FAAD_CFLAGS -I." LIBS="$LIBS $FAAD_LIBS" @@ -13,7 +13,7 @@ Don't reset CPPFLAGS...stupid configure. ac_fn_c_check_header_mongrel "$LINENO" "faad.h" "ac_cv_header_faad_h" "$ac_includes_default" if test "x$ac_cv_header_faad_h" = xyes; then : -@@ -10011,7 +10011,7 @@ if test x$enable_aac = xyes; then +@@ -10029,7 +10029,7 @@ if test x$enable_aac = xyes; then oldcppflags=$CPPFLAGS CFLAGS="$CFLAGS $FAAD_CFLAGS -Werror" LIBS="$LIBS $FAAD_LIBS" @@ -22,7 +22,7 @@ Don't reset CPPFLAGS...stupid configure. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for broken libfaad headers" >&5 $as_echo_n "checking for broken libfaad headers... " >&6; } -@@ -10057,7 +10057,7 @@ if test x$enable_aac = xyes; then +@@ -10075,7 +10075,7 @@ if test x$enable_aac = xyes; then oldcppflags=$CPPFLAGS CFLAGS="$CFLAGS $FAAD_CFLAGS" LIBS="$LIBS $FAAD_LIBS $MP4FF_LIBS" Index: patches/patch-doc_mpdconf_example =================================================================== RCS file: /cvs/ports/audio/mpd/patches/patch-doc_mpdconf_example,v retrieving revision 1.9 diff -u -p -r1.9 patch-doc_mpdconf_example --- patches/patch-doc_mpdconf_example 23 Aug 2012 14:28:19 -0000 1.9 +++ patches/patch-doc_mpdconf_example 2 Oct 2012 12:39:48 -0000 @@ -1,6 +1,6 @@ $OpenBSD: patch-doc_mpdconf_example,v 1.9 2012/08/23 14:28:19 dcoppa Exp $ ---- doc/mpdconf.example.orig Wed Aug 1 04:04:32 2012 -+++ doc/mpdconf.example Tue Aug 21 23:02:12 2012 +--- doc/mpdconf.example.orig Sun Sep 30 12:22:58 2012 ++++ doc/mpdconf.example Tue Oct 2 14:31:28 2012 @@ -10,14 +10,14 @@ # be disabled and audio files will only be accepted over ipc socket (using # file:// protocol) or streaming files over an accepted protocol. @@ -69,7 +69,7 @@ $OpenBSD: patch-doc_mpdconf_example,v 1. # This setting is the TCP port that is desired for the daemon to get assigned # to. # -@@ -302,6 +304,14 @@ input { +@@ -301,6 +303,14 @@ input { # name "My Null Output" # mixer_type "none" # optional #} Index: patches/patch-src_output_httpd_output_plugin_c =================================================================== RCS file: patches/patch-src_output_httpd_output_plugin_c diff -N patches/patch-src_output_httpd_output_plugin_c --- patches/patch-src_output_httpd_output_plugin_c 24 Sep 2012 16:26:33 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,93 +0,0 @@ -$OpenBSD: patch-src_output_httpd_output_plugin_c,v 1.1 2012/09/24 16:26:33 landry Exp $ -http://bugs.musicpd.org/view.php?id=3527 -Fix issues with httpd output timing -http://git.musicpd.org/cgit/master/mpd.git/commit/src/output/httpd_output_plugin.c?id=302972e9fc179fe17b8d658b8c5b4d47c1b8eeab -http://git.musicpd.org/cgit/master/mpd.git/commit/src/output/httpd_output_plugin.c?id=31b380b2664e74d47f6862ecf44d62b0a82eddf2 -http://git.musicpd.org/cgit/master/mpd.git/commit/src/output/httpd_output_plugin.c?id=249dcd967ede5ad20cda92a7c6c85ba303eed87f ---- src/output/httpd_output_plugin.c.orig Wed Aug 1 04:04:32 2012 -+++ src/output/httpd_output_plugin.c Tue Sep 11 22:00:59 2012 -@@ -53,6 +53,31 @@ httpd_output_quark(void) - return g_quark_from_static_string("httpd_output"); - } - -+/** -+ * Check whether there is at least one client. -+ * -+ * Caller must lock the mutex. -+ */ -+G_GNUC_PURE -+static bool -+httpd_output_has_clients(const struct httpd_output *httpd) -+{ -+ return httpd->clients != NULL; -+} -+ -+/** -+ * Check whether there is at least one client. -+ */ -+G_GNUC_PURE -+static bool -+httpd_output_lock_has_clients(const struct httpd_output *httpd) -+{ -+ g_mutex_lock(httpd->mutex); -+ bool result = httpd_output_has_clients(httpd); -+ g_mutex_unlock(httpd->mutex); -+ return result; -+} -+ - static void - httpd_listen_in_event(int fd, const struct sockaddr *address, - size_t address_length, int uid, void *ctx); -@@ -397,6 +422,19 @@ httpd_output_delay(struct audio_output *ao) - { - struct httpd_output *httpd = (struct httpd_output *)ao; - -+ if (!httpd_output_lock_has_clients(httpd) && httpd->base.pause) { -+ /* if there's no client and this output is paused, -+ then httpd_output_pause() will not do anything, it -+ will not fill the buffer and it will not update the -+ timer; therefore, we reset the timer here */ -+ timer_reset(httpd->timer); -+ -+ /* some arbitrary delay that is long enough to avoid -+ consuming too much CPU, and short enough to notice -+ new clients quickly enough */ -+ return 1000; -+ } -+ - return httpd->timer->started - ? timer_delay(httpd->timer) - : 0; -@@ -475,13 +513,8 @@ httpd_output_play(struct audio_output *ao, const void - GError **error) - { - struct httpd_output *httpd = (struct httpd_output *)ao; -- bool has_clients; - -- g_mutex_lock(httpd->mutex); -- has_clients = httpd->clients != NULL; -- g_mutex_unlock(httpd->mutex); -- -- if (has_clients) { -+ if (httpd_output_lock_has_clients(httpd)) { - bool success; - - success = httpd_output_encode_and_play(httpd, chunk, size, -@@ -502,16 +535,11 @@ httpd_output_pause(struct audio_output *ao) - { - struct httpd_output *httpd = (struct httpd_output *)ao; - -- g_mutex_lock(httpd->mutex); -- bool has_clients = httpd->clients != NULL; -- g_mutex_unlock(httpd->mutex); -- -- if (has_clients) { -+ if (httpd_output_lock_has_clients(httpd)) { - static const char silence[1020]; - return httpd_output_play(ao, silence, sizeof(silence), - NULL) > 0; - } else { -- g_usleep(100000); - return true; - } - }