diff --git a/libarmbox/video.cpp b/libarmbox/video.cpp index 5269187..e810efa 100644 --- a/libarmbox/video.cpp +++ b/libarmbox/video.cpp @@ -560,33 +560,9 @@ void cVideo::Standby(unsigned int bOn) int cVideo::getBlank(void) { - static unsigned int lastcount = 0; - unsigned int count = 0; - size_t n = 0; - ssize_t r; - char *line = NULL; - /* hack: the "mailbox" irq is not increasing if - * no audio or video is decoded... */ - FILE *f = fopen("/proc/interrupts", "r"); - if (! f) /* huh? */ - return 0; - while ((r = getline(&line, &n, f)) != -1) - { - if (r <= (ssize_t) strlen("mailbox")) /* should not happen... */ - continue; - line[r - 1] = 0; /* remove \n */ - if (!strcmp(&line[r - 1 - strlen("mailbox")], "mailbox")) - { - count = atoi(line + 5); - break; - } - } - free(line); - fclose(f); - int ret = (count == lastcount); /* no new decode -> return 1 */ - lt_debug("#%d: %s: %d (irq++: %d)\n", devnum, __func__, ret, count - lastcount); - lastcount = count; - return ret; + int ret = proc_get_hex(VMPEG_xres[devnum]); + lt_debug("%s => %d\n", __func__, !ret); + return !ret; } void cVideo::Pig(int x, int y, int w, int h, int osd_w, int osd_h, int startx, int starty, int endx, int endy)