aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2013-04-08 22:11:42 +0200
committerMax Kellermann <max@duempel.org>2013-04-08 22:11:42 +0200
commit2c4b99817025c8aa2734877bb74af36f90436330 (patch)
tree13622752eb0f0ada915c3e407222e662f050bd03
parent8becbb8b085278ba6441ec750e23ab3b2f79b386 (diff)
parent0a9c7ff6cf9ce560767f3971fd88843976b9dc61 (diff)
downloadmpd-2c4b99817025c8aa2734877bb74af36f90436330.tar.gz
mpd-2c4b99817025c8aa2734877bb74af36f90436330.tar.xz
mpd-2c4b99817025c8aa2734877bb74af36f90436330.zip
Merge tag 'release-0.17.4'
-rw-r--r--.gitignore7
-rw-r--r--Makefile.am2
-rw-r--r--NEWS2
-rw-r--r--configure.ac2
-rw-r--r--src/PlayerCommands.cxx18
-rw-r--r--src/PlayerControl.cxx2
-rw-r--r--src/PlayerThread.cxx4
7 files changed, 24 insertions, 13 deletions
diff --git a/.gitignore b/.gitignore
index 05904c1e6..abb37b0db 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,9 +1,7 @@
*.Plo
*.Po
*.a
-*.bz2
*.d
-*.gz
*.la
*.lo
*.o
@@ -73,3 +71,8 @@ test/dump_text_file
test/test_byte_reverse
test/test_vorbis_encoder
test/DumpDatabase
+
+/*.tar.gz
+/*.tar.bz2
+/*.tar.xz
+/mpd-*/
diff --git a/Makefile.am b/Makefile.am
index 2e3029297..0a88e587a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,5 +1,5 @@
ACLOCAL_AMFLAGS = -I m4
-AUTOMAKE_OPTIONS = foreign 1.11 dist-bzip2 subdir-objects
+AUTOMAKE_OPTIONS = foreign 1.11 dist-bzip2 dist-xz subdir-objects
AM_CPPFLAGS += -I$(srcdir)/src $(GLIB_CFLAGS)
diff --git a/NEWS b/NEWS
index 9ee6791ae..1ab1c37f4 100644
--- a/NEWS
+++ b/NEWS
@@ -18,8 +18,10 @@ ver 0.18 (2012/??/??)
ver 0.17.4 (2013/??/??)
* protocol:
- allow to omit END in ranges (START:END)
+ - don't emit IDLE_PLAYER before audio format is known
* decoder:
- ffmpeg: support float planar audio (ffmpeg 1.1)
+ - ffmpeg: fix AVFrame allocation
* player:
- implement missing "idle" events on output errors
* clock: fix build failure
diff --git a/configure.ac b/configure.ac
index 192469801..65c591200 100644
--- a/configure.ac
+++ b/configure.ac
@@ -8,7 +8,7 @@ VERSION_REVISION=0
VERSION_EXTRA=0
AC_CONFIG_SRCDIR([src/Main.cxx])
-AM_INIT_AUTOMAKE([foreign 1.11 dist-bzip2 subdir-objects])
+AM_INIT_AUTOMAKE([foreign 1.11 dist-bzip2 dist-xz subdir-objects])
AM_SILENT_RULES
AC_CONFIG_HEADERS(config.h)
AC_CONFIG_MACRO_DIR([m4])
diff --git a/src/PlayerCommands.cxx b/src/PlayerCommands.cxx
index 32cd16d9d..1c1c346b7 100644
--- a/src/PlayerCommands.cxx
+++ b/src/PlayerCommands.cxx
@@ -169,19 +169,23 @@ handle_status(Client *client,
}
if (player_status.state != PLAYER_STATE_STOP) {
- struct audio_format_string af_string;
-
client_printf(client,
COMMAND_STATUS_TIME ": %i:%i\n"
"elapsed: %1.3f\n"
- COMMAND_STATUS_BITRATE ": %u\n"
- COMMAND_STATUS_AUDIO ": %s\n",
+ COMMAND_STATUS_BITRATE ": %u\n",
(int)(player_status.elapsed_time + 0.5),
(int)(player_status.total_time + 0.5),
player_status.elapsed_time,
- player_status.bit_rate,
- audio_format_to_string(&player_status.audio_format,
- &af_string));
+ player_status.bit_rate);
+
+ if (audio_format_defined(&player_status.audio_format)) {
+ struct audio_format_string af_string;
+
+ client_printf(client,
+ COMMAND_STATUS_AUDIO ": %s\n",
+ audio_format_to_string(&player_status.audio_format,
+ &af_string));
+ }
}
if ((updateJobId = isUpdatingDB())) {
diff --git a/src/PlayerControl.cxx b/src/PlayerControl.cxx
index d3e8c7d08..790abcd50 100644
--- a/src/PlayerControl.cxx
+++ b/src/PlayerControl.cxx
@@ -104,8 +104,6 @@ player_control::Play(struct song *song)
assert(next_song == nullptr);
Unlock();
-
- idle_add(IDLE_PLAYER);
}
void
diff --git a/src/PlayerThread.cxx b/src/PlayerThread.cxx
index 599df833d..2d8e6caaf 100644
--- a/src/PlayerThread.cxx
+++ b/src/PlayerThread.cxx
@@ -335,6 +335,8 @@ player_open_output(struct player *player)
pc->state = PLAYER_STATE_PLAY;
pc->Unlock();
+ idle_add(IDLE_PLAYER);
+
return true;
} else {
g_warning("%s", error->message);
@@ -399,6 +401,8 @@ player_check_decoder_startup(struct player *player)
pc->audio_format = dc->in_audio_format;
pc->Unlock();
+ idle_add(IDLE_PLAYER);
+
player->play_audio_format = dc->out_audio_format;
player->decoder_starting = false;