diff options
author | Max Kellermann <max@duempel.org> | 2008-08-26 08:44:34 +0200 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2008-08-26 08:44:34 +0200 |
commit | b616dff77d8e0d7a930327007690444a356dcbf3 (patch) | |
tree | 9fd5b40b89e66ed4ddd3d5f4fc6f94e6bd7f59eb /src | |
parent | bf4af19f54d53d23023177222a79ee83b9fde87a (diff) | |
download | mpd-b616dff77d8e0d7a930327007690444a356dcbf3.tar.gz mpd-b616dff77d8e0d7a930327007690444a356dcbf3.tar.xz mpd-b616dff77d8e0d7a930327007690444a356dcbf3.zip |
no commandError() in playerSeek()
We should avoid having protocol specific code in player.c. Just
return success or failure, and let the caller send the error code to
the MPD client.
Diffstat (limited to '')
-rw-r--r-- | src/player.c | 8 | ||||
-rw-r--r-- | src/player.h | 2 | ||||
-rw-r--r-- | src/playlist.c | 8 |
3 files changed, 9 insertions, 9 deletions
diff --git a/src/player.c b/src/player.c index 8803cdfd9..8687e5409 100644 --- a/src/player.c +++ b/src/player.c @@ -19,7 +19,6 @@ #include "player.h" #include "player_thread.h" #include "path.h" -#include "command.h" #include "ack.h" #include "os_compat.h" #include "main_notify.h" @@ -197,15 +196,12 @@ void playerQueueUnlock(void) assert(pc.queueLockState == PLAYER_QUEUE_UNLOCKED); } -int playerSeek(int fd, Song * song, float seek_time) +int playerSeek(Song * song, float seek_time) { assert(song != NULL); - if (pc.state == PLAYER_STATE_STOP) { - commandError(fd, ACK_ERROR_PLAYER_SYNC, - "player not currently playing"); + if (pc.state == PLAYER_STATE_STOP) return -1; - } if (pc.next_song != song) set_current_song(song); diff --git a/src/player.h b/src/player.h index a030c02da..fcdbb000f 100644 --- a/src/player.h +++ b/src/player.h @@ -139,7 +139,7 @@ void playerQueueLock(void); void playerQueueUnlock(void); -int playerSeek(int fd, Song * song, float seek_time); +int playerSeek(Song * song, float seek_time); void setPlayerCrossFade(float crossFadeInSeconds); diff --git a/src/playlist.c b/src/playlist.c index 8ffd56684..4560b85a5 100644 --- a/src/playlist.c +++ b/src/playlist.c @@ -1354,7 +1354,7 @@ int getPlaylistLength(void) int seekSongInPlaylist(int fd, int song, float seek_time) { - int i; + int i, ret; if (song < 0 || song >= playlist.length) { commandError(fd, ACK_ERROR_NO_EXIST, @@ -1381,7 +1381,11 @@ int seekSongInPlaylist(int fd, int song, float seek_time) playPlaylistOrderNumber(i); } - return playerSeek(fd, playlist.songs[playlist.order[i]], seek_time); + ret = playerSeek(playlist.songs[playlist.order[i]], seek_time); + if (ret < 0) + commandError(fd, ACK_ERROR_PLAYER_SYNC, + "player not currently playing"); + return ret; } int seekSongInPlaylistById(int fd, int id, float seek_time) |