# HG changeset patch # User diego # Date 1227452271 0 # Node ID 1388c6a08a50abb0b9c75f8a66578e292f56de71 # Parent f559fdc6fb964e55f9aa857e76780f73ec38299d Handle fb_dev_name similar to vo_fbdev in vo_wii. diff -r f559fdc6fb96 -r 1388c6a08a50 libvo/vo_fbdev.c --- a/libvo/vo_fbdev.c Sun Nov 23 14:32:39 2008 +0000 +++ b/libvo/vo_fbdev.c Sun Nov 23 14:57:51 2008 +0000 @@ -532,7 +532,7 @@ ******************************/ /* command line/config file options */ -char *fb_dev_name = NULL; +static char *fb_dev_name = NULL; char *fb_mode_cfgfile = NULL; char *fb_mode_name = NULL; diff -r f559fdc6fb96 -r 1388c6a08a50 libvo/vo_wii.c --- a/libvo/vo_wii.c Sun Nov 23 14:32:39 2008 +0000 +++ b/libvo/vo_wii.c Sun Nov 23 14:57:51 2008 +0000 @@ -54,8 +54,6 @@ #include "sub.h" #include "mp_msg.h" -#define WII_DEV_NAME "/dev/fb0" - static const vo_info_t info = { "Nintendo Wii/GameCube Framebuffer Device", "wii", @@ -67,6 +65,8 @@ static signed int pre_init_err = -2; +static char *fb_dev_name = NULL; + static FILE *vt_fp = NULL; static int vt_doit = 1; static int fb_dev_fd = -1; @@ -98,8 +98,12 @@ if (fb_preinit_done) return fb_works; - if ((fb_dev_fd = open(WII_DEV_NAME, O_RDWR)) == -1) { - mp_msg(MSGT_VO, MSGL_ERR, "Can't open %s: %s\n", WII_DEV_NAME, strerror(errno)); + if (!fb_dev_name && !(fb_dev_name = getenv("FRAMEBUFFER"))) + fb_dev_name = strdup("/dev/fb0"); + mp_msg(MSGT_VO, MSGL_V, "using %s\n", fb_dev_name); + + if ((fb_dev_fd = open(fb_dev_name, O_RDWR)) == -1) { + mp_msg(MSGT_VO, MSGL_ERR, "Can't open %s: %s\n", fb_dev_name, strerror(errno)); goto err_out; } if (ioctl(fb_dev_fd, FBIOGET_VSCREENINFO, &fb_vinfo)) { @@ -212,7 +216,7 @@ frame_buffer = NULL; if ((frame_buffer = (uint8_t *) mmap(0, fb_size, PROT_READ | PROT_WRITE, MAP_SHARED, fb_dev_fd, 0)) == (uint8_t *) -1) { - mp_msg(MSGT_VO, MSGL_ERR, "Can't mmap %s: %s\n", WII_DEV_NAME, strerror(errno)); + mp_msg(MSGT_VO, MSGL_ERR, "Can't mmap %s: %s\n", fb_dev_name, strerror(errno)); return 1; }