diff options
author | Max Kellermann <max@duempel.org> | 2008-08-26 08:40:47 +0200 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2008-08-26 08:40:47 +0200 |
commit | 1c03c721eae87077675ccafece4cf4b9fef0a1ac (patch) | |
tree | 4bcf498a294357553cc7f3dd3bf86cc31887a966 /src | |
parent | 9521c92f66c01a08526d14b92d581c858629101d (diff) |
moved variable "dc" to decode.h
Now that "dc" is available here, we don't have to pass it to
decoder_is_idle() and decoder_is_starting() anymore.
Diffstat (limited to 'src')
-rw-r--r-- | src/decode.h | 26 | ||||
-rw-r--r-- | src/decoder_api.c | 1 | ||||
-rw-r--r-- | src/decoder_api.h | 1 | ||||
-rw-r--r-- | src/decoder_control.c | 3 | ||||
-rw-r--r-- | src/main.c | 1 | ||||
-rw-r--r-- | src/playerData.c | 2 | ||||
-rw-r--r-- | src/playerData.h | 2 | ||||
-rw-r--r-- | src/player_thread.c | 13 |
8 files changed, 27 insertions, 22 deletions
diff --git a/src/decode.h b/src/decode.h index ba6193a99..9922cd81e 100644 --- a/src/decode.h +++ b/src/decode.h @@ -44,7 +44,7 @@ enum decoder_command { #define DECODE_ERROR_UNKTYPE 10 #define DECODE_ERROR_FILE 20 -typedef struct _DecoderControl { +struct decoder_control { Notify notify; volatile enum decoder_state state; @@ -57,29 +57,31 @@ typedef struct _DecoderControl { Song *current_song; Song *volatile next_song; volatile float totalTime; -} DecoderControl; +}; + +extern struct decoder_control dc; void decoderInit(void); -static inline int decoder_is_idle(DecoderControl *dc) +static inline int decoder_is_idle(void) { - return dc->state == DECODE_STATE_STOP && - dc->command != DECODE_COMMAND_START; + return dc.state == DECODE_STATE_STOP && + dc.command != DECODE_COMMAND_START; } -static inline int decoder_is_starting(DecoderControl *dc) +static inline int decoder_is_starting(void) { - return dc->command == DECODE_COMMAND_START || - dc->state == DECODE_STATE_START; + return dc.command == DECODE_COMMAND_START || + dc.state == DECODE_STATE_START; } -static inline Song *decoder_current_song(DecoderControl *dc) +static inline Song *decoder_current_song(void) { - if (dc->state == DECODE_STATE_STOP || - dc->error != DECODE_ERROR_NOERROR) + if (dc.state == DECODE_STATE_STOP || + dc.error != DECODE_ERROR_NOERROR) return NULL; - return dc->current_song; + return dc.current_song; } void dc_command_wait(Notify *notify); diff --git a/src/decoder_api.c b/src/decoder_api.c index 360df2820..6d8ce087a 100644 --- a/src/decoder_api.c +++ b/src/decoder_api.c @@ -19,6 +19,7 @@ #include "decoder_internal.h" #include "decoder_list.h" +#include "decode.h" #include "audio.h" #include "utils.h" diff --git a/src/decoder_api.h b/src/decoder_api.h index 7a77bc93a..9c998f0a8 100644 --- a/src/decoder_api.h +++ b/src/decoder_api.h @@ -30,6 +30,7 @@ #include "replayGain.h" #include "tag.h" #include "playerData.h" +#include "decode.h" /* valid values for streamTypes in the InputPlugin struct: */ diff --git a/src/decoder_control.c b/src/decoder_control.c index 1c92ba522..7fc04de7d 100644 --- a/src/decoder_control.c +++ b/src/decoder_control.c @@ -17,7 +17,8 @@ */ #include "decode.h" -#include "playerData.h" + +struct decoder_control dc; void dc_command_wait(Notify *notify) { diff --git a/src/main.c b/src/main.c index 53b204e7e..2d9f62390 100644 --- a/src/main.c +++ b/src/main.c @@ -25,6 +25,7 @@ #include "conf.h" #include "path.h" #include "playerData.h" +#include "decode.h" #include "stats.h" #include "sig_handlers.h" #include "audio.h" diff --git a/src/playerData.c b/src/playerData.c index 441fe883f..81c6f7fe7 100644 --- a/src/playerData.c +++ b/src/playerData.c @@ -17,6 +17,7 @@ */ #include "playerData.h" +#include "decode.h" #include "conf.h" #include "log.h" #include "utils.h" @@ -26,7 +27,6 @@ unsigned int buffered_before_play; PlayerControl pc; -DecoderControl dc; OutputBuffer ob; void initPlayerData(void) diff --git a/src/playerData.h b/src/playerData.h index 0695c95ea..81b80cf7d 100644 --- a/src/playerData.h +++ b/src/playerData.h @@ -20,12 +20,10 @@ #define PLAYER_DATA_H #include "player.h" -#include "decode.h" #include "outputBuffer.h" extern unsigned int buffered_before_play; extern PlayerControl pc; -extern DecoderControl dc; extern OutputBuffer ob; void initPlayerData(void); diff --git a/src/player_thread.c b/src/player_thread.c index 482b9d4e1..ab7074ad2 100644 --- a/src/player_thread.c +++ b/src/player_thread.c @@ -18,6 +18,7 @@ #include "player_thread.h" #include "playerData.h" +#include "decode.h" #include "audio.h" #include "pcm_utils.h" #include "path.h" @@ -65,7 +66,7 @@ static int decodeSeek(int *decodeWaitedOn, int *next) int ret = -1; double where; - if (decoder_current_song(&dc) != pc.next_song) { + if (decoder_current_song() != pc.next_song) { dc_stop(&pc.notify); *next = -1; ob_clear(); @@ -224,7 +225,7 @@ static void do_play(void) pc.error = PLAYER_ERROR_FILE; break; } - else if (!decoder_is_starting(&dc)) { + else if (!decoder_is_starting()) { /* the decoder is ready and ok */ decodeWaitedOn = 0; if(openAudioDevice(&(ob.audioFormat))<0) { @@ -256,7 +257,7 @@ static void do_play(void) } } - if (decoder_is_idle(&dc) && + if (decoder_is_idle() && pc.queueState == PLAYER_QUEUE_FULL && pc.queueLockState == PLAYER_QUEUE_UNLOCKED) { /* the decoder has finished the current song; @@ -267,7 +268,7 @@ static void do_play(void) wakeup_main_task(); } if (next >= 0 && do_xfade == XFADE_UNKNOWN && - !decoder_is_starting(&dc)) { + !decoder_is_starting()) { /* enable cross fading in this song? if yes, calculate how many chunks will be required for it */ @@ -313,7 +314,7 @@ static void do_play(void) } else { /* there are not enough decoded chunks yet */ - if (decoder_is_idle(&dc)) { + if (decoder_is_idle()) { /* the decoder isn't running, abort cross fading */ @@ -361,7 +362,7 @@ static void do_play(void) pc.queueState = PLAYER_QUEUE_EMPTY; wakeup_main_task(); - } else if (decoder_is_idle(&dc)) { + } else if (decoder_is_idle()) { break; } else { /*DEBUG("waiting for decoded audio, play silence\n");*/ |