diff options
-rw-r--r-- | src/player.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/player.c b/src/player.c index d0bc4cb..6861a9a 100644 --- a/src/player.c +++ b/src/player.c @@ -85,7 +85,7 @@ size_t BarPlayerCurlCb (void *ptr, size_t size, size_t nmemb, void *stream) { (unsigned char *) player->buffer + player->bufferRead, player->sampleSize[player->sampleSizeCurr]); if (frameInfo.error != 0) { - printf ("error: %s\n\n", + printf (PACKAGE ": Decoding error: %s\n\n", NeAACDecGetErrorMessage (frameInfo.error)); break; } @@ -93,6 +93,11 @@ size_t BarPlayerCurlCb (void *ptr, size_t size, size_t nmemb, void *stream) { frameInfo.samples*frameInfo.channels); player->bufferRead += frameInfo.bytesconsumed; player->sampleSizeCurr++; + /* going through this loop can take up to a few seconds => + * allow earlier thread abort */ + if (player->doQuit) { + return 0; + } } } else { if (player->mode == FIND_ESDS) { |