From 0988793eadd015775507b30cb53f751ab8aba80e Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Wed, 25 Jun 2008 15:03:35 +0200 Subject: client: Faster player thread abort --- src/player.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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) { -- cgit v1.2.3