diff options
author | Björn Stenberg <bjorn@haxx.se> | 2002-05-31 12:12:23 +0000 |
---|---|---|
committer | Björn Stenberg <bjorn@haxx.se> | 2002-05-31 12:12:23 +0000 |
commit | fa8cd2ca864e4cb5c85e869b1164d7521faa7867 (patch) | |
tree | 608371c5c89803f565e87187994c95d60112ce9c | |
parent | 1d3226563e0c9a909bfaf02897b815beb2128a91 (diff) | |
download | rockbox-fa8cd2ca864e4cb5c85e869b1164d7521faa7867.tar.gz rockbox-fa8cd2ca864e4cb5c85e869b1164d7521faa7867.zip |
Check for more files to play
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@855 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | firmware/mpeg.c | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/firmware/mpeg.c b/firmware/mpeg.c index 48da48177f..ffa427c6ed 100644 --- a/firmware/mpeg.c +++ b/firmware/mpeg.c | |||
@@ -271,6 +271,24 @@ void IMIA1(void) | |||
271 | TSR1 &= ~0x01; | 271 | TSR1 &= ~0x01; |
272 | } | 272 | } |
273 | 273 | ||
274 | static int new_file(void) | ||
275 | { | ||
276 | char *trackname; | ||
277 | |||
278 | trackname = peek_next_track(0); | ||
279 | if ( !trackname ) | ||
280 | return -1; | ||
281 | |||
282 | debugf("playing %s\n", trackname); | ||
283 | mpeg_file = open(trackname, O_RDONLY); | ||
284 | if(mpeg_file < 0) | ||
285 | { | ||
286 | debugf("Couldn't open file\n"); | ||
287 | return -1; | ||
288 | } | ||
289 | return 0; | ||
290 | } | ||
291 | |||
274 | static void mpeg_thread(void) | 292 | static void mpeg_thread(void) |
275 | { | 293 | { |
276 | struct event ev; | 294 | struct event ev; |
@@ -394,12 +412,6 @@ static void mpeg_thread(void) | |||
394 | boundary */ | 412 | boundary */ |
395 | mp3buf_write &= 0xfffffffe; | 413 | mp3buf_write &= 0xfffffffe; |
396 | 414 | ||
397 | #if 1 | ||
398 | /* No more data to play */ | ||
399 | DEBUGF("Finished playing\n"); | ||
400 | filling = false; | ||
401 | #else | ||
402 | next_track(); | ||
403 | if(new_file() < 0) | 415 | if(new_file() < 0) |
404 | { | 416 | { |
405 | /* No more data to play */ | 417 | /* No more data to play */ |
@@ -412,7 +424,6 @@ static void mpeg_thread(void) | |||
412 | /* Tell ourselves that we want more data */ | 424 | /* Tell ourselves that we want more data */ |
413 | queue_post(&mpeg_queue, MPEG_NEED_DATA, 0); | 425 | queue_post(&mpeg_queue, MPEG_NEED_DATA, 0); |
414 | } | 426 | } |
415 | #endif | ||
416 | } | 427 | } |
417 | } | 428 | } |
418 | break; | 429 | break; |