diff options
-rw-r--r-- | apps/debug_menu.c | 12 | ||||
-rw-r--r-- | apps/main_menu.c | 2 | ||||
-rw-r--r-- | apps/playlist.c | 10 | ||||
-rw-r--r-- | apps/plugin.c | 8 | ||||
-rw-r--r-- | apps/plugin.h | 4 | ||||
-rw-r--r-- | apps/plugins/battery_test.c | 2 | ||||
-rw-r--r-- | apps/plugins/jpeg.c | 2 | ||||
-rw-r--r-- | apps/plugins/lib/xxx2wav.c | 14 | ||||
-rw-r--r-- | apps/plugins/rockboy.c | 9 | ||||
-rw-r--r-- | apps/plugins/rockboy/rockboy.c | 34 | ||||
-rw-r--r-- | apps/plugins/sort.c | 2 | ||||
-rw-r--r-- | apps/plugins/vbrfix.c | 26 | ||||
-rw-r--r-- | apps/plugins/video.c | 2 | ||||
-rw-r--r-- | apps/talk.c | 20 | ||||
-rw-r--r-- | firmware/app.lds | 18 | ||||
-rw-r--r-- | firmware/buffer.c | 14 | ||||
-rw-r--r-- | firmware/export/audio.h | 8 | ||||
-rw-r--r-- | firmware/export/buffer.h | 6 | ||||
-rw-r--r-- | firmware/mp3data.c | 16 | ||||
-rw-r--r-- | firmware/mpeg.c | 248 | ||||
-rw-r--r-- | firmware/rolo.c | 12 | ||||
-rw-r--r-- | firmware/rom.lds | 8 |
22 files changed, 239 insertions, 238 deletions
diff --git a/apps/debug_menu.c b/apps/debug_menu.c index d8ebe9bfb1..2ab2194199 100644 --- a/apps/debug_menu.c +++ b/apps/debug_menu.c | |||
@@ -126,7 +126,7 @@ int load_wave(char *filename) | |||
126 | if (audio_size > 8*1024*1024) | 126 | if (audio_size > 8*1024*1024) |
127 | audio_size = 8*1024*1024; | 127 | audio_size = 8*1024*1024; |
128 | 128 | ||
129 | audio_buffer = mp3buf; | 129 | audio_buffer = audiobuf; |
130 | 130 | ||
131 | puts("Reading %d bytes..", audio_size); | 131 | puts("Reading %d bytes..", audio_size); |
132 | 132 | ||
@@ -356,11 +356,11 @@ bool dbg_audio_thread(void) | |||
356 | 356 | ||
357 | lcd_clear_display(); | 357 | lcd_clear_display(); |
358 | 358 | ||
359 | snprintf(buf, sizeof(buf), "read: %x", d.mp3buf_read); | 359 | snprintf(buf, sizeof(buf), "read: %x", d.audiobuf_read); |
360 | lcd_puts(0, 0, buf); | 360 | lcd_puts(0, 0, buf); |
361 | snprintf(buf, sizeof(buf), "write: %x", d.mp3buf_write); | 361 | snprintf(buf, sizeof(buf), "write: %x", d.audiobuf_write); |
362 | lcd_puts(0, 1, buf); | 362 | lcd_puts(0, 1, buf); |
363 | snprintf(buf, sizeof(buf), "swap: %x", d.mp3buf_swapwrite); | 363 | snprintf(buf, sizeof(buf), "swap: %x", d.audiobuf_swapwrite); |
364 | lcd_puts(0, 2, buf); | 364 | lcd_puts(0, 2, buf); |
365 | snprintf(buf, sizeof(buf), "playing: %d", d.playing); | 365 | snprintf(buf, sizeof(buf), "playing: %d", d.playing); |
366 | lcd_puts(0, 3, buf); | 366 | lcd_puts(0, 3, buf); |
@@ -370,11 +370,11 @@ bool dbg_audio_thread(void) | |||
370 | lcd_puts(0, 5, buf); | 370 | lcd_puts(0, 5, buf); |
371 | 371 | ||
372 | /* Playable space left */ | 372 | /* Playable space left */ |
373 | scrollbar(0, 6*8, 112, 4, d.mp3buflen, 0, | 373 | scrollbar(0, 6*8, 112, 4, d.audiobuflen, 0, |
374 | d.playable_space, HORIZONTAL); | 374 | d.playable_space, HORIZONTAL); |
375 | 375 | ||
376 | /* Show the watermark limit */ | 376 | /* Show the watermark limit */ |
377 | scrollbar(0, 6*8+4, 112, 4, d.mp3buflen, 0, | 377 | scrollbar(0, 6*8+4, 112, 4, d.audiobuflen, 0, |
378 | d.low_watermark_level, HORIZONTAL); | 378 | d.low_watermark_level, HORIZONTAL); |
379 | 379 | ||
380 | snprintf(buf, sizeof(buf), "wm: %x - %x", | 380 | snprintf(buf, sizeof(buf), "wm: %x - %x", |
diff --git a/apps/main_menu.c b/apps/main_menu.c index c7cfb0ea70..055a83bc24 100644 --- a/apps/main_menu.c +++ b/apps/main_menu.c | |||
@@ -138,7 +138,7 @@ extern bool simulate_usb(void); | |||
138 | bool show_info(void) | 138 | bool show_info(void) |
139 | { | 139 | { |
140 | char s[32], s2[32]; | 140 | char s[32], s2[32]; |
141 | long buflen = ((mp3end - mp3buf) * 2) / 2097; /* avoid overflow */ | 141 | long buflen = ((audiobufend - audiobuf) * 2) / 2097; /* avoid overflow */ |
142 | int integer, decimal; | 142 | int integer, decimal; |
143 | bool done = false; | 143 | bool done = false; |
144 | int key; | 144 | int key; |
diff --git a/apps/playlist.c b/apps/playlist.c index 3370937a69..8c9d6d11c7 100644 --- a/apps/playlist.c +++ b/apps/playlist.c | |||
@@ -351,8 +351,8 @@ static int add_indices_to_playlist(struct playlist_info* playlist, | |||
351 | audio_stop(); | 351 | audio_stop(); |
352 | talk_buffer_steal(); /* we use the mp3 buffer, need to tell */ | 352 | talk_buffer_steal(); /* we use the mp3 buffer, need to tell */ |
353 | 353 | ||
354 | buffer = mp3buf; | 354 | buffer = audiobuf; |
355 | buflen = (mp3end - mp3buf); | 355 | buflen = (audiobufend - audiobuf); |
356 | } | 356 | } |
357 | 357 | ||
358 | store_index = true; | 358 | store_index = true; |
@@ -1211,8 +1211,8 @@ int playlist_resume(void) | |||
1211 | 1211 | ||
1212 | /* use mp3 buffer for maximum load speed */ | 1212 | /* use mp3 buffer for maximum load speed */ |
1213 | talk_buffer_steal(); /* we use the mp3 buffer, need to tell */ | 1213 | talk_buffer_steal(); /* we use the mp3 buffer, need to tell */ |
1214 | buflen = (mp3end - mp3buf); | 1214 | buflen = (audiobufend - audiobuf); |
1215 | buffer = mp3buf; | 1215 | buffer = audiobuf; |
1216 | 1216 | ||
1217 | empty_playlist(playlist, true); | 1217 | empty_playlist(playlist, true); |
1218 | 1218 | ||
@@ -1294,7 +1294,7 @@ int playlist_resume(void) | |||
1294 | if (str3[0] != '\0') | 1294 | if (str3[0] != '\0') |
1295 | { | 1295 | { |
1296 | /* NOTE: add_indices_to_playlist() overwrites the | 1296 | /* NOTE: add_indices_to_playlist() overwrites the |
1297 | mp3buf so we need to reload control file | 1297 | audiobuf so we need to reload control file |
1298 | data */ | 1298 | data */ |
1299 | add_indices_to_playlist(playlist, NULL, 0); | 1299 | add_indices_to_playlist(playlist, NULL, 0); |
1300 | } | 1300 | } |
diff --git a/apps/plugin.c b/apps/plugin.c index 412d86b4c9..7a9875ac2c 100644 --- a/apps/plugin.c +++ b/apps/plugin.c | |||
@@ -238,7 +238,7 @@ static const struct plugin_api rockbox_api = { | |||
238 | get_time, | 238 | get_time, |
239 | set_time, | 239 | set_time, |
240 | plugin_get_buffer, | 240 | plugin_get_buffer, |
241 | plugin_get_mp3_buffer, | 241 | plugin_get_audio_buffer, |
242 | #ifndef SIMULATOR | 242 | #ifndef SIMULATOR |
243 | plugin_register_timer, | 243 | plugin_register_timer, |
244 | plugin_unregister_timer, | 244 | plugin_unregister_timer, |
@@ -407,12 +407,12 @@ void* plugin_get_buffer(int* buffer_size) | |||
407 | 407 | ||
408 | /* Returns a pointer to the mp3 buffer. | 408 | /* Returns a pointer to the mp3 buffer. |
409 | Playback gets stopped, to avoid conflicts. */ | 409 | Playback gets stopped, to avoid conflicts. */ |
410 | void* plugin_get_mp3_buffer(int* buffer_size) | 410 | void* plugin_get_audio_buffer(int* buffer_size) |
411 | { | 411 | { |
412 | audio_stop(); | 412 | audio_stop(); |
413 | talk_buffer_steal(); /* we use the mp3 buffer, need to tell */ | 413 | talk_buffer_steal(); /* we use the mp3 buffer, need to tell */ |
414 | *buffer_size = mp3end - mp3buf; | 414 | *buffer_size = audiobufend - audiobuf; |
415 | return mp3buf; | 415 | return audiobuf; |
416 | } | 416 | } |
417 | 417 | ||
418 | #ifndef SIMULATOR | 418 | #ifndef SIMULATOR |
diff --git a/apps/plugin.h b/apps/plugin.h index ff37a7c46d..9fd9a9421c 100644 --- a/apps/plugin.h +++ b/apps/plugin.h | |||
@@ -280,7 +280,7 @@ struct plugin_api { | |||
280 | struct tm* (*get_time)(void); | 280 | struct tm* (*get_time)(void); |
281 | int (*set_time)(const struct tm *tm); | 281 | int (*set_time)(const struct tm *tm); |
282 | void* (*plugin_get_buffer)(int* buffer_size); | 282 | void* (*plugin_get_buffer)(int* buffer_size); |
283 | void* (*plugin_get_mp3_buffer)(int* buffer_size); | 283 | void* (*plugin_get_audio_buffer)(int* buffer_size); |
284 | #ifndef SIMULATOR | 284 | #ifndef SIMULATOR |
285 | int (*plugin_register_timer)(int cycles, int prio, void (*timer_callback)(void)); | 285 | int (*plugin_register_timer)(int cycles, int prio, void (*timer_callback)(void)); |
286 | void (*plugin_unregister_timer)(void); | 286 | void (*plugin_unregister_timer)(void); |
@@ -334,7 +334,7 @@ struct plugin_api { | |||
334 | /* defined by the plugin loader (plugin.c) */ | 334 | /* defined by the plugin loader (plugin.c) */ |
335 | int plugin_load(const char* plugin, void* parameter); | 335 | int plugin_load(const char* plugin, void* parameter); |
336 | void* plugin_get_buffer(int *buffer_size); | 336 | void* plugin_get_buffer(int *buffer_size); |
337 | void* plugin_get_mp3_buffer(int *buffer_size); | 337 | void* plugin_get_audio_buffer(int *buffer_size); |
338 | int plugin_register_timer(int cycles, int prio, void (*timer_callback)(void)); | 338 | int plugin_register_timer(int cycles, int prio, void (*timer_callback)(void)); |
339 | void plugin_unregister_timer(void); | 339 | void plugin_unregister_timer(void); |
340 | void plugin_tsr(void (*exit_callback)(void)); | 340 | void plugin_tsr(void (*exit_callback)(void)); |
diff --git a/apps/plugins/battery_test.c b/apps/plugins/battery_test.c index 73affddf8b..47042e6cf0 100644 --- a/apps/plugins/battery_test.c +++ b/apps/plugins/battery_test.c | |||
@@ -48,7 +48,7 @@ int buffersize; | |||
48 | int init(void) | 48 | int init(void) |
49 | { | 49 | { |
50 | int f; | 50 | int f; |
51 | buffer = rb->plugin_get_mp3_buffer(&buffersize); | 51 | buffer = rb->plugin_get_audio_buffer(&buffersize); |
52 | 52 | ||
53 | #ifdef HAVE_MMC | 53 | #ifdef HAVE_MMC |
54 | /* present info what's going on. MMC is slow. */ | 54 | /* present info what's going on. MMC is slow. */ |
diff --git a/apps/plugins/jpeg.c b/apps/plugins/jpeg.c index f705271240..7ca59b29cd 100644 --- a/apps/plugins/jpeg.c +++ b/apps/plugins/jpeg.c | |||
@@ -1824,7 +1824,7 @@ int main(char* filename) | |||
1824 | 1824 | ||
1825 | rb->memset(&disp, 0, sizeof(disp)); | 1825 | rb->memset(&disp, 0, sizeof(disp)); |
1826 | 1826 | ||
1827 | buf = rb->plugin_get_mp3_buffer(&buf_size); /* start munching memory */ | 1827 | buf = rb->plugin_get_audio_buffer(&buf_size); /* start munching memory */ |
1828 | 1828 | ||
1829 | 1829 | ||
1830 | /* initialize the grayscale buffer: | 1830 | /* initialize the grayscale buffer: |
diff --git a/apps/plugins/lib/xxx2wav.c b/apps/plugins/lib/xxx2wav.c index 4d0c139f1b..d864527fc2 100644 --- a/apps/plugins/lib/xxx2wav.c +++ b/apps/plugins/lib/xxx2wav.c | |||
@@ -29,9 +29,9 @@ static struct plugin_api* local_rb; | |||
29 | 29 | ||
30 | int mem_ptr; | 30 | int mem_ptr; |
31 | int bufsize; | 31 | int bufsize; |
32 | unsigned char* mp3buf; // The actual MP3 buffer from Rockbox | 32 | unsigned char* audiobuf; // The actual audio buffer from Rockbox |
33 | unsigned char* mallocbuf; // 512K from the start of MP3 buffer | 33 | unsigned char* mallocbuf; // 512K from the start of audio buffer |
34 | unsigned char* filebuf; // The rest of the MP3 buffer | 34 | unsigned char* filebuf; // The rest of the audio buffer |
35 | 35 | ||
36 | void* codec_malloc(size_t size) { | 36 | void* codec_malloc(size_t size) { |
37 | void* x; | 37 | void* x; |
@@ -169,11 +169,11 @@ int local_init(char* infilename, char* outfilename, file_info_struct* file_info, | |||
169 | local_rb=rb; | 169 | local_rb=rb; |
170 | 170 | ||
171 | mem_ptr=0; | 171 | mem_ptr=0; |
172 | mp3buf=local_rb->plugin_get_mp3_buffer(&bufsize); | 172 | audiobuf=local_rb->plugin_get_audio_buffer(&bufsize); |
173 | mallocbuf=mp3buf; | 173 | mallocbuf=audiobuf; |
174 | filebuf=&mp3buf[MALLOC_BUFSIZE]; | 174 | filebuf=&audiobuf[MALLOC_BUFSIZE]; |
175 | 175 | ||
176 | local_rb->snprintf(s,32,"mp3 bufsize: %d",bufsize); | 176 | local_rb->snprintf(s,32,"audio bufsize: %d",bufsize); |
177 | local_rb->lcd_putsxy(0,100,s); | 177 | local_rb->lcd_putsxy(0,100,s); |
178 | local_rb->lcd_update(); | 178 | local_rb->lcd_update(); |
179 | 179 | ||
diff --git a/apps/plugins/rockboy.c b/apps/plugins/rockboy.c index 4778fa8ee6..d531c9405b 100644 --- a/apps/plugins/rockboy.c +++ b/apps/plugins/rockboy.c | |||
@@ -26,8 +26,8 @@ | |||
26 | #define OVL_DISPLAYNAME "RockBoy" | 26 | #define OVL_DISPLAYNAME "RockBoy" |
27 | 27 | ||
28 | struct plugin_api* rb; | 28 | struct plugin_api* rb; |
29 | unsigned char *mp3buf; | 29 | unsigned char *audiobuf; |
30 | int mp3buf_size; | 30 | int audiobuf_size; |
31 | 31 | ||
32 | /* this is the plugin entry point */ | 32 | /* this is the plugin entry point */ |
33 | enum plugin_status plugin_start(struct plugin_api* api, void* parameter) | 33 | enum plugin_status plugin_start(struct plugin_api* api, void* parameter) |
@@ -60,8 +60,9 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter) | |||
60 | return PLUGIN_ERROR; | 60 | return PLUGIN_ERROR; |
61 | } | 61 | } |
62 | 62 | ||
63 | mp3buf = rb->plugin_get_mp3_buffer(&mp3buf_size); | 63 | audiobuf = rb->plugin_get_audio_buffer(&audiobuf_size); |
64 | if (header.start_addr < mp3buf || header.end_addr > mp3buf + mp3buf_size) | 64 | if (header.start_addr < audiobuf || |
65 | header.end_addr > audiobuf + audiobuf_size) | ||
65 | { | 66 | { |
66 | rb->close(fh); | 67 | rb->close(fh); |
67 | rb->splash(2*HZ, true, OVL_DISPLAYNAME | 68 | rb->splash(2*HZ, true, OVL_DISPLAYNAME |
diff --git a/apps/plugins/rockboy/rockboy.c b/apps/plugins/rockboy/rockboy.c index c6d006a131..1b4c0c7a7d 100644 --- a/apps/plugins/rockboy/rockboy.c +++ b/apps/plugins/rockboy/rockboy.c | |||
@@ -59,37 +59,37 @@ void die(char *message, ...) | |||
59 | errormsg=message; | 59 | errormsg=message; |
60 | } | 60 | } |
61 | 61 | ||
62 | void *mp3_bufferbase; | 62 | void *audio_bufferbase; |
63 | void *mp3_bufferpointer; | 63 | void *audio_bufferpointer; |
64 | unsigned int mp3_buffer_free; | 64 | unsigned int audio_buffer_free; |
65 | 65 | ||
66 | void *my_malloc(size_t size) | 66 | void *my_malloc(size_t size) |
67 | { | 67 | { |
68 | void *alloc; | 68 | void *alloc; |
69 | 69 | ||
70 | if (!mp3_bufferbase) | 70 | if (!audio_bufferbase) |
71 | { | 71 | { |
72 | mp3_bufferbase = mp3_bufferpointer | 72 | audio_bufferbase = audio_bufferpointer |
73 | = rb->plugin_get_mp3_buffer(&mp3_buffer_free); | 73 | = rb->plugin_get_audio_buffer(&audio_buffer_free); |
74 | #if MEM <= 8 && !defined(SIMULATOR) | 74 | #if MEM <= 8 && !defined(SIMULATOR) |
75 | /* loaded as an overlay, protect from overwriting ourselves */ | 75 | /* loaded as an overlay, protect from overwriting ourselves */ |
76 | if ((unsigned)(ovl_start_addr - (unsigned char *)mp3_bufferbase) | 76 | if ((unsigned)(ovl_start_addr - (unsigned char *)audio_bufferbase) |
77 | < mp3_buffer_free) | 77 | < audio_buffer_free) |
78 | mp3_buffer_free = ovl_start_addr - (unsigned char *)mp3_bufferbase; | 78 | audio_buffer_free = ovl_start_addr - (unsigned char *)audio_bufferbase; |
79 | #endif | 79 | #endif |
80 | } | 80 | } |
81 | if (size + 4 > mp3_buffer_free) | 81 | if (size + 4 > audio_buffer_free) |
82 | return 0; | 82 | return 0; |
83 | alloc = mp3_bufferpointer; | 83 | alloc = audio_bufferpointer; |
84 | mp3_bufferpointer += size + 4; | 84 | audio_bufferpointer += size + 4; |
85 | mp3_buffer_free -= size + 4; | 85 | audio_buffer_free -= size + 4; |
86 | return alloc; | 86 | return alloc; |
87 | } | 87 | } |
88 | 88 | ||
89 | void setmallocpos(void *pointer) | 89 | void setmallocpos(void *pointer) |
90 | { | 90 | { |
91 | mp3_bufferpointer = pointer; | 91 | audio_bufferpointer = pointer; |
92 | mp3_buffer_free = mp3_bufferpointer - mp3_bufferbase; | 92 | audio_buffer_free = audio_bufferpointer - audio_bufferbase; |
93 | } | 93 | } |
94 | 94 | ||
95 | /* this is the plugin entry point */ | 95 | /* this is the plugin entry point */ |
@@ -113,8 +113,8 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter) | |||
113 | #endif | 113 | #endif |
114 | shut=0; | 114 | shut=0; |
115 | cleanshut=0; | 115 | cleanshut=0; |
116 | mp3_bufferbase=mp3_bufferpointer=0; | 116 | audio_bufferbase=audio_bufferpointer=0; |
117 | mp3_buffer_free=0; | 117 | audio_buffer_free=0; |
118 | 118 | ||
119 | /* now go ahead and have fun! */ | 119 | /* now go ahead and have fun! */ |
120 | /* rb->splash(HZ*2, true, "Rockboy v0.3"); */ | 120 | /* rb->splash(HZ*2, true, "Rockboy v0.3"); */ |
diff --git a/apps/plugins/sort.c b/apps/plugins/sort.c index b17f5a441a..cf91dbb4dd 100644 --- a/apps/plugins/sort.c +++ b/apps/plugins/sort.c | |||
@@ -184,7 +184,7 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter) | |||
184 | 184 | ||
185 | rb = api; | 185 | rb = api; |
186 | 186 | ||
187 | buf = rb->plugin_get_mp3_buffer(&buf_size); /* start munching memory */ | 187 | buf = rb->plugin_get_audio_buffer(&buf_size); /* start munching memory */ |
188 | 188 | ||
189 | stringbuffer = buf; | 189 | stringbuffer = buf; |
190 | pointers = (char **)(buf + buf_size - sizeof(int)); | 190 | pointers = (char **)(buf + buf_size - sizeof(int)); |
diff --git a/apps/plugins/vbrfix.c b/apps/plugins/vbrfix.c index 0077340ec9..7fb072c656 100644 --- a/apps/plugins/vbrfix.c +++ b/apps/plugins/vbrfix.c | |||
@@ -20,8 +20,8 @@ | |||
20 | 20 | ||
21 | static struct plugin_api* rb; | 21 | static struct plugin_api* rb; |
22 | 22 | ||
23 | static char *mp3buf; | 23 | static char *audiobuf; |
24 | static int mp3buflen; | 24 | static int audiobuflen; |
25 | 25 | ||
26 | static void xingupdate(int percent) | 26 | static void xingupdate(int percent) |
27 | { | 27 | { |
@@ -56,14 +56,14 @@ static int insert_data_in_file(char *fname, int fpos, char *buf, int num_bytes) | |||
56 | 56 | ||
57 | /* First, copy the initial portion (the ID3 tag) */ | 57 | /* First, copy the initial portion (the ID3 tag) */ |
58 | if(fpos) { | 58 | if(fpos) { |
59 | readlen = rb->read(orig_fd, mp3buf, fpos); | 59 | readlen = rb->read(orig_fd, audiobuf, fpos); |
60 | if(readlen < 0) { | 60 | if(readlen < 0) { |
61 | rb->close(fd); | 61 | rb->close(fd); |
62 | rb->close(orig_fd); | 62 | rb->close(orig_fd); |
63 | return 10*readlen - 3; | 63 | return 10*readlen - 3; |
64 | } | 64 | } |
65 | 65 | ||
66 | rc = rb->write(fd, mp3buf, readlen); | 66 | rc = rb->write(fd, audiobuf, readlen); |
67 | if(rc < 0) { | 67 | if(rc < 0) { |
68 | rb->close(fd); | 68 | rb->close(fd); |
69 | rb->close(orig_fd); | 69 | rb->close(orig_fd); |
@@ -81,14 +81,14 @@ static int insert_data_in_file(char *fname, int fpos, char *buf, int num_bytes) | |||
81 | 81 | ||
82 | /* Copy the file */ | 82 | /* Copy the file */ |
83 | do { | 83 | do { |
84 | readlen = rb->read(orig_fd, mp3buf, mp3buflen); | 84 | readlen = rb->read(orig_fd, audiobuf, audiobuflen); |
85 | if(readlen < 0) { | 85 | if(readlen < 0) { |
86 | rb->close(fd); | 86 | rb->close(fd); |
87 | rb->close(orig_fd); | 87 | rb->close(orig_fd); |
88 | return 10*readlen - 7; | 88 | return 10*readlen - 7; |
89 | } | 89 | } |
90 | 90 | ||
91 | rc = rb->write(fd, mp3buf, readlen); | 91 | rc = rb->write(fd, audiobuf, readlen); |
92 | if(rc < 0) { | 92 | if(rc < 0) { |
93 | rb->close(fd); | 93 | rb->close(fd); |
94 | rb->close(orig_fd); | 94 | rb->close(orig_fd); |
@@ -193,8 +193,8 @@ static bool vbr_fix(char *selected_file) | |||
193 | and write it to the file */ | 193 | and write it to the file */ |
194 | if(unused_space) | 194 | if(unused_space) |
195 | { | 195 | { |
196 | rb->memset(mp3buf, 0, unused_space); | 196 | rb->memset(audiobuf, 0, unused_space); |
197 | rc = rb->write(fd, mp3buf, unused_space); | 197 | rc = rb->write(fd, audiobuf, unused_space); |
198 | if(rc < 0) { | 198 | if(rc < 0) { |
199 | rb->close(fd); | 199 | rb->close(fd); |
200 | fileerror(rc); | 200 | fileerror(rc); |
@@ -230,20 +230,20 @@ static bool vbr_fix(char *selected_file) | |||
230 | DEBUGF("Inserting 4096+%d bytes\n", framelen); | 230 | DEBUGF("Inserting 4096+%d bytes\n", framelen); |
231 | numbytes = 4096 + framelen; | 231 | numbytes = 4096 + framelen; |
232 | 232 | ||
233 | rb->memset(mp3buf + 0x100000, 0, numbytes); | 233 | rb->memset(audiobuf + 0x100000, 0, numbytes); |
234 | 234 | ||
235 | /* Insert the ID3 header */ | 235 | /* Insert the ID3 header */ |
236 | rb->memcpy(mp3buf + 0x100000, empty_id3_header, | 236 | rb->memcpy(audiobuf + 0x100000, empty_id3_header, |
237 | sizeof(empty_id3_header)); | 237 | sizeof(empty_id3_header)); |
238 | } | 238 | } |
239 | 239 | ||
240 | /* Copy the Xing header */ | 240 | /* Copy the Xing header */ |
241 | rb->memcpy(mp3buf + 0x100000 + numbytes - framelen, | 241 | rb->memcpy(audiobuf + 0x100000 + numbytes - framelen, |
242 | xingbuf, framelen); | 242 | xingbuf, framelen); |
243 | 243 | ||
244 | rc = insert_data_in_file(selected_file, | 244 | rc = insert_data_in_file(selected_file, |
245 | entry.first_frame_offset, | 245 | entry.first_frame_offset, |
246 | mp3buf + 0x100000, numbytes); | 246 | audiobuf + 0x100000, numbytes); |
247 | 247 | ||
248 | if(rc < 0) { | 248 | if(rc < 0) { |
249 | fileerror(rc); | 249 | fileerror(rc); |
@@ -272,7 +272,7 @@ enum plugin_status plugin_start(struct plugin_api* api, void *parameter) | |||
272 | if (!parameter) | 272 | if (!parameter) |
273 | return PLUGIN_ERROR; | 273 | return PLUGIN_ERROR; |
274 | 274 | ||
275 | mp3buf = rb->plugin_get_mp3_buffer(&mp3buflen); | 275 | audiobuf = rb->plugin_get_audio_buffer(&audiobuflen); |
276 | 276 | ||
277 | vbr_fix(parameter); | 277 | vbr_fix(parameter); |
278 | 278 | ||
diff --git a/apps/plugins/video.c b/apps/plugins/video.c index 0257ad26b7..db371392d5 100644 --- a/apps/plugins/video.c +++ b/apps/plugins/video.c | |||
@@ -864,7 +864,7 @@ int main(char* filename) | |||
864 | // init buffer | 864 | // init buffer |
865 | rb->memset(&gBuf, 0, sizeof(gBuf)); | 865 | rb->memset(&gBuf, 0, sizeof(gBuf)); |
866 | gBuf.pOSD = rb->lcd_framebuffer + LCD_WIDTH*7; // last screen line | 866 | gBuf.pOSD = rb->lcd_framebuffer + LCD_WIDTH*7; // last screen line |
867 | gBuf.pBufStart = rb->plugin_get_mp3_buffer(&gBuf.bufsize); | 867 | gBuf.pBufStart = rb->plugin_get_audio_buffer(&gBuf.bufsize); |
868 | //gBuf.bufsize = 1700*1024; // test, like 2MB version!!!! | 868 | //gBuf.bufsize = 1700*1024; // test, like 2MB version!!!! |
869 | gBuf.pBufFill = gBuf.pBufStart; // all empty | 869 | gBuf.pBufFill = gBuf.pBufStart; // all empty |
870 | 870 | ||
diff --git a/apps/talk.c b/apps/talk.c index 2b97629d55..b6e2ec57a1 100644 --- a/apps/talk.c +++ b/apps/talk.c | |||
@@ -131,7 +131,7 @@ static void load_voicefile(void) | |||
131 | goto load_err; | 131 | goto load_err; |
132 | 132 | ||
133 | file_size = filesize(filehandle); | 133 | file_size = filesize(filehandle); |
134 | if (file_size > mp3end - mp3buf) /* won't fit? */ | 134 | if (file_size > audiobufend - audiobuf) /* won't fit? */ |
135 | goto load_err; | 135 | goto load_err; |
136 | 136 | ||
137 | #ifdef HAVE_MMC /* load only the header for now */ | 137 | #ifdef HAVE_MMC /* load only the header for now */ |
@@ -140,17 +140,17 @@ static void load_voicefile(void) | |||
140 | load_size = file_size; | 140 | load_size = file_size; |
141 | #endif | 141 | #endif |
142 | 142 | ||
143 | got_size = read(filehandle, mp3buf, load_size); | 143 | got_size = read(filehandle, audiobuf, load_size); |
144 | if (got_size == load_size /* success */ | 144 | if (got_size == load_size /* success */ |
145 | && ((struct voicefile*)mp3buf)->table /* format check */ | 145 | && ((struct voicefile*)audiobuf)->table /* format check */ |
146 | == offsetof(struct voicefile, index)) | 146 | == offsetof(struct voicefile, index)) |
147 | { | 147 | { |
148 | p_voicefile = (struct voicefile*)mp3buf; | 148 | p_voicefile = (struct voicefile*)audiobuf; |
149 | 149 | ||
150 | /* thumbnail buffer is the remaining space behind */ | 150 | /* thumbnail buffer is the remaining space behind */ |
151 | p_thumbnail = mp3buf + file_size; | 151 | p_thumbnail = audiobuf + file_size; |
152 | p_thumbnail += (long)p_thumbnail % 2; /* 16-bit align */ | 152 | p_thumbnail += (long)p_thumbnail % 2; /* 16-bit align */ |
153 | size_for_thumbnail = mp3end - p_thumbnail; | 153 | size_for_thumbnail = audiobufend - p_thumbnail; |
154 | } | 154 | } |
155 | else | 155 | else |
156 | goto load_err; | 156 | goto load_err; |
@@ -160,7 +160,7 @@ static void load_voicefile(void) | |||
160 | load_size = (p_voicefile->id1_max + p_voicefile->id2_max) | 160 | load_size = (p_voicefile->id1_max + p_voicefile->id2_max) |
161 | * sizeof(struct clip_entry); | 161 | * sizeof(struct clip_entry); |
162 | got_size = read(filehandle, | 162 | got_size = read(filehandle, |
163 | mp3buf + offsetof(struct voicefile, index), load_size); | 163 | audiobuf + offsetof(struct voicefile, index), load_size); |
164 | if (got_size != load_size) /* read error */ | 164 | if (got_size != load_size) /* read error */ |
165 | goto load_err; | 165 | goto load_err; |
166 | #else | 166 | #else |
@@ -356,7 +356,7 @@ static unsigned char* get_clip(long id, long* p_size) | |||
356 | clipsize = p_voicefile->index[id].size; | 356 | clipsize = p_voicefile->index[id].size; |
357 | if (clipsize == 0) /* clip not included in voicefile */ | 357 | if (clipsize == 0) /* clip not included in voicefile */ |
358 | return NULL; | 358 | return NULL; |
359 | clipbuf = mp3buf + p_voicefile->index[id].offset; | 359 | clipbuf = audiobuf + p_voicefile->index[id].offset; |
360 | 360 | ||
361 | #ifdef HAVE_MMC /* dynamic loading, on demand */ | 361 | #ifdef HAVE_MMC /* dynamic loading, on demand */ |
362 | if (!(clipsize & LOADED_MASK)) | 362 | if (!(clipsize & LOADED_MASK)) |
@@ -383,8 +383,8 @@ static void reset_state(void) | |||
383 | { | 383 | { |
384 | queue_write = queue_read = 0; /* reset the queue */ | 384 | queue_write = queue_read = 0; /* reset the queue */ |
385 | p_voicefile = NULL; /* indicate no voicefile (trashed) */ | 385 | p_voicefile = NULL; /* indicate no voicefile (trashed) */ |
386 | p_thumbnail = mp3buf; /* whole space for thumbnail */ | 386 | p_thumbnail = audiobuf; /* whole space for thumbnail */ |
387 | size_for_thumbnail = mp3end - mp3buf; | 387 | size_for_thumbnail = audiobufend - audiobuf; |
388 | p_silence = NULL; /* pause clip not accessible */ | 388 | p_silence = NULL; /* pause clip not accessible */ |
389 | } | 389 | } |
390 | 390 | ||
diff --git a/firmware/app.lds b/firmware/app.lds index a7ca57e54e..45bd8567f2 100644 --- a/firmware/app.lds +++ b/firmware/app.lds | |||
@@ -88,10 +88,10 @@ _stackend = ADDR(.stack) + SIZEOF(.stack); | |||
88 | 88 | ||
89 | _idatastart = ADDR(.idata); | 89 | _idatastart = ADDR(.idata); |
90 | 90 | ||
91 | /* FIXME: Where to put mp3 buffer? */ | 91 | /* FIXME: Where to put audio buffer? */ |
92 | 92 | ||
93 | _mp3buffer = 0; | 93 | _audiobuffer = 0; |
94 | _mp3end = 0; | 94 | _audioend = 0; |
95 | 95 | ||
96 | /* Plugins are not supported on the Gmini*/ | 96 | /* Plugins are not supported on the Gmini*/ |
97 | 97 | ||
@@ -217,16 +217,16 @@ SECTIONS | |||
217 | _end = .; | 217 | _end = .; |
218 | } > DRAM | 218 | } > DRAM |
219 | 219 | ||
220 | .mp3buf ALIGN(4) : | 220 | .audiobuf ALIGN(4) : |
221 | { | 221 | { |
222 | _mp3buffer = .; | 222 | _audiobuffer = .; |
223 | mp3buffer = .; | 223 | audiobuffer = .; |
224 | } > DRAM | 224 | } > DRAM |
225 | 225 | ||
226 | .mp3end ENDADDR: | 226 | .audiobufend ENDADDR: |
227 | { | 227 | { |
228 | mp3end = .; | 228 | audiobufend = .; |
229 | _mp3end = .; | 229 | _audiobufend = .; |
230 | } > DRAM | 230 | } > DRAM |
231 | 231 | ||
232 | .plugin ENDADDR: | 232 | .plugin ENDADDR: |
diff --git a/firmware/buffer.c b/firmware/buffer.c index 180ded8268..d89d30b6ba 100644 --- a/firmware/buffer.c +++ b/firmware/buffer.c | |||
@@ -20,24 +20,24 @@ | |||
20 | #include "buffer.h" | 20 | #include "buffer.h" |
21 | 21 | ||
22 | #ifdef SIMULATOR | 22 | #ifdef SIMULATOR |
23 | unsigned char mp3buffer[(MEM*1024-256)*1024]; | 23 | unsigned char audiobuffer[(MEM*1024-256)*1024]; |
24 | unsigned char *mp3end = mp3buffer + sizeof(mp3buffer); | 24 | unsigned char *audiobufend = audiobuffer + sizeof(audiobuffer); |
25 | #else | 25 | #else |
26 | /* defined in linker script */ | 26 | /* defined in linker script */ |
27 | extern unsigned char mp3buffer[]; | 27 | extern unsigned char audiobuffer[]; |
28 | #endif | 28 | #endif |
29 | 29 | ||
30 | unsigned char *mp3buf; | 30 | unsigned char *audiobuf; |
31 | 31 | ||
32 | void buffer_init(void) | 32 | void buffer_init(void) |
33 | { | 33 | { |
34 | mp3buf = mp3buffer; | 34 | audiobuf = audiobuffer; |
35 | } | 35 | } |
36 | 36 | ||
37 | void *buffer_alloc(size_t size) | 37 | void *buffer_alloc(size_t size) |
38 | { | 38 | { |
39 | void *retval = mp3buf; | 39 | void *retval = audiobuf; |
40 | 40 | ||
41 | mp3buf += size; | 41 | audiobuf += size; |
42 | return retval; | 42 | return retval; |
43 | } | 43 | } |
diff --git a/firmware/export/audio.h b/firmware/export/audio.h index b276490ab3..6490aeaefd 100644 --- a/firmware/export/audio.h +++ b/firmware/export/audio.h | |||
@@ -35,10 +35,10 @@ | |||
35 | 35 | ||
36 | struct audio_debug | 36 | struct audio_debug |
37 | { | 37 | { |
38 | int mp3buflen; | 38 | int audiobuflen; |
39 | int mp3buf_write; | 39 | int audiobuf_write; |
40 | int mp3buf_swapwrite; | 40 | int audiobuf_swapwrite; |
41 | int mp3buf_read; | 41 | int audiobuf_read; |
42 | 42 | ||
43 | int last_dma_chunk_size; | 43 | int last_dma_chunk_size; |
44 | 44 | ||
diff --git a/firmware/export/buffer.h b/firmware/export/buffer.h index c031a4f213..bced85ecff 100644 --- a/firmware/export/buffer.h +++ b/firmware/export/buffer.h | |||
@@ -21,12 +21,12 @@ | |||
21 | 21 | ||
22 | /* defined in linker script */ | 22 | /* defined in linker script */ |
23 | #ifdef SIMULATOR | 23 | #ifdef SIMULATOR |
24 | extern unsigned char *mp3end; | 24 | extern unsigned char *audiobufend; |
25 | #else | 25 | #else |
26 | extern unsigned char mp3end[]; | 26 | extern unsigned char audiobufend[]; |
27 | #endif | 27 | #endif |
28 | 28 | ||
29 | extern unsigned char *mp3buf; | 29 | extern unsigned char *audiobuf; |
30 | 30 | ||
31 | void buffer_init(void); | 31 | void buffer_init(void); |
32 | void *buffer_alloc(size_t size); | 32 | void *buffer_alloc(size_t size); |
diff --git a/firmware/mp3data.c b/firmware/mp3data.c index 7b6da1144f..7a8af34d56 100644 --- a/firmware/mp3data.c +++ b/firmware/mp3data.c | |||
@@ -273,12 +273,12 @@ static int buf_getbyte(int fd, unsigned char *c) | |||
273 | { | 273 | { |
274 | if(fnf_read_index < fnf_buf_len) | 274 | if(fnf_read_index < fnf_buf_len) |
275 | { | 275 | { |
276 | *c = mp3buf[fnf_read_index++]; | 276 | *c = audiobuf[fnf_read_index++]; |
277 | return 1; | 277 | return 1; |
278 | } | 278 | } |
279 | else | 279 | else |
280 | { | 280 | { |
281 | fnf_buf_len = read(fd, mp3buf, mp3end - mp3buf); | 281 | fnf_buf_len = read(fd, audiobuf, audiobufend - audiobuf); |
282 | if(fnf_buf_len < 0) | 282 | if(fnf_buf_len < 0) |
283 | return -1; | 283 | return -1; |
284 | 284 | ||
@@ -286,7 +286,7 @@ static int buf_getbyte(int fd, unsigned char *c) | |||
286 | 286 | ||
287 | if(fnf_buf_len > 0) | 287 | if(fnf_buf_len > 0) |
288 | { | 288 | { |
289 | *c = mp3buf[fnf_read_index++]; | 289 | *c = audiobuf[fnf_read_index++]; |
290 | return 1; | 290 | return 1; |
291 | } | 291 | } |
292 | else | 292 | else |
@@ -302,7 +302,7 @@ static int buf_seek(int fd, int len) | |||
302 | { | 302 | { |
303 | len = fnf_read_index - fnf_buf_len; | 303 | len = fnf_read_index - fnf_buf_len; |
304 | 304 | ||
305 | fnf_buf_len = read(fd, mp3buf, mp3end - mp3buf); | 305 | fnf_buf_len = read(fd, audiobuf, audiobufend - audiobuf); |
306 | if(fnf_buf_len < 0) | 306 | if(fnf_buf_len < 0) |
307 | return -1; | 307 | return -1; |
308 | 308 | ||
@@ -330,7 +330,7 @@ unsigned long buf_find_next_frame(int fd, long *offset, long max_offset, | |||
330 | return __find_next_frame(fd, offset, max_offset, last_header, buf_getbyte); | 330 | return __find_next_frame(fd, offset, max_offset, last_header, buf_getbyte); |
331 | } | 331 | } |
332 | 332 | ||
333 | static int mp3buflen; | 333 | static int audiobuflen; |
334 | static int mem_pos; | 334 | static int mem_pos; |
335 | static int mem_cnt; | 335 | static int mem_cnt; |
336 | static int mem_maxlen; | 336 | static int mem_maxlen; |
@@ -339,8 +339,8 @@ static int mem_getbyte(int dummy, unsigned char *c) | |||
339 | { | 339 | { |
340 | dummy = dummy; | 340 | dummy = dummy; |
341 | 341 | ||
342 | *c = mp3buf[mem_pos++]; | 342 | *c = audiobuf[mem_pos++]; |
343 | if(mem_pos >= mp3buflen) | 343 | if(mem_pos >= audiobuflen) |
344 | mem_pos = 0; | 344 | mem_pos = 0; |
345 | 345 | ||
346 | if(mem_cnt++ >= mem_maxlen) | 346 | if(mem_cnt++ >= mem_maxlen) |
@@ -352,7 +352,7 @@ static int mem_getbyte(int dummy, unsigned char *c) | |||
352 | unsigned long mem_find_next_frame(int startpos, long *offset, long max_offset, | 352 | unsigned long mem_find_next_frame(int startpos, long *offset, long max_offset, |
353 | unsigned long last_header) | 353 | unsigned long last_header) |
354 | { | 354 | { |
355 | mp3buflen = mp3end - mp3buf; | 355 | audiobuflen = audiobufend - audiobuf; |
356 | mem_pos = startpos; | 356 | mem_pos = startpos; |
357 | mem_cnt = 0; | 357 | mem_cnt = 0; |
358 | mem_maxlen = max_offset; | 358 | mem_maxlen = max_offset; |
diff --git a/firmware/mpeg.c b/firmware/mpeg.c index 79265e4452..a7d5480706 100644 --- a/firmware/mpeg.c +++ b/firmware/mpeg.c | |||
@@ -313,10 +313,10 @@ static struct event_queue mpeg_queue; | |||
313 | static long mpeg_stack[(DEFAULT_STACK_SIZE + 0x1000)/sizeof(long)]; | 313 | static long mpeg_stack[(DEFAULT_STACK_SIZE + 0x1000)/sizeof(long)]; |
314 | static const char mpeg_thread_name[] = "mpeg"; | 314 | static const char mpeg_thread_name[] = "mpeg"; |
315 | 315 | ||
316 | static int mp3buflen; | 316 | static int audiobuflen; |
317 | static int mp3buf_write; | 317 | static int audiobuf_write; |
318 | static int mp3buf_swapwrite; | 318 | static int audiobuf_swapwrite; |
319 | static int mp3buf_read; | 319 | static int audiobuf_read; |
320 | 320 | ||
321 | static int last_dma_chunk_size; | 321 | static int last_dma_chunk_size; |
322 | 322 | ||
@@ -410,10 +410,10 @@ void audio_set_buffer_margin(int seconds) | |||
410 | 410 | ||
411 | void audio_get_debugdata(struct audio_debug *dbgdata) | 411 | void audio_get_debugdata(struct audio_debug *dbgdata) |
412 | { | 412 | { |
413 | dbgdata->mp3buflen = mp3buflen; | 413 | dbgdata->audiobuflen = audiobuflen; |
414 | dbgdata->mp3buf_write = mp3buf_write; | 414 | dbgdata->audiobuf_write = audiobuf_write; |
415 | dbgdata->mp3buf_swapwrite = mp3buf_swapwrite; | 415 | dbgdata->audiobuf_swapwrite = audiobuf_swapwrite; |
416 | dbgdata->mp3buf_read = mp3buf_read; | 416 | dbgdata->audiobuf_read = audiobuf_read; |
417 | 417 | ||
418 | dbgdata->last_dma_chunk_size = last_dma_chunk_size; | 418 | dbgdata->last_dma_chunk_size = last_dma_chunk_size; |
419 | 419 | ||
@@ -457,17 +457,17 @@ static int dbg_cnt2us(unsigned int cnt) | |||
457 | 457 | ||
458 | static int get_unplayed_space(void) | 458 | static int get_unplayed_space(void) |
459 | { | 459 | { |
460 | int space = mp3buf_write - mp3buf_read; | 460 | int space = audiobuf_write - audiobuf_read; |
461 | if (space < 0) | 461 | if (space < 0) |
462 | space += mp3buflen; | 462 | space += audiobuflen; |
463 | return space; | 463 | return space; |
464 | } | 464 | } |
465 | 465 | ||
466 | static int get_playable_space(void) | 466 | static int get_playable_space(void) |
467 | { | 467 | { |
468 | int space = mp3buf_swapwrite - mp3buf_read; | 468 | int space = audiobuf_swapwrite - audiobuf_read; |
469 | if (space < 0) | 469 | if (space < 0) |
470 | space += mp3buflen; | 470 | space += audiobuflen; |
471 | return space; | 471 | return space; |
472 | } | 472 | } |
473 | 473 | ||
@@ -479,33 +479,33 @@ static int get_unplayed_space_current_song(void) | |||
479 | { | 479 | { |
480 | int track_offset = (tag_read_idx+1) & MAX_ID3_TAGS_MASK; | 480 | int track_offset = (tag_read_idx+1) & MAX_ID3_TAGS_MASK; |
481 | 481 | ||
482 | space = id3tags[track_offset].mempos - mp3buf_read; | 482 | space = id3tags[track_offset].mempos - audiobuf_read; |
483 | } | 483 | } |
484 | else | 484 | else |
485 | { | 485 | { |
486 | space = mp3buf_write - mp3buf_read; | 486 | space = audiobuf_write - audiobuf_read; |
487 | } | 487 | } |
488 | 488 | ||
489 | if (space < 0) | 489 | if (space < 0) |
490 | space += mp3buflen; | 490 | space += audiobuflen; |
491 | 491 | ||
492 | return space; | 492 | return space; |
493 | } | 493 | } |
494 | 494 | ||
495 | static int get_unswapped_space(void) | 495 | static int get_unswapped_space(void) |
496 | { | 496 | { |
497 | int space = mp3buf_write - mp3buf_swapwrite; | 497 | int space = audiobuf_write - audiobuf_swapwrite; |
498 | if (space < 0) | 498 | if (space < 0) |
499 | space += mp3buflen; | 499 | space += audiobuflen; |
500 | return space; | 500 | return space; |
501 | } | 501 | } |
502 | 502 | ||
503 | #if CONFIG_HWCODEC == MAS3587F | 503 | #if CONFIG_HWCODEC == MAS3587F |
504 | static int get_unsaved_space(void) | 504 | static int get_unsaved_space(void) |
505 | { | 505 | { |
506 | int space = mp3buf_write - mp3buf_read; | 506 | int space = audiobuf_write - audiobuf_read; |
507 | if (space < 0) | 507 | if (space < 0) |
508 | space += mp3buflen; | 508 | space += audiobuflen; |
509 | return space; | 509 | return space; |
510 | } | 510 | } |
511 | #endif /* #if CONFIG_HWCODEC == MAS3587F */ | 511 | #endif /* #if CONFIG_HWCODEC == MAS3587F */ |
@@ -570,8 +570,8 @@ void rec_tick(void) | |||
570 | "mov #30,r3 \n" /* i_max = 30 */ | 570 | "mov #30,r3 \n" /* i_max = 30 */ |
571 | "mov #0x40,r2 \n" /* mask for EOD check */ | 571 | "mov #0x40,r2 \n" /* mask for EOD check */ |
572 | "mov #0,%0 \n" /* i = 0; */ | 572 | "mov #0,%0 \n" /* i = 0; */ |
573 | "add %2,%1 \n" /* mp3buf_write -> cur_addr */ | 573 | "add %2,%1 \n" /* audiobuf_write -> cur_addr */ |
574 | "add %2,%3 \n" /* mp3buflen -> end_addr */ | 574 | "add %2,%3 \n" /* audiobuflen -> end_addr */ |
575 | "bra .r_start \n" | 575 | "bra .r_start \n" |
576 | "mov.b @%4,r1 \n" /* read PBDR (first time) */ | 576 | "mov.b @%4,r1 \n" /* read PBDR (first time) */ |
577 | 577 | ||
@@ -607,13 +607,13 @@ void rec_tick(void) | |||
607 | "bt .r_loop \n" /* yes: next pass */ | 607 | "bt .r_loop \n" /* yes: next pass */ |
608 | 608 | ||
609 | ".r_end: \n" | 609 | ".r_end: \n" |
610 | "sub %2,%1 \n" /* cur_addr -> mp3buf_write */ | 610 | "sub %2,%1 \n" /* cur_addr -> audiobuf_write */ |
611 | : /* outputs */ | 611 | : /* outputs */ |
612 | /* %0 */ "=&r"(i), | 612 | /* %0 */ "=&r"(i), |
613 | /* %1, in & out */ "+r"(mp3buf_write) | 613 | /* %1, in & out */ "+r"(audiobuf_write) |
614 | : /* inputs */ | 614 | : /* inputs */ |
615 | /* %2 */ "r"(mp3buf), | 615 | /* %2 */ "r"(audiobuf), |
616 | /* %3 */ "r"(mp3buflen), | 616 | /* %3 */ "r"(audiobuflen), |
617 | /* %4 */ "r"(PBDR_ADDR), | 617 | /* %4 */ "r"(PBDR_ADDR), |
618 | /* %5 = r0 */ "z"(&PADRH), | 618 | /* %5 = r0 */ "z"(&PADRH), |
619 | /* %6 */ "r"(0x4000000) | 619 | /* %6 */ "r"(0x4000000) |
@@ -634,7 +634,7 @@ void rec_tick(void) | |||
634 | prerecord_timeout = current_tick + HZ; | 634 | prerecord_timeout = current_tick + HZ; |
635 | 635 | ||
636 | /* Store the write pointer every second */ | 636 | /* Store the write pointer every second */ |
637 | prerecord_buffer[prerecord_index++] = mp3buf_write; | 637 | prerecord_buffer[prerecord_index++] = audiobuf_write; |
638 | 638 | ||
639 | /* Wrap if necessary */ | 639 | /* Wrap if necessary */ |
640 | if(prerecord_index == prerecording_max_seconds) | 640 | if(prerecord_index == prerecording_max_seconds) |
@@ -649,11 +649,11 @@ void rec_tick(void) | |||
649 | { | 649 | { |
650 | /* Signal to save the data if we are running out of buffer | 650 | /* Signal to save the data if we are running out of buffer |
651 | space */ | 651 | space */ |
652 | num_bytes = mp3buf_write - mp3buf_read; | 652 | num_bytes = audiobuf_write - audiobuf_read; |
653 | if(num_bytes < 0) | 653 | if(num_bytes < 0) |
654 | num_bytes += mp3buflen; | 654 | num_bytes += audiobuflen; |
655 | 655 | ||
656 | if(mp3buflen - num_bytes < MPEG_RECORDING_LOW_WATER && !saving) | 656 | if(audiobuflen - num_bytes < MPEG_RECORDING_LOW_WATER && !saving) |
657 | { | 657 | { |
658 | saving = true; | 658 | saving = true; |
659 | queue_post(&mpeg_queue, MPEG_SAVE_DATA, 0); | 659 | queue_post(&mpeg_queue, MPEG_SAVE_DATA, 0); |
@@ -673,10 +673,10 @@ void playback_tick(void) | |||
673 | 673 | ||
674 | static void reset_mp3_buffer(void) | 674 | static void reset_mp3_buffer(void) |
675 | { | 675 | { |
676 | mp3buf_read = 0; | 676 | audiobuf_read = 0; |
677 | mp3buf_write = 0; | 677 | audiobuf_write = 0; |
678 | mp3buf_swapwrite = 0; | 678 | audiobuf_swapwrite = 0; |
679 | lowest_watermark_level = mp3buflen; | 679 | lowest_watermark_level = audiobuflen; |
680 | } | 680 | } |
681 | 681 | ||
682 | /* DMA transfer end interrupt callback */ | 682 | /* DMA transfer end interrupt callback */ |
@@ -688,14 +688,14 @@ static void transfer_end(unsigned char** ppbuf, int* psize) | |||
688 | int space_until_end_of_buffer; | 688 | int space_until_end_of_buffer; |
689 | int track_offset = (tag_read_idx+1) & MAX_ID3_TAGS_MASK; | 689 | int track_offset = (tag_read_idx+1) & MAX_ID3_TAGS_MASK; |
690 | 690 | ||
691 | mp3buf_read += last_dma_chunk_size; | 691 | audiobuf_read += last_dma_chunk_size; |
692 | if(mp3buf_read >= mp3buflen) | 692 | if(audiobuf_read >= audiobuflen) |
693 | mp3buf_read = 0; | 693 | audiobuf_read = 0; |
694 | 694 | ||
695 | /* First, check if we are on a track boundary */ | 695 | /* First, check if we are on a track boundary */ |
696 | if (num_tracks_in_memory() > 1) | 696 | if (num_tracks_in_memory() > 1) |
697 | { | 697 | { |
698 | if (mp3buf_read == id3tags[track_offset].mempos) | 698 | if (audiobuf_read == id3tags[track_offset].mempos) |
699 | { | 699 | { |
700 | queue_post(&mpeg_queue, MPEG_TRACK_CHANGE, 0); | 700 | queue_post(&mpeg_queue, MPEG_TRACK_CHANGE, 0); |
701 | track_offset = (track_offset+1) & MAX_ID3_TAGS_MASK; | 701 | track_offset = (track_offset+1) & MAX_ID3_TAGS_MASK; |
@@ -704,7 +704,7 @@ static void transfer_end(unsigned char** ppbuf, int* psize) | |||
704 | 704 | ||
705 | unplayed_space_left = get_unplayed_space(); | 705 | unplayed_space_left = get_unplayed_space(); |
706 | 706 | ||
707 | space_until_end_of_buffer = mp3buflen - mp3buf_read; | 707 | space_until_end_of_buffer = audiobuflen - audiobuf_read; |
708 | 708 | ||
709 | if(!filling && unplayed_space_left < low_watermark) | 709 | if(!filling && unplayed_space_left < low_watermark) |
710 | { | 710 | { |
@@ -722,18 +722,18 @@ static void transfer_end(unsigned char** ppbuf, int* psize) | |||
722 | if (num_tracks_in_memory() > 1) | 722 | if (num_tracks_in_memory() > 1) |
723 | { | 723 | { |
724 | /* will we move across the track boundary? */ | 724 | /* will we move across the track boundary? */ |
725 | if (( mp3buf_read < id3tags[track_offset].mempos ) && | 725 | if (( audiobuf_read < id3tags[track_offset].mempos ) && |
726 | ((mp3buf_read+last_dma_chunk_size) > | 726 | ((audiobuf_read+last_dma_chunk_size) > |
727 | id3tags[track_offset].mempos )) | 727 | id3tags[track_offset].mempos )) |
728 | { | 728 | { |
729 | /* Make sure that we end exactly on the boundary */ | 729 | /* Make sure that we end exactly on the boundary */ |
730 | last_dma_chunk_size = id3tags[track_offset].mempos | 730 | last_dma_chunk_size = id3tags[track_offset].mempos |
731 | - mp3buf_read; | 731 | - audiobuf_read; |
732 | } | 732 | } |
733 | } | 733 | } |
734 | 734 | ||
735 | *psize = last_dma_chunk_size & 0xffff; | 735 | *psize = last_dma_chunk_size & 0xffff; |
736 | *ppbuf = mp3buf + mp3buf_read; | 736 | *ppbuf = audiobuf + audiobuf_read; |
737 | id3tags[tag_read_idx].id3.offset += last_dma_chunk_size; | 737 | id3tags[tag_read_idx].id3.offset += last_dma_chunk_size; |
738 | 738 | ||
739 | /* Update the watermark debug level */ | 739 | /* Update the watermark debug level */ |
@@ -785,7 +785,7 @@ static int add_track_to_tag_list(const char *filename) | |||
785 | DEBUGF("Bad mp3\n"); | 785 | DEBUGF("Bad mp3\n"); |
786 | return -1; | 786 | return -1; |
787 | } | 787 | } |
788 | id3tags[tag_write_idx].mempos = mp3buf_write; | 788 | id3tags[tag_write_idx].mempos = audiobuf_write; |
789 | id3tags[tag_write_idx].id3.elapsed = 0; | 789 | id3tags[tag_write_idx].id3.elapsed = 0; |
790 | 790 | ||
791 | tag_write_idx = (tag_write_idx+1) & MAX_ID3_TAGS_MASK; | 791 | tag_write_idx = (tag_write_idx+1) & MAX_ID3_TAGS_MASK; |
@@ -932,9 +932,9 @@ static void start_playback_if_ready(void) | |||
932 | { | 932 | { |
933 | int playable_space; | 933 | int playable_space; |
934 | 934 | ||
935 | playable_space = mp3buf_swapwrite - mp3buf_read; | 935 | playable_space = audiobuf_swapwrite - audiobuf_read; |
936 | if(playable_space < 0) | 936 | if(playable_space < 0) |
937 | playable_space += mp3buflen; | 937 | playable_space += audiobuflen; |
938 | 938 | ||
939 | /* See if we have started playing yet. If not, do it. */ | 939 | /* See if we have started playing yet. If not, do it. */ |
940 | if(play_pending || dma_underrun) | 940 | if(play_pending || dma_underrun) |
@@ -950,7 +950,7 @@ static void start_playback_if_ready(void) | |||
950 | playing = true; | 950 | playing = true; |
951 | 951 | ||
952 | last_dma_chunk_size = MIN(0x2000, get_unplayed_space_current_song()); | 952 | last_dma_chunk_size = MIN(0x2000, get_unplayed_space_current_song()); |
953 | mp3_play_data(mp3buf + mp3buf_read, last_dma_chunk_size, transfer_end); | 953 | mp3_play_data(audiobuf + audiobuf_read, last_dma_chunk_size, transfer_end); |
954 | dma_underrun = false; | 954 | dma_underrun = false; |
955 | 955 | ||
956 | if (!paused) | 956 | if (!paused) |
@@ -989,19 +989,19 @@ static bool swap_one_chunk(void) | |||
989 | amount_to_swap = MIN(MPEG_SWAP_CHUNKSIZE, free_space_left); | 989 | amount_to_swap = MIN(MPEG_SWAP_CHUNKSIZE, free_space_left); |
990 | } | 990 | } |
991 | 991 | ||
992 | if(mp3buf_write < mp3buf_swapwrite) | 992 | if(audiobuf_write < audiobuf_swapwrite) |
993 | amount_to_swap = MIN(mp3buflen - mp3buf_swapwrite, | 993 | amount_to_swap = MIN(audiobuflen - audiobuf_swapwrite, |
994 | amount_to_swap); | 994 | amount_to_swap); |
995 | else | 995 | else |
996 | amount_to_swap = MIN(mp3buf_write - mp3buf_swapwrite, | 996 | amount_to_swap = MIN(audiobuf_write - audiobuf_swapwrite, |
997 | amount_to_swap); | 997 | amount_to_swap); |
998 | 998 | ||
999 | bitswap(mp3buf + mp3buf_swapwrite, amount_to_swap); | 999 | bitswap(audiobuf + audiobuf_swapwrite, amount_to_swap); |
1000 | 1000 | ||
1001 | mp3buf_swapwrite += amount_to_swap; | 1001 | audiobuf_swapwrite += amount_to_swap; |
1002 | if(mp3buf_swapwrite >= mp3buflen) | 1002 | if(audiobuf_swapwrite >= audiobuflen) |
1003 | { | 1003 | { |
1004 | mp3buf_swapwrite = 0; | 1004 | audiobuf_swapwrite = 0; |
1005 | } | 1005 | } |
1006 | 1006 | ||
1007 | return true; | 1007 | return true; |
@@ -1058,7 +1058,7 @@ static void mpeg_thread(void) | |||
1058 | else | 1058 | else |
1059 | { | 1059 | { |
1060 | DEBUGF("S R:%x W:%x SW:%x\n", | 1060 | DEBUGF("S R:%x W:%x SW:%x\n", |
1061 | mp3buf_read, mp3buf_write, mp3buf_swapwrite); | 1061 | audiobuf_read, audiobuf_write, audiobuf_swapwrite); |
1062 | queue_wait(&mpeg_queue, &ev); | 1062 | queue_wait(&mpeg_queue, &ev); |
1063 | } | 1063 | } |
1064 | 1064 | ||
@@ -1169,9 +1169,9 @@ static void mpeg_thread(void) | |||
1169 | mp3_play_pause(false); | 1169 | mp3_play_pause(false); |
1170 | 1170 | ||
1171 | track_change(); | 1171 | track_change(); |
1172 | mp3buf_read = id3tags[tag_read_idx].mempos; | 1172 | audiobuf_read = id3tags[tag_read_idx].mempos; |
1173 | last_dma_chunk_size = MIN(0x2000, get_unplayed_space_current_song()); | 1173 | last_dma_chunk_size = MIN(0x2000, get_unplayed_space_current_song()); |
1174 | mp3_play_data(mp3buf + mp3buf_read, last_dma_chunk_size, transfer_end); | 1174 | mp3_play_data(audiobuf + audiobuf_read, last_dma_chunk_size, transfer_end); |
1175 | dma_underrun = false; | 1175 | dma_underrun = false; |
1176 | last_dma_tick = current_tick; | 1176 | last_dma_tick = current_tick; |
1177 | 1177 | ||
@@ -1186,7 +1186,7 @@ static void mpeg_thread(void) | |||
1186 | } else if(unswapped_space_left && | 1186 | } else if(unswapped_space_left && |
1187 | unswapped_space_left > unplayed_space_left) { | 1187 | unswapped_space_left > unplayed_space_left) { |
1188 | /* Stop swapping the data from the previous file */ | 1188 | /* Stop swapping the data from the previous file */ |
1189 | mp3buf_swapwrite = mp3buf_read; | 1189 | audiobuf_swapwrite = audiobuf_read; |
1190 | play_pending = true; | 1190 | play_pending = true; |
1191 | } else { | 1191 | } else { |
1192 | playing = true; | 1192 | playing = true; |
@@ -1304,16 +1304,16 @@ static void mpeg_thread(void) | |||
1304 | 1304 | ||
1305 | diffpos = curpos - newpos; | 1305 | diffpos = curpos - newpos; |
1306 | 1306 | ||
1307 | if(!filling && diffpos >= 0 && diffpos < mp3buflen) | 1307 | if(!filling && diffpos >= 0 && diffpos < audiobuflen) |
1308 | { | 1308 | { |
1309 | int unplayed_space_left, unswapped_space_left; | 1309 | int unplayed_space_left, unswapped_space_left; |
1310 | 1310 | ||
1311 | /* We are changing to a position that's already in | 1311 | /* We are changing to a position that's already in |
1312 | memory, so we just move the DMA read pointer. */ | 1312 | memory, so we just move the DMA read pointer. */ |
1313 | mp3buf_read = mp3buf_write - diffpos; | 1313 | audiobuf_read = audiobuf_write - diffpos; |
1314 | if (mp3buf_read < 0) | 1314 | if (audiobuf_read < 0) |
1315 | { | 1315 | { |
1316 | mp3buf_read += mp3buflen; | 1316 | audiobuf_read += audiobuflen; |
1317 | } | 1317 | } |
1318 | 1318 | ||
1319 | unplayed_space_left = get_unplayed_space(); | 1319 | unplayed_space_left = get_unplayed_space(); |
@@ -1328,7 +1328,7 @@ static void mpeg_thread(void) | |||
1328 | if (unswapped_space_left > unplayed_space_left) | 1328 | if (unswapped_space_left > unplayed_space_left) |
1329 | { | 1329 | { |
1330 | DEBUGF("Moved swapwrite\n"); | 1330 | DEBUGF("Moved swapwrite\n"); |
1331 | mp3buf_swapwrite = mp3buf_read; | 1331 | audiobuf_swapwrite = audiobuf_read; |
1332 | play_pending = true; | 1332 | play_pending = true; |
1333 | } | 1333 | } |
1334 | 1334 | ||
@@ -1344,7 +1344,7 @@ static void mpeg_thread(void) | |||
1344 | /* resume will start at new position */ | 1344 | /* resume will start at new position */ |
1345 | last_dma_chunk_size = | 1345 | last_dma_chunk_size = |
1346 | MIN(0x2000, get_unplayed_space_current_song()); | 1346 | MIN(0x2000, get_unplayed_space_current_song()); |
1347 | mp3_play_data(mp3buf + mp3buf_read, | 1347 | mp3_play_data(audiobuf + audiobuf_read, |
1348 | last_dma_chunk_size, transfer_end); | 1348 | last_dma_chunk_size, transfer_end); |
1349 | dma_underrun = false; | 1349 | dma_underrun = false; |
1350 | } | 1350 | } |
@@ -1402,12 +1402,12 @@ static void mpeg_thread(void) | |||
1402 | int next = (tag_read_idx+1) & MAX_ID3_TAGS_MASK; | 1402 | int next = (tag_read_idx+1) & MAX_ID3_TAGS_MASK; |
1403 | 1403 | ||
1404 | /* Reset the buffer */ | 1404 | /* Reset the buffer */ |
1405 | mp3buf_write = id3tags[next].mempos; | 1405 | audiobuf_write = id3tags[next].mempos; |
1406 | 1406 | ||
1407 | /* Reset swapwrite unless we're still swapping current | 1407 | /* Reset swapwrite unless we're still swapping current |
1408 | track */ | 1408 | track */ |
1409 | if (get_unplayed_space() <= get_playable_space()) | 1409 | if (get_unplayed_space() <= get_playable_space()) |
1410 | mp3buf_swapwrite = mp3buf_write; | 1410 | audiobuf_swapwrite = audiobuf_write; |
1411 | 1411 | ||
1412 | close(mpeg_file); | 1412 | close(mpeg_file); |
1413 | remove_all_non_current_tags(); | 1413 | remove_all_non_current_tags(); |
@@ -1430,13 +1430,13 @@ static void mpeg_thread(void) | |||
1430 | } | 1430 | } |
1431 | 1431 | ||
1432 | case MPEG_NEED_DATA: | 1432 | case MPEG_NEED_DATA: |
1433 | free_space_left = mp3buf_read - mp3buf_write; | 1433 | free_space_left = audiobuf_read - audiobuf_write; |
1434 | 1434 | ||
1435 | /* We interpret 0 as "empty buffer" */ | 1435 | /* We interpret 0 as "empty buffer" */ |
1436 | if(free_space_left <= 0) | 1436 | if(free_space_left <= 0) |
1437 | free_space_left = mp3buflen + free_space_left; | 1437 | free_space_left = audiobuflen + free_space_left; |
1438 | 1438 | ||
1439 | unplayed_space_left = mp3buflen - free_space_left; | 1439 | unplayed_space_left = audiobuflen - free_space_left; |
1440 | 1440 | ||
1441 | /* Make sure that we don't fill the entire buffer */ | 1441 | /* Make sure that we don't fill the entire buffer */ |
1442 | free_space_left -= MPEG_HIGH_WATER; | 1442 | free_space_left -= MPEG_HIGH_WATER; |
@@ -1458,7 +1458,7 @@ static void mpeg_thread(void) | |||
1458 | amount_to_read = free_space_left; | 1458 | amount_to_read = free_space_left; |
1459 | 1459 | ||
1460 | /* Don't read more than until the end of the buffer */ | 1460 | /* Don't read more than until the end of the buffer */ |
1461 | amount_to_read = MIN(mp3buflen - mp3buf_write, amount_to_read); | 1461 | amount_to_read = MIN(audiobuflen - audiobuf_write, amount_to_read); |
1462 | #if MEM == 8 | 1462 | #if MEM == 8 |
1463 | amount_to_read = MIN(0x100000, amount_to_read); | 1463 | amount_to_read = MIN(0x100000, amount_to_read); |
1464 | #endif /* #if MEM == 8 */ | 1464 | #endif /* #if MEM == 8 */ |
@@ -1471,7 +1471,7 @@ static void mpeg_thread(void) | |||
1471 | { | 1471 | { |
1472 | DEBUGF("R\n"); | 1472 | DEBUGF("R\n"); |
1473 | t1 = current_tick; | 1473 | t1 = current_tick; |
1474 | len = read(mpeg_file, mp3buf+mp3buf_write, amount_to_read); | 1474 | len = read(mpeg_file, audiobuf+audiobuf_write, amount_to_read); |
1475 | if(len > 0) | 1475 | if(len > 0) |
1476 | { | 1476 | { |
1477 | t2 = current_tick; | 1477 | t2 = current_tick; |
@@ -1482,17 +1482,17 @@ static void mpeg_thread(void) | |||
1482 | data */ | 1482 | data */ |
1483 | if (len < amount_to_read) | 1483 | if (len < amount_to_read) |
1484 | { | 1484 | { |
1485 | int tagptr = mp3buf_write + len - 128; | 1485 | int tagptr = audiobuf_write + len - 128; |
1486 | int i; | 1486 | int i; |
1487 | char *tag = "TAG"; | 1487 | char *tag = "TAG"; |
1488 | int taglen = 128; | 1488 | int taglen = 128; |
1489 | 1489 | ||
1490 | for(i = 0;i < 3;i++) | 1490 | for(i = 0;i < 3;i++) |
1491 | { | 1491 | { |
1492 | if(tagptr >= mp3buflen) | 1492 | if(tagptr >= audiobuflen) |
1493 | tagptr -= mp3buflen; | 1493 | tagptr -= audiobuflen; |
1494 | 1494 | ||
1495 | if(mp3buf[tagptr] != tag[i]) | 1495 | if(audiobuf[tagptr] != tag[i]) |
1496 | taglen = 0; | 1496 | taglen = 0; |
1497 | 1497 | ||
1498 | tagptr++; | 1498 | tagptr++; |
@@ -1512,11 +1512,11 @@ static void mpeg_thread(void) | |||
1512 | } | 1512 | } |
1513 | } | 1513 | } |
1514 | 1514 | ||
1515 | mp3buf_write += len; | 1515 | audiobuf_write += len; |
1516 | 1516 | ||
1517 | if(mp3buf_write >= mp3buflen) | 1517 | if(audiobuf_write >= audiobuflen) |
1518 | { | 1518 | { |
1519 | mp3buf_write = 0; | 1519 | audiobuf_write = 0; |
1520 | DEBUGF("W\n"); | 1520 | DEBUGF("W\n"); |
1521 | } | 1521 | } |
1522 | 1522 | ||
@@ -1597,48 +1597,48 @@ static void mpeg_thread(void) | |||
1597 | startpos = prerecord_buffer[startpos]; | 1597 | startpos = prerecord_buffer[startpos]; |
1598 | 1598 | ||
1599 | DEBUGF("Start looking at address %x (%x)\n", | 1599 | DEBUGF("Start looking at address %x (%x)\n", |
1600 | mp3buf+startpos, startpos); | 1600 | audiobuf+startpos, startpos); |
1601 | 1601 | ||
1602 | saved_header = mpeg_get_last_header(); | 1602 | saved_header = mpeg_get_last_header(); |
1603 | 1603 | ||
1604 | mem_find_next_frame(startpos, &offset, 5000, | 1604 | mem_find_next_frame(startpos, &offset, 5000, |
1605 | saved_header); | 1605 | saved_header); |
1606 | 1606 | ||
1607 | mp3buf_read = startpos + offset; | 1607 | audiobuf_read = startpos + offset; |
1608 | 1608 | ||
1609 | DEBUGF("New mp3buf_read address: %x (%x)\n", | 1609 | DEBUGF("New audiobuf_read address: %x (%x)\n", |
1610 | mp3buf+mp3buf_read, mp3buf_read); | 1610 | audiobuf+audiobuf_read, audiobuf_read); |
1611 | 1611 | ||
1612 | /* Make room for headers */ | 1612 | /* Make room for headers */ |
1613 | mp3buf_read -= MPEG_RESERVED_HEADER_SPACE; | 1613 | audiobuf_read -= MPEG_RESERVED_HEADER_SPACE; |
1614 | if(mp3buf_read < 0) | 1614 | if(audiobuf_read < 0) |
1615 | { | 1615 | { |
1616 | /* Clear the bottom half */ | 1616 | /* Clear the bottom half */ |
1617 | memset(mp3buf, 0, | 1617 | memset(audiobuf, 0, |
1618 | mp3buf_read + MPEG_RESERVED_HEADER_SPACE); | 1618 | audiobuf_read + MPEG_RESERVED_HEADER_SPACE); |
1619 | 1619 | ||
1620 | /* And the top half */ | 1620 | /* And the top half */ |
1621 | mp3buf_read += mp3buflen; | 1621 | audiobuf_read += audiobuflen; |
1622 | memset(mp3buf + mp3buf_read, 0, | 1622 | memset(audiobuf + audiobuf_read, 0, |
1623 | mp3buflen - mp3buf_read); | 1623 | audiobuflen - audiobuf_read); |
1624 | } | 1624 | } |
1625 | else | 1625 | else |
1626 | { | 1626 | { |
1627 | memset(mp3buf + mp3buf_read, 0, | 1627 | memset(audiobuf + audiobuf_read, 0, |
1628 | MPEG_RESERVED_HEADER_SPACE); | 1628 | MPEG_RESERVED_HEADER_SPACE); |
1629 | } | 1629 | } |
1630 | 1630 | ||
1631 | /* Copy the empty ID3 header */ | 1631 | /* Copy the empty ID3 header */ |
1632 | startpos = mp3buf_read; | 1632 | startpos = audiobuf_read; |
1633 | for(i = 0;i < (int)sizeof(empty_id3_header);i++) | 1633 | for(i = 0;i < (int)sizeof(empty_id3_header);i++) |
1634 | { | 1634 | { |
1635 | mp3buf[startpos++] = empty_id3_header[i]; | 1635 | audiobuf[startpos++] = empty_id3_header[i]; |
1636 | if(startpos == mp3buflen) | 1636 | if(startpos == audiobuflen) |
1637 | startpos = 0; | 1637 | startpos = 0; |
1638 | } | 1638 | } |
1639 | 1639 | ||
1640 | DEBUGF("New mp3buf_read address (reservation): %x\n", | 1640 | DEBUGF("New audiobuf_read address (reservation): %x\n", |
1641 | mp3buf+mp3buf_read); | 1641 | audiobuf+audiobuf_read); |
1642 | 1642 | ||
1643 | DEBUGF("Prerecording...\n"); | 1643 | DEBUGF("Prerecording...\n"); |
1644 | } | 1644 | } |
@@ -1650,11 +1650,11 @@ static void mpeg_thread(void) | |||
1650 | 1650 | ||
1651 | /* Advance the write pointer to make | 1651 | /* Advance the write pointer to make |
1652 | room for an ID3 tag plus a VBR header */ | 1652 | room for an ID3 tag plus a VBR header */ |
1653 | mp3buf_write = MPEG_RESERVED_HEADER_SPACE; | 1653 | audiobuf_write = MPEG_RESERVED_HEADER_SPACE; |
1654 | memset(mp3buf, 0, MPEG_RESERVED_HEADER_SPACE); | 1654 | memset(audiobuf, 0, MPEG_RESERVED_HEADER_SPACE); |
1655 | 1655 | ||
1656 | /* Insert the ID3 header */ | 1656 | /* Insert the ID3 header */ |
1657 | memcpy(mp3buf, empty_id3_header, | 1657 | memcpy(audiobuf, empty_id3_header, |
1658 | sizeof(empty_id3_header)); | 1658 | sizeof(empty_id3_header)); |
1659 | 1659 | ||
1660 | DEBUGF("Recording...\n"); | 1660 | DEBUGF("Recording...\n"); |
@@ -1711,14 +1711,14 @@ static void mpeg_thread(void) | |||
1711 | /* saved_header is saved right before stopping | 1711 | /* saved_header is saved right before stopping |
1712 | the MAS */ | 1712 | the MAS */ |
1713 | framelen = create_xing_header(mpeg_file, 0, | 1713 | framelen = create_xing_header(mpeg_file, 0, |
1714 | num_rec_bytes, mp3buf, | 1714 | num_rec_bytes, audiobuf, |
1715 | num_recorded_frames, | 1715 | num_recorded_frames, |
1716 | saved_header, NULL, | 1716 | saved_header, NULL, |
1717 | false); | 1717 | false); |
1718 | 1718 | ||
1719 | lseek(mpeg_file, MPEG_RESERVED_HEADER_SPACE-framelen, | 1719 | lseek(mpeg_file, MPEG_RESERVED_HEADER_SPACE-framelen, |
1720 | SEEK_SET); | 1720 | SEEK_SET); |
1721 | write(mpeg_file, mp3buf, framelen); | 1721 | write(mpeg_file, audiobuf, framelen); |
1722 | close(mpeg_file); | 1722 | close(mpeg_file); |
1723 | } | 1723 | } |
1724 | mpeg_file = -1; | 1724 | mpeg_file = -1; |
@@ -1760,9 +1760,9 @@ static void mpeg_thread(void) | |||
1760 | if(amount_to_save >= 1800) | 1760 | if(amount_to_save >= 1800) |
1761 | { | 1761 | { |
1762 | /* Now find a frame boundary to split at */ | 1762 | /* Now find a frame boundary to split at */ |
1763 | startpos = mp3buf_write - 1800; | 1763 | startpos = audiobuf_write - 1800; |
1764 | if(startpos < 0) | 1764 | if(startpos < 0) |
1765 | startpos += mp3buflen; | 1765 | startpos += audiobuflen; |
1766 | 1766 | ||
1767 | rc = mem_find_next_frame(startpos, &offset, 1800, | 1767 | rc = mem_find_next_frame(startpos, &offset, 1800, |
1768 | saved_header); | 1768 | saved_header); |
@@ -1771,28 +1771,28 @@ static void mpeg_thread(void) | |||
1771 | /* offset will now contain the number of bytes to | 1771 | /* offset will now contain the number of bytes to |
1772 | add to startpos to find the frame boundary */ | 1772 | add to startpos to find the frame boundary */ |
1773 | startpos += offset; | 1773 | startpos += offset; |
1774 | if(startpos >= mp3buflen) | 1774 | if(startpos >= audiobuflen) |
1775 | startpos -= mp3buflen; | 1775 | startpos -= audiobuflen; |
1776 | } | 1776 | } |
1777 | else | 1777 | else |
1778 | { | 1778 | { |
1779 | /* No header found. Let's save the whole buffer. */ | 1779 | /* No header found. Let's save the whole buffer. */ |
1780 | startpos = mp3buf_write; | 1780 | startpos = audiobuf_write; |
1781 | } | 1781 | } |
1782 | } | 1782 | } |
1783 | else | 1783 | else |
1784 | { | 1784 | { |
1785 | /* Too few bytes recorded, timeout */ | 1785 | /* Too few bytes recorded, timeout */ |
1786 | startpos = mp3buf_write; | 1786 | startpos = audiobuf_write; |
1787 | } | 1787 | } |
1788 | 1788 | ||
1789 | amount_to_save = startpos - mp3buf_read; | 1789 | amount_to_save = startpos - audiobuf_read; |
1790 | if(amount_to_save < 0) | 1790 | if(amount_to_save < 0) |
1791 | amount_to_save += mp3buflen; | 1791 | amount_to_save += audiobuflen; |
1792 | 1792 | ||
1793 | /* First save up to the end of the buffer */ | 1793 | /* First save up to the end of the buffer */ |
1794 | writelen = MIN(amount_to_save, | 1794 | writelen = MIN(amount_to_save, |
1795 | mp3buflen - mp3buf_read); | 1795 | audiobuflen - audiobuf_read); |
1796 | 1796 | ||
1797 | if (mpeg_file < 0) /* delayed file opening */ | 1797 | if (mpeg_file < 0) /* delayed file opening */ |
1798 | { | 1798 | { |
@@ -1804,7 +1804,7 @@ static void mpeg_thread(void) | |||
1804 | 1804 | ||
1805 | if(writelen) | 1805 | if(writelen) |
1806 | { | 1806 | { |
1807 | rc = write(mpeg_file, mp3buf + mp3buf_read, writelen); | 1807 | rc = write(mpeg_file, audiobuf + audiobuf_read, writelen); |
1808 | if(rc < 0) | 1808 | if(rc < 0) |
1809 | { | 1809 | { |
1810 | if(errno == ENOSPC) | 1810 | if(errno == ENOSPC) |
@@ -1826,7 +1826,7 @@ static void mpeg_thread(void) | |||
1826 | writelen = amount_to_save - writelen; | 1826 | writelen = amount_to_save - writelen; |
1827 | if(writelen) | 1827 | if(writelen) |
1828 | { | 1828 | { |
1829 | rc = write(mpeg_file, mp3buf, writelen); | 1829 | rc = write(mpeg_file, audiobuf, writelen); |
1830 | if(rc < 0) | 1830 | if(rc < 0) |
1831 | { | 1831 | { |
1832 | if(errno == ENOSPC) | 1832 | if(errno == ENOSPC) |
@@ -1845,9 +1845,9 @@ static void mpeg_thread(void) | |||
1845 | } | 1845 | } |
1846 | 1846 | ||
1847 | /* Advance the buffer pointers */ | 1847 | /* Advance the buffer pointers */ |
1848 | mp3buf_read += amount_to_save; | 1848 | audiobuf_read += amount_to_save; |
1849 | if(mp3buf_read >= mp3buflen) | 1849 | if(audiobuf_read >= audiobuflen) |
1850 | mp3buf_read -= mp3buflen; | 1850 | audiobuf_read -= audiobuflen; |
1851 | 1851 | ||
1852 | /* Close the current file */ | 1852 | /* Close the current file */ |
1853 | rc = close(mpeg_file); | 1853 | rc = close(mpeg_file); |
@@ -1867,23 +1867,23 @@ static void mpeg_thread(void) | |||
1867 | wrapped */ | 1867 | wrapped */ |
1868 | if(amount_to_save < 0) | 1868 | if(amount_to_save < 0) |
1869 | { | 1869 | { |
1870 | amount_to_save += mp3buflen; | 1870 | amount_to_save += audiobuflen; |
1871 | } | 1871 | } |
1872 | 1872 | ||
1873 | DEBUGF("r: %x w: %x\n", mp3buf_read, mp3buf_write); | 1873 | DEBUGF("r: %x w: %x\n", audiobuf_read, audiobuf_write); |
1874 | DEBUGF("ats: %x\n", amount_to_save); | 1874 | DEBUGF("ats: %x\n", amount_to_save); |
1875 | 1875 | ||
1876 | /* Save data only if the buffer is getting full, | 1876 | /* Save data only if the buffer is getting full, |
1877 | or if we should stop recording */ | 1877 | or if we should stop recording */ |
1878 | if(amount_to_save) | 1878 | if(amount_to_save) |
1879 | { | 1879 | { |
1880 | if(mp3buflen - | 1880 | if(audiobuflen - |
1881 | amount_to_save < MPEG_RECORDING_LOW_WATER || | 1881 | amount_to_save < MPEG_RECORDING_LOW_WATER || |
1882 | stop_pending) | 1882 | stop_pending) |
1883 | { | 1883 | { |
1884 | /* Only save up to the end of the buffer */ | 1884 | /* Only save up to the end of the buffer */ |
1885 | writelen = MIN(amount_to_save, | 1885 | writelen = MIN(amount_to_save, |
1886 | mp3buflen - mp3buf_read); | 1886 | audiobuflen - audiobuf_read); |
1887 | 1887 | ||
1888 | DEBUGF("wrl: %x\n", writelen); | 1888 | DEBUGF("wrl: %x\n", writelen); |
1889 | 1889 | ||
@@ -1896,7 +1896,7 @@ static void mpeg_thread(void) | |||
1896 | panicf("recfile: %d", mpeg_file); | 1896 | panicf("recfile: %d", mpeg_file); |
1897 | } | 1897 | } |
1898 | 1898 | ||
1899 | rc = write(mpeg_file, mp3buf + mp3buf_read, | 1899 | rc = write(mpeg_file, audiobuf + audiobuf_read, |
1900 | writelen); | 1900 | writelen); |
1901 | 1901 | ||
1902 | if(rc < 0) | 1902 | if(rc < 0) |
@@ -1914,9 +1914,9 @@ static void mpeg_thread(void) | |||
1914 | } | 1914 | } |
1915 | } | 1915 | } |
1916 | 1916 | ||
1917 | mp3buf_read += amount_to_save; | 1917 | audiobuf_read += amount_to_save; |
1918 | if(mp3buf_read >= mp3buflen) | 1918 | if(audiobuf_read >= audiobuflen) |
1919 | mp3buf_read = 0; | 1919 | audiobuf_read = 0; |
1920 | 1920 | ||
1921 | rc = fsync(mpeg_file); | 1921 | rc = fsync(mpeg_file); |
1922 | if(rc < 0) | 1922 | if(rc < 0) |
@@ -2468,9 +2468,9 @@ unsigned long mpeg_num_recorded_bytes(void) | |||
2468 | if(index < 0) | 2468 | if(index < 0) |
2469 | index += prerecording_max_seconds; | 2469 | index += prerecording_max_seconds; |
2470 | 2470 | ||
2471 | num_bytes = mp3buf_write - prerecord_buffer[index]; | 2471 | num_bytes = audiobuf_write - prerecord_buffer[index]; |
2472 | if(num_bytes < 0) | 2472 | if(num_bytes < 0) |
2473 | num_bytes += mp3buflen; | 2473 | num_bytes += audiobuflen; |
2474 | 2474 | ||
2475 | return num_bytes;; | 2475 | return num_bytes;; |
2476 | } | 2476 | } |
@@ -2765,7 +2765,7 @@ void audio_init(void) | |||
2765 | mpeg_errno = 0; | 2765 | mpeg_errno = 0; |
2766 | 2766 | ||
2767 | #ifndef SIMULATOR | 2767 | #ifndef SIMULATOR |
2768 | mp3buflen = mp3end - mp3buf; | 2768 | audiobuflen = audiobufend - audiobuf; |
2769 | queue_init(&mpeg_queue); | 2769 | queue_init(&mpeg_queue); |
2770 | #endif /* #ifndef SIMULATOR */ | 2770 | #endif /* #ifndef SIMULATOR */ |
2771 | create_thread(mpeg_thread, mpeg_stack, | 2771 | create_thread(mpeg_thread, mpeg_stack, |
diff --git a/firmware/rolo.c b/firmware/rolo.c index e2ef26b3aa..ca68596112 100644 --- a/firmware/rolo.c +++ b/firmware/rolo.c | |||
@@ -120,7 +120,7 @@ int rolo_load(const char* filename) | |||
120 | } | 120 | } |
121 | lseek(fd, FIRMWARE_OFFSET_FILE_DATA, SEEK_SET); | 121 | lseek(fd, FIRMWARE_OFFSET_FILE_DATA, SEEK_SET); |
122 | 122 | ||
123 | if (read(fd, mp3buf, length) != length) { | 123 | if (read(fd, audiobuf, length) != length) { |
124 | rolo_error("Error Reading File"); | 124 | rolo_error("Error Reading File"); |
125 | return -1; | 125 | return -1; |
126 | } | 126 | } |
@@ -128,7 +128,7 @@ int rolo_load(const char* filename) | |||
128 | checksum = 0; | 128 | checksum = 0; |
129 | 129 | ||
130 | for(i = 0;i < length;i++) { | 130 | for(i = 0;i < length;i++) { |
131 | checksum += mp3buf[i]; | 131 | checksum += audiobuf[i]; |
132 | } | 132 | } |
133 | 133 | ||
134 | /* Verify checksum against file header */ | 134 | /* Verify checksum against file header */ |
@@ -162,12 +162,12 @@ int rolo_load(const char* filename) | |||
162 | lseek(fd, FIRMWARE_OFFSET_FILE_DATA, SEEK_SET); | 162 | lseek(fd, FIRMWARE_OFFSET_FILE_DATA, SEEK_SET); |
163 | 163 | ||
164 | /* verify that file can be read and descrambled */ | 164 | /* verify that file can be read and descrambled */ |
165 | if ((mp3buf + (2*length)+4) >= mp3end) { | 165 | if ((audiobuf + (2*length)+4) >= audiobufend) { |
166 | rolo_error("Not enough room to load file"); | 166 | rolo_error("Not enough room to load file"); |
167 | return -1; | 167 | return -1; |
168 | } | 168 | } |
169 | 169 | ||
170 | if (read(fd, &mp3buf[length], length) != (int)length) { | 170 | if (read(fd, &audiobuf[length], length) != (int)length) { |
171 | rolo_error("Error Reading File"); | 171 | rolo_error("Error Reading File"); |
172 | return -1; | 172 | return -1; |
173 | } | 173 | } |
@@ -175,7 +175,7 @@ int rolo_load(const char* filename) | |||
175 | lcd_puts(0, 1, "Descramble"); | 175 | lcd_puts(0, 1, "Descramble"); |
176 | lcd_update(); | 176 | lcd_update(); |
177 | 177 | ||
178 | checksum = descramble(mp3buf + length, mp3buf, length); | 178 | checksum = descramble(audiobuf + length, audiobuf, length); |
179 | 179 | ||
180 | /* Verify checksum against file header */ | 180 | /* Verify checksum against file header */ |
181 | if (checksum != file_checksum) { | 181 | if (checksum != file_checksum) { |
@@ -201,7 +201,7 @@ int rolo_load(const char* filename) | |||
201 | PAIOR = 0x0FA0; | 201 | PAIOR = 0x0FA0; |
202 | #endif | 202 | #endif |
203 | #endif | 203 | #endif |
204 | rolo_restart(mp3buf, ramstart, length); | 204 | rolo_restart(audiobuf, ramstart, length); |
205 | 205 | ||
206 | return 0; /* this is never reached */ | 206 | return 0; /* this is never reached */ |
207 | } | 207 | } |
diff --git a/firmware/rom.lds b/firmware/rom.lds index 55346dc122..81c266ae4f 100644 --- a/firmware/rom.lds +++ b/firmware/rom.lds | |||
@@ -104,15 +104,15 @@ SECTIONS | |||
104 | _end = .; | 104 | _end = .; |
105 | } > DRAM | 105 | } > DRAM |
106 | 106 | ||
107 | .mp3buf : | 107 | .audiobuf : |
108 | { | 108 | { |
109 | . = ALIGN(0x4); | 109 | . = ALIGN(0x4); |
110 | _mp3buffer = .; | 110 | _audiobuffer = .; |
111 | } > DRAM | 111 | } > DRAM |
112 | 112 | ||
113 | .mp3end ENDADDR: | 113 | .audiobufend ENDADDR: |
114 | { | 114 | { |
115 | _mp3end = .; | 115 | _audiobufend = .; |
116 | } > DRAM | 116 | } > DRAM |
117 | 117 | ||
118 | .plugin ENDADDR: | 118 | .plugin ENDADDR: |