Fixes FS#8651 (noise and/or crash while crossfading). Latest ARM-asm submit for dsp...
[maemo-rb.git] / apps / plugins / zxbox / helpers.c
blob2343abb499e61f2d3b846593a302463892982120
1 #include "zxconfig.h"
3 int my_getc(int fd){
4 unsigned char c;
5 if ( rb->read(fd, &c, 1) )
6 return c;
7 else
8 return EOF;
11 off_t my_ftell(int fd){
12 return rb->lseek(fd, 0, SEEK_CUR);
15 int my_putc(char c , int fd){
16 return rb->write(fd,&c,1);
19 void *my_malloc(size_t size)
21 static char *offset = NULL;
22 static ssize_t totalSize = 0;
23 char *ret;
25 int remainder = size % 4;
27 size = size + 4-remainder;
29 if (offset == NULL)
31 offset = rb->plugin_get_audio_buffer((size_t *)&totalSize);
34 if (size + 4 > abs(totalSize) )
36 /* We've made our point. */
37 return NULL;
40 ret = offset + 4;
41 *((unsigned int *)offset) = size;
43 offset += size + 4;
44 totalSize -= size + 4;
45 return ret;