player_thread: use bool instead of int

Make player_wait_for_decoder() and play_chunk() return a bool instead
of 0/-1.
This commit is contained in:
Max Kellermann 2009-01-21 16:31:15 +01:00
parent 5541015ac6
commit 38a9ad011a

View File

@ -94,7 +94,8 @@ static void player_stop_decoder(void)
event_pipe_emit(PIPE_EVENT_PLAYLIST); event_pipe_emit(PIPE_EVENT_PLAYLIST);
} }
static int player_wait_for_decoder(struct player *player) static bool
player_wait_for_decoder(struct player *player)
{ {
dc_command_wait(&pc.notify); dc_command_wait(&pc.notify);
@ -102,7 +103,7 @@ static int player_wait_for_decoder(struct player *player)
assert(dc.next_song == NULL || dc.next_song->url != NULL); assert(dc.next_song == NULL || dc.next_song->url != NULL);
pc.errored_song = dc.next_song; pc.errored_song = dc.next_song;
pc.error = PLAYER_ERROR_FILE; pc.error = PLAYER_ERROR_FILE;
return -1; return false;
} }
pc.total_time = pc.next_song->tag != NULL pc.total_time = pc.next_song->tag != NULL
@ -119,7 +120,7 @@ static int player_wait_for_decoder(struct player *player)
/* call syncPlaylistWithQueue() in the main thread */ /* call syncPlaylistWithQueue() in the main thread */
event_pipe_emit(PIPE_EVENT_PLAYLIST); event_pipe_emit(PIPE_EVENT_PLAYLIST);
return 0; return true;
} }
static bool player_seek_decoder(struct player *player) static bool player_seek_decoder(struct player *player)
@ -228,7 +229,7 @@ static void player_process_command(struct player *player)
} }
} }
static int static bool
play_chunk(struct song *song, struct music_chunk *chunk, play_chunk(struct song *song, struct music_chunk *chunk,
const struct audio_format *format, double sizeToTime) const struct audio_format *format, double sizeToTime)
{ {
@ -258,16 +259,16 @@ play_chunk(struct song *song, struct music_chunk *chunk,
} }
if (chunk->length == 0) if (chunk->length == 0)
return 0; return true;
pcm_volume(chunk->data, chunk->length, pcm_volume(chunk->data, chunk->length,
format, pc.software_volume); format, pc.software_volume);
if (!playAudio(chunk->data, chunk->length)) if (!playAudio(chunk->data, chunk->length))
return -1; return false;
pc.total_play_time += sizeToTime * chunk->length; pc.total_play_time += sizeToTime * chunk->length;
return 0; return true;
} }
static void do_play(void) static void do_play(void)
@ -293,7 +294,7 @@ static void do_play(void)
music_pipe_set_lazy(false); music_pipe_set_lazy(false);
dc_start(&pc.notify, pc.next_song); dc_start(&pc.notify, pc.next_song);
if (player_wait_for_decoder(&player) < 0) { if (!player_wait_for_decoder(&player)) {
player_stop_decoder(); player_stop_decoder();
player_command_finished(); player_command_finished();
return; return;
@ -303,7 +304,7 @@ static void do_play(void)
pc.state = PLAYER_STATE_PLAY; pc.state = PLAYER_STATE_PLAY;
player_command_finished(); player_command_finished();
while (1) { while (true) {
player_process_command(&player); player_process_command(&player);
if (pc.command == PLAYER_COMMAND_STOP || if (pc.command == PLAYER_COMMAND_STOP ||
pc.command == PLAYER_COMMAND_EXIT || pc.command == PLAYER_COMMAND_EXIT ||
@ -457,8 +458,8 @@ static void do_play(void)
} }
/* play the current chunk */ /* play the current chunk */
if (play_chunk(player.song, beginChunk, if (!play_chunk(player.song, beginChunk,
&play_audio_format, sizeToTime) < 0) &play_audio_format, sizeToTime))
break; break;
music_pipe_shift(); music_pipe_shift();
@ -481,7 +482,7 @@ static void do_play(void)
player.xfade = XFADE_UNKNOWN; player.xfade = XFADE_UNKNOWN;
player.next_song_chunk = -1; player.next_song_chunk = -1;
if (player_wait_for_decoder(&player) < 0) if (!player_wait_for_decoder(&player))
return; return;
} else if (decoder_is_idle()) { } else if (decoder_is_idle()) {
break; break;