diff options
-rw-r--r-- | libwaitress/src/main.c | 5 | ||||
-rw-r--r-- | src/player.c | 2 |
2 files changed, 4 insertions, 3 deletions
diff --git a/libwaitress/src/main.c b/libwaitress/src/main.c index f51d991..f9ec460 100644 --- a/libwaitress/src/main.c +++ b/libwaitress/src/main.c @@ -289,8 +289,9 @@ WaitressReturn_t WaitressFetchCall (WaitressHandle_t *waith) { read (sockfd, statusBuf, sizeof (statusBuf)); switch (statusBuf[0]) { case '2': - if (statusBuf[1] == '0' && statusBuf[2] == '0') { - /* 200 OK */ + if (statusBuf[1] == '0' && + (statusBuf[2] == '0' || statusBuf[2] == '6')) { + /* 200 OK/206 Partial Content */ } else { CLOSE_RET (WAITRESS_RET_STATUS_UNKNOWN); } diff --git a/src/player.c b/src/player.c index 3acfe58..46c3fff 100644 --- a/src/player.c +++ b/src/player.c @@ -446,7 +446,7 @@ void *BarPlayerThread (void *data) { /* This loop should work around song abortions by requesting the * missing part of the song */ do { - snprintf (extraHeaders, sizeof (extraHeaders), "Range: %u-\r\n", + snprintf (extraHeaders, sizeof (extraHeaders), "Range: bytes=%u-\r\n", player->bytesReceived); wRet = WaitressFetchCall (&player->waith); } while (wRet == WAITRESS_RET_PARTIAL_FILE); |