diff options
author | Lars-Dominik Braun <PromyLOPh@lavabit.com> | 2009-05-03 20:54:06 +0200 |
---|---|---|
committer | Lars-Dominik Braun <PromyLOPh@lavabit.com> | 2009-05-03 20:54:06 +0200 |
commit | b5ac68a1d865b6252a31d17c36ae8c80aea5f8f4 (patch) | |
tree | 5cf453dd3e81c54ba1eb8ab63bae68a7d3046fd2 | |
parent | 2605e4b8ab511221b14b07f32ff78a69c491b9cc (diff) | |
download | pianobar-windows-b5ac68a1d865b6252a31d17c36ae8c80aea5f8f4.tar.gz pianobar-windows-b5ac68a1d865b6252a31d17c36ae8c80aea5f8f4.tar.bz2 pianobar-windows-b5ac68a1d865b6252a31d17c36ae8c80aea5f8f4.zip |
Fix range header, accept 206 status code
-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); |