From fd01bf3e4cfedf073824b1a98662932796b6cd32 Mon Sep 17 00:00:00 2001 From: Michael Sevakis Date: Sun, 19 Dec 2010 03:28:43 +0000 Subject: MPEGPlayer: Skip to next file when there is a problem with a video file in all-play mode, otherwise exit as usual. Only consider failures such as engine init issues or no file to view to be a plugin error but not problems with the video files themselves; the user is adequately informed already. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28854 a1c6a512-1295-4272-9138-f99709370657 --- apps/plugins/mpegplayer/mpegplayer.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/apps/plugins/mpegplayer/mpegplayer.c b/apps/plugins/mpegplayer/mpegplayer.c index f130760ff2..7a2b457aec 100644 --- a/apps/plugins/mpegplayer/mpegplayer.c +++ b/apps/plugins/mpegplayer/mpegplayer.c @@ -1873,8 +1873,7 @@ static int button_loop(void) enum plugin_status plugin_start(const void* parameter) { static char videofile[MAX_PATH]; - - int status = PLUGIN_ERROR; /* assume failure */ + int status = PLUGIN_OK; /* assume success */ int result; int err; bool quit = false; @@ -1901,7 +1900,9 @@ enum plugin_status plugin_start(const void* parameter) rb->strcpy(videofile, (const char*) parameter); if (stream_init() < STREAM_OK) { + /* Fatal because this should not fail */ DEBUGF("Could not initialize streams\n"); + status = PLUGIN_ERROR; } else { while (!quit) { @@ -1927,10 +1928,11 @@ enum plugin_status plugin_start(const void* parameter) rb->lcd_update(); save_settings(); - status = PLUGIN_OK; mpeg_menu_sysevent_handle(); } else { + /* Problem with file; display message about it - not + * considered a plugin error */ DEBUGF("Could not open %s\n", videofile); switch (err) { @@ -1942,7 +1944,11 @@ enum plugin_status plugin_start(const void* parameter) } rb->splashf(HZ*2, errstring, err); - status = PLUGIN_ERROR; + + if (settings.play_mode != 0) { + /* Try the next file if the play mode is not single play */ + next_action = VIDEO_NEXT; + } } /* return value of button_loop says, what's next */ -- cgit v1.2.3