summaryrefslogtreecommitdiff
path: root/apps/plugin.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugin.c')
-rw-r--r--apps/plugin.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/apps/plugin.c b/apps/plugin.c
index e91cba0512..e010ebe841 100644
--- a/apps/plugin.c
+++ b/apps/plugin.c
@@ -34,6 +34,9 @@
34#include "lang.h" 34#include "lang.h"
35#include "keyboard.h" 35#include "keyboard.h"
36#include "mpeg.h" 36#include "mpeg.h"
37#include "buffer.h"
38#include "mp3_playback.h"
39#include "backlight.h"
37 40
38#ifdef HAVE_LCD_BITMAP 41#ifdef HAVE_LCD_BITMAP
39#include "widgets.h" 42#include "widgets.h"
@@ -58,6 +61,7 @@
58static unsigned char pluginbuf[PLUGIN_BUFFER_SIZE]; 61static unsigned char pluginbuf[PLUGIN_BUFFER_SIZE];
59#else 62#else
60extern unsigned char pluginbuf[]; 63extern unsigned char pluginbuf[];
64extern void bitswap(unsigned char *data, int length);
61#endif 65#endif
62 66
63static bool plugin_loaded = false; 67static bool plugin_loaded = false;
@@ -163,6 +167,19 @@ static struct plugin_api rockbox_api = {
163 lcd_blit, 167 lcd_blit,
164#endif 168#endif
165 yield, 169 yield,
170
171 plugin_get_mp3_buffer,
172 mpeg_sound_set,
173#ifndef SIMULATOR
174 mp3_play_init,
175 mp3_play_data,
176 mp3_play_pause,
177 mp3_play_stop,
178 mp3_is_playing,
179 bitswap,
180#endif
181 &global_settings,
182 backlight_set_timeout,
166}; 183};
167 184
168int plugin_load(char* plugin, void* parameter) 185int plugin_load(char* plugin, void* parameter)
@@ -294,6 +311,21 @@ void* plugin_get_buffer(int* buffer_size)
294 return &pluginbuf[buffer_pos]; 311 return &pluginbuf[buffer_pos];
295} 312}
296 313
314/* Returns a pointer to the mp3 buffer.
315 Playback gets stopped, to avoid conflicts. */
316void* plugin_get_mp3_buffer(int* buffer_size)
317{
318#ifdef SIMULATOR
319 static unsigned char buf[1700*1024];
320 *buffer_size = sizeof(buf);
321 return buf;
322#else
323 mpeg_stop();
324 *buffer_size = mp3end - mp3buf;
325 return mp3buf;
326#endif
327}
328
297static int plugin_test(int api_version, int model, int memsize) 329static int plugin_test(int api_version, int model, int memsize)
298{ 330{
299 if (api_version < PLUGIN_MIN_API_VERSION || 331 if (api_version < PLUGIN_MIN_API_VERSION ||