Commit b616dff7 authored by Max Kellermann's avatar Max Kellermann

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.
parent bf4af19f
......@@ -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);
......
......@@ -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);
......
......@@ -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)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment