Skip to content
Extraits de code Groupes Projets
Vérifiée Valider 0d2ebf30 rédigé par Kubat's avatar Kubat
Parcourir les fichiers

BASE: Don't do play if queue is empty, to avoid any play / stopped mismatches

parent c46eee7a
Aucune branche associée trouvée
Aucune étiquette associée trouvée
1 requête de fusion!121Show update / rescan status with lkt
Pipeline #1918 réussi
...@@ -245,6 +245,7 @@ command_play(struct lkt_state *srv, char __attribute__((unused)) *args[LKT_MESSA ...@@ -245,6 +245,7 @@ command_play(struct lkt_state *srv, char __attribute__((unused)) *args[LKT_MESSA
{ {
char *endptr, err; char *endptr, err;
long pos = 1; long pos = 1;
struct lkt_queue_state queue_state;
/* Argument handle. */ /* Argument handle. */
if (args[0]) { if (args[0]) {
...@@ -252,6 +253,13 @@ command_play(struct lkt_state *srv, char __attribute__((unused)) *args[LKT_MESSA ...@@ -252,6 +253,13 @@ command_play(struct lkt_state *srv, char __attribute__((unused)) *args[LKT_MESSA
RETURN_IF(err, "STRTOL failed", false); RETURN_IF(err, "STRTOL failed", false);
} }
/* If position is after the queue, don't do anything */
RETURN_UNLESS(database_queue_state(srv->db, &queue_state), "Can't get playback status", false);
if (queue_state.length <= pos) {
LOG_INFO("COMMAND", "Don't perform play command, queue is empty or position is after queue length");
return false;
}
/* Do the actual job here. */ /* Do the actual job here. */
database_queue_stop(srv->db); database_queue_stop(srv->db);
RETURN_IF(MOD_CALL(srv->window_mod, "new", &srv->queue, srv->db), "Can't create window", false); RETURN_IF(MOD_CALL(srv->window_mod, "new", &srv->queue, srv->db), "Can't create window", false);
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter