diff --git a/src/input.c b/src/input.c index 0b98e336..f511ceed 100644 --- a/src/input.c +++ b/src/input.c @@ -422,6 +422,8 @@ setup(struct input_source *source, struct db_queue_item *queue_item, int seek_ms if (ret < 0) goto seek_error; } + else + ret = 0; return ret; @@ -694,7 +696,7 @@ input_read(void *data, size_t size, short *flag, void **flagdata) // Logs if flags present or each 10 seconds if (*flag & INPUT_FLAG_QUALITY) - input_buffer.cur_read_quality = *((struct media_quality *)marker->data); + input_buffer.cur_read_quality = *((struct media_quality *)(*flagdata)); size_t one_sec_size = STOB(input_buffer.cur_read_quality.sample_rate, input_buffer.cur_read_quality.bits_per_sample, input_buffer.cur_read_quality.channels); debug_elapsed += len; diff --git a/src/outputs/alsa.c b/src/outputs/alsa.c index ede2e23d..10cdd91d 100644 --- a/src/outputs/alsa.c +++ b/src/outputs/alsa.c @@ -376,7 +376,7 @@ device_quality_set(struct alsa_session *as, struct media_quality *quality, char ret = snd_pcm_hw_params(as->hdl, hw_params); if (ret < 0) { - DPRINTF(E_LOG, L_LAUDIO, "Could not set hw params: %s\n", snd_strerror(ret)); + *errmsg = safe_asprintf("Could not set hw params: %s\n", snd_strerror(ret)); goto free_params; } diff --git a/src/outputs/raop.c b/src/outputs/raop.c index b9a7067d..87991d43 100644 --- a/src/outputs/raop.c +++ b/src/outputs/raop.c @@ -1930,7 +1930,9 @@ session_teardown_cb(struct evrtsp_request *req, void *arg) rs->reqs_in_flight--; - if (!req || req->response_code != RTSP_OK) + if (!req) + DPRINTF(E_LOG, L_RAOP, "TEARDOWN request failed in session shutdown\n"); + else if (req->response_code != RTSP_OK) DPRINTF(E_LOG, L_RAOP, "TEARDOWN request failed in session shutdown: %d %s\n", req->response_code, req->response_code_line); rs->state = RAOP_STATE_STOPPED;