Merge tag 'release-0.17.4'

This commit is contained in:
Max Kellermann 2013-04-08 22:11:42 +02:00
commit 2c4b998170
7 changed files with 24 additions and 13 deletions

7
.gitignore vendored
View File

@ -1,9 +1,7 @@
*.Plo *.Plo
*.Po *.Po
*.a *.a
*.bz2
*.d *.d
*.gz
*.la *.la
*.lo *.lo
*.o *.o
@ -73,3 +71,8 @@ test/dump_text_file
test/test_byte_reverse test/test_byte_reverse
test/test_vorbis_encoder test/test_vorbis_encoder
test/DumpDatabase test/DumpDatabase
/*.tar.gz
/*.tar.bz2
/*.tar.xz
/mpd-*/

View File

@ -1,5 +1,5 @@
ACLOCAL_AMFLAGS = -I m4 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) AM_CPPFLAGS += -I$(srcdir)/src $(GLIB_CFLAGS)

2
NEWS
View File

@ -18,8 +18,10 @@ ver 0.18 (2012/??/??)
ver 0.17.4 (2013/??/??) ver 0.17.4 (2013/??/??)
* protocol: * protocol:
- allow to omit END in ranges (START:END) - allow to omit END in ranges (START:END)
- don't emit IDLE_PLAYER before audio format is known
* decoder: * decoder:
- ffmpeg: support float planar audio (ffmpeg 1.1) - ffmpeg: support float planar audio (ffmpeg 1.1)
- ffmpeg: fix AVFrame allocation
* player: * player:
- implement missing "idle" events on output errors - implement missing "idle" events on output errors
* clock: fix build failure * clock: fix build failure

View File

@ -8,7 +8,7 @@ VERSION_REVISION=0
VERSION_EXTRA=0 VERSION_EXTRA=0
AC_CONFIG_SRCDIR([src/Main.cxx]) 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 AM_SILENT_RULES
AC_CONFIG_HEADERS(config.h) AC_CONFIG_HEADERS(config.h)
AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_MACRO_DIR([m4])

View File

@ -169,19 +169,23 @@ handle_status(Client *client,
} }
if (player_status.state != PLAYER_STATE_STOP) { if (player_status.state != PLAYER_STATE_STOP) {
struct audio_format_string af_string;
client_printf(client, client_printf(client,
COMMAND_STATUS_TIME ": %i:%i\n" COMMAND_STATUS_TIME ": %i:%i\n"
"elapsed: %1.3f\n" "elapsed: %1.3f\n"
COMMAND_STATUS_BITRATE ": %u\n" COMMAND_STATUS_BITRATE ": %u\n",
COMMAND_STATUS_AUDIO ": %s\n",
(int)(player_status.elapsed_time + 0.5), (int)(player_status.elapsed_time + 0.5),
(int)(player_status.total_time + 0.5), (int)(player_status.total_time + 0.5),
player_status.elapsed_time, player_status.elapsed_time,
player_status.bit_rate, player_status.bit_rate);
audio_format_to_string(&player_status.audio_format,
&af_string)); 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())) { if ((updateJobId = isUpdatingDB())) {

View File

@ -104,8 +104,6 @@ player_control::Play(struct song *song)
assert(next_song == nullptr); assert(next_song == nullptr);
Unlock(); Unlock();
idle_add(IDLE_PLAYER);
} }
void void

View File

@ -335,6 +335,8 @@ player_open_output(struct player *player)
pc->state = PLAYER_STATE_PLAY; pc->state = PLAYER_STATE_PLAY;
pc->Unlock(); pc->Unlock();
idle_add(IDLE_PLAYER);
return true; return true;
} else { } else {
g_warning("%s", error->message); g_warning("%s", error->message);
@ -399,6 +401,8 @@ player_check_decoder_startup(struct player *player)
pc->audio_format = dc->in_audio_format; pc->audio_format = dc->in_audio_format;
pc->Unlock(); pc->Unlock();
idle_add(IDLE_PLAYER);
player->play_audio_format = dc->out_audio_format; player->play_audio_format = dc->out_audio_format;
player->decoder_starting = false; player->decoder_starting = false;