aboutsummaryrefslogtreecommitdiff
path: root/src/decoder/mikmod_plugin.c
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2009-11-14 01:58:13 +0100
committerMax Kellermann <max@duempel.org>2009-11-14 02:07:41 +0100
commit7efb54892161cd653b852152ddd0cd67f497a6b5 (patch)
treea9dda8c0ed4157d6b8d7a6c93e62eb7b99017a17 /src/decoder/mikmod_plugin.c
parent0c5329aedc1a3ce838342c9fc92dededfb7627a1 (diff)
decoder/mikmod: removed the struct mod_Data
Diffstat (limited to 'src/decoder/mikmod_plugin.c')
-rw-r--r--src/decoder/mikmod_plugin.c23
1 files changed, 9 insertions, 14 deletions
diff --git a/src/decoder/mikmod_plugin.c b/src/decoder/mikmod_plugin.c
index 4f79e0ad..4e62ca55 100644
--- a/src/decoder/mikmod_plugin.c
+++ b/src/decoder/mikmod_plugin.c
@@ -126,33 +126,29 @@ static void mod_finishMikMod(void)
MikMod_Exit();
}
-typedef struct _mod_Data {
- MODULE *moduleHandle;
- SBYTE audio_buffer[MIKMOD_FRAME_SIZE];
-} mod_Data;
-
static void
mod_decode(struct decoder *decoder, const char *path)
{
char *path2;
- mod_Data data;
+ MODULE *handle;
struct audio_format audio_format;
float total_time = 0.0;
int ret;
float secPerByte;
+ SBYTE buffer[MIKMOD_FRAME_SIZE];
enum decoder_command cmd = DECODE_COMMAND_NONE;
path2 = g_strdup(path);
- data.moduleHandle = Player_Load(path2, 128, 0);
+ handle = Player_Load(path2, 128, 0);
g_free(path2);
- if (data.moduleHandle == NULL) {
+ if (handle == NULL) {
g_warning("failed to open mod: %s\n", path);
return;
}
/* Prevent module from looping forever */
- data.moduleHandle->loop = 0;
+ handle->loop = 0;
audio_format_init(&audio_format, 44100, 16, 2);
assert(audio_format_valid(&audio_format));
@@ -163,17 +159,16 @@ mod_decode(struct decoder *decoder, const char *path)
decoder_initialized(decoder, &audio_format, false, 0);
- Player_Start(data.moduleHandle);
+ Player_Start(handle);
while (cmd == DECODE_COMMAND_NONE && Player_Active()) {
- ret = VC_WriteBytes(data.audio_buffer, MIKMOD_FRAME_SIZE);
+ ret = VC_WriteBytes(buffer, sizeof(buffer));
total_time += ret * secPerByte;
- cmd = decoder_data(decoder, NULL,
- data.audio_buffer, ret,
+ cmd = decoder_data(decoder, NULL, buffer, ret,
total_time, 0, NULL);
}
Player_Stop();
- Player_Free(data.moduleHandle);
+ Player_Free(handle);
}
static struct tag *modTagDup(const char *file)