From 7df9371491e96a99c1e463f7787aede352ac5a37 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Fri, 20 Apr 2012 11:49:02 +0200 Subject: Remove pause mutex/add pthread cleanup function No more mutex locking/checking for quit condition. Should (slightly) increase responsiveness of the player thread. Closes #250. --- src/player.h | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'src/player.h') diff --git a/src/player.h b/src/player.h index ac6853c..2261d44 100644 --- a/src/player.h +++ b/src/player.h @@ -47,11 +47,11 @@ THE SOFTWARE. #define BAR_PLAYER_MS_TO_S_FACTOR 1000 #define BAR_PLAYER_BUFSIZE (WAITRESS_BUFFER_SIZE*2) +#define BAR_PLAYER_SIGSTOP SIGRTMIN +#define BAR_PLAYER_SIGCONT SIGRTMIN+1 struct audioPlayer { - char doQuit; unsigned char channels; - unsigned char aoError; enum { PLAYER_FREED = 0, /* thread is not running */ @@ -64,6 +64,10 @@ struct audioPlayer { PLAYER_RECV_DATA, /* playing track */ PLAYER_FINISHED_PLAYBACK } mode; + enum { + PLAYER_RET_OK = 0, + PLAYER_RET_ERR = 1, + } ret; PianoAudioFormat_t audioFormat; unsigned int scale; @@ -101,12 +105,11 @@ struct audioPlayer { unsigned char *buffer; - pthread_mutex_t pauseMutex; + bool paused; + pthread_t thread; WaitressHandle_t waith; }; -enum {PLAYER_RET_OK = 0, PLAYER_RET_ERR = 1}; - void *BarPlayerThread (void *data); unsigned int BarPlayerCalcScale (float); -- cgit v1.2.3