diff options
author | Linus Nielsen Feltzing <linus@haxx.se> | 2005-04-05 11:33:58 +0000 |
---|---|---|
committer | Linus Nielsen Feltzing <linus@haxx.se> | 2005-04-05 11:33:58 +0000 |
commit | d34865a5307e7bf91d986036797423975ac828b4 (patch) | |
tree | 41dcc1775f6cdc1d655f1eddadaabdf90c7ac22f /firmware | |
parent | 6cf9d51b3374cdc436c45f165a10f607832126ee (diff) | |
download | rockbox-d34865a5307e7bf91d986036797423975ac828b4.tar.gz rockbox-d34865a5307e7bf91d986036797423975ac828b4.zip |
mp3buf renamed to audiobuf
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6252 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
-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 |
8 files changed, 165 insertions, 165 deletions
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: |