From b56b56af07bbea77968c2565b30c9f3b585b0541 Mon Sep 17 00:00:00 2001 From: ejurgensen Date: Fri, 22 Feb 2019 15:53:59 +0100 Subject: [PATCH] [input] Cleaning up --- src/input.c | 65 +++-------------------------------------------------- 1 file changed, 3 insertions(+), 62 deletions(-) diff --git a/src/input.c b/src/input.c index dfeebd70..ca6a3fcd 100644 --- a/src/input.c +++ b/src/input.c @@ -41,9 +41,9 @@ #include "commands.h" #include "input.h" -// Disallow further writes to the buffer when its size is larger than this threshold -// TODO untie from 44100 -#define INPUT_BUFFER_THRESHOLD STOB(88200, 16, 2) +// Disallow further writes to the buffer when its size exceeds this threshold. +// The below gives us room to buffer 2 seconds of 48000/16/2 audio. +#define INPUT_BUFFER_THRESHOLD STOB(96000, 16, 2) // How long (in sec) to wait for player read before looping in playback thread #define INPUT_LOOP_TIMEOUT 1 @@ -360,65 +360,6 @@ stop_cmd(void *arg, int *retval) return COMMAND_END; } -/* -static enum command_state -next(void *arg, int *retval) -{ - struct player_status status; - struct db_queue_item *queue_item; - uint32_t item_id; - int type; - int ret; - - // We may have finished reading source way before end of playback, and we - // don't want to proceed prematurely. So we wait until the input buffer is - // below the write threshold. - ret = input_wait(); - if (ret < 0) - { - input_next(); // Async call to ourselves - return; - } - - item_id = input_now_reading.item_id; - - // Cleans up the source that has ended/failed and clears input_now_reading - stop(NULL, NULL); - - player_get_status(&status); - - // TODO what about repeat/repeat_all? Maybe move next() to player that can - // just call input_start() - - // Get the next queue_item from the db - queue_item = db_queue_fetch_next(item_id, status.shuffle); - if (!queue_item) - { - DPRINTF(E_DBG, L_PLAYER, "Reached end of playback queue\n"); - *retval = 0; - return COMMAND_END; - } - - ret = setup(&input_now_reading, queue_item, 0); - free_queue_item(queue_item, 0); - if (ret < 0) - goto error; - - DPRINTF(E_DBG, L_PLAYER, "Continuing input read loop for item '%s' (item id %" PRIu32 ")\n", input_now_reading.path, input_now_reading.item_id); - - event_active(inputev, 0, 0); - - *retval = 0; - return COMMAND_END; - - error: - input_write(NULL, NULL, INPUT_FLAG_ERROR); - clear(&input_now_reading); - *retval = -1; - return COMMAND_END; -} -*/ - static enum command_state metadata_get(void *arg, int *retval) {