diff options
author | Max Kellermann <max@duempel.org> | 2008-08-26 08:27:04 +0200 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2008-08-26 08:27:04 +0200 |
commit | 9e0f7dcd1a9c000a78cf283af4fa593e808ed374 (patch) | |
tree | 44772658d158989ddf49b764e92d34e9135678b4 /src/inputPlugins/mp3_plugin.c | |
parent | 726c6e86d304163f0453de611ce03d656d99d1d8 (diff) | |
download | mpd-9e0f7dcd1a9c000a78cf283af4fa593e808ed374.tar.gz mpd-9e0f7dcd1a9c000a78cf283af4fa593e808ed374.tar.xz mpd-9e0f7dcd1a9c000a78cf283af4fa593e808ed374.zip |
added dc_command_finished()
dc_command_finished() is invoked by the decoder thread when it has
finished a command (sent by the player thread). It resets dc.command
and wakes up the player thread. This combination was used at a lot of
places, and by introducing this function, the code will be more
readable.
Diffstat (limited to 'src/inputPlugins/mp3_plugin.c')
-rw-r--r-- | src/inputPlugins/mp3_plugin.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/src/inputPlugins/mp3_plugin.c b/src/inputPlugins/mp3_plugin.c index 30515f303..4288f85de 100644 --- a/src/inputPlugins/mp3_plugin.c +++ b/src/inputPlugins/mp3_plugin.c @@ -854,8 +854,7 @@ static int mp3Read(mp3DecodeData * data, ReplayGainInfo ** replayGainInfo) data->outputPtr = data->outputBuffer; ob_clear(); data->muteFrame = 0; - dc.command = DECODE_COMMAND_NONE; - decoder_wakeup_player(); + dc_command_finished(); } break; default: @@ -968,14 +967,12 @@ static int mp3Read(mp3DecodeData * data, ReplayGainInfo ** replayGainInfo) } else dc.seekError = 1; data->muteFrame = 0; - dc.command = DECODE_COMMAND_NONE; - decoder_wakeup_player(); + dc_command_finished(); } } else if (dc.command == DECODE_COMMAND_SEEK && !data->inStream->seekable) { - dc.command = DECODE_COMMAND_NONE; dc.seekError = 1; - decoder_wakeup_player(); + dc_command_finished(); } } @@ -1084,8 +1081,7 @@ static int mp3_decode(InputStream * inStream) if (dc.command == DECODE_COMMAND_SEEK && data.muteFrame == MUTEFRAME_SEEK) { ob_clear(); - dc.command = DECODE_COMMAND_NONE; - decoder_wakeup_player(); + dc_command_finished(); } ob_flush(); |