summaryrefslogtreecommitdiff
path: root/apps/plugins/mpegplayer/mpegplayer.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/mpegplayer/mpegplayer.c')
-rw-r--r--apps/plugins/mpegplayer/mpegplayer.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/apps/plugins/mpegplayer/mpegplayer.c b/apps/plugins/mpegplayer/mpegplayer.c
index 5b92ccc..42e0ddd 100644
--- a/apps/plugins/mpegplayer/mpegplayer.c
+++ b/apps/plugins/mpegplayer/mpegplayer.c
@@ -587,13 +587,27 @@ static void draw_putsxy_oriented(int x, int y, const char *str)
}
#endif /* LCD_PORTRAIT */
+#ifdef HAVE_LCD_ENABLE
+/* So we can refresh the overlay */
+static void wvs_lcd_enable_hook(void)
+{
+ rb->queue_post(rb->button_queue, LCD_ENABLE_EVENT_1, 0);
+}
+#endif
+
static void wvs_backlight_on_video_mode(bool video_on)
{
if (video_on) {
/* Turn off backlight timeout */
/* backlight control in lib/helper.c */
backlight_force_on(rb);
+#ifdef HAVE_LCD_ENABLE
+ rb->lcd_set_enable_hook(NULL);
+#endif
} else {
+#ifdef HAVE_LCD_ENABLE
+ rb->lcd_set_enable_hook(wvs_lcd_enable_hook);
+#endif
/* Revert to user's backlight settings */
backlight_use_settings(rb);
}
@@ -1441,6 +1455,15 @@ static void button_loop(void)
continue;
} /* BUTTON_NONE: */
+#ifdef HAVE_LCD_ENABLE
+ case LCD_ENABLE_EVENT_1:
+ {
+ /* Draw the current frame if prepared already */
+ stream_draw_frame(true);
+ break;
+ } /* LCD_ENABLE_EVENT_1: */
+#endif
+
case MPEG_VOLUP:
case MPEG_VOLUP|BUTTON_REPEAT:
#ifdef MPEG_VOLUP2