X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fvideo_output%2Ffb.c;h=ecd5f34c82ff1b4248802781506639017737ecc7;hb=4f08ee39886abb5e42a5ff811ad150ea5ffa0eb9;hp=df8eba189e575607f241e81a7b17f0fd71a3cebe;hpb=ed5e0de6a200f565724428ac2c548b00d34c6092;p=vlc diff --git a/modules/video_output/fb.c b/modules/video_output/fb.c index df8eba189e..ecd5f34c82 100644 --- a/modules/video_output/fb.c +++ b/modules/video_output/fb.c @@ -30,7 +30,6 @@ # include "config.h" #endif -#include /* ENOMEM */ #include /* SIGUSR1, SIGUSR2 */ #include /* open() */ #include /* close() */ @@ -47,7 +46,7 @@ #include #include #include -#include +#include /***************************************************************************** * Module descriptor @@ -58,23 +57,23 @@ #define DEVICE_LONGTEXT N_(\ "Framebuffer device to use for rendering (usually /dev/fb0).") -#define TTY_TEXT N_("Run fb on current tty.") +#define TTY_TEXT N_("Run fb on current tty") #define TTY_LONGTEXT N_(\ "Run framebuffer on current TTY device (default enabled). " \ "(disable tty handling with caution)") -#define FB_MODE_TEXT N_("Framebuffer resolution to use.") +#define FB_MODE_TEXT N_("Framebuffer resolution to use") #define FB_MODE_LONGTEXT N_(\ "Select the resolution for the framebuffer. Currently it supports " \ "the values 0=QCIF 1=CIF 2=NTSC 3=PAL, 4=auto (default 4=auto)") -#define HW_ACCEL_TEXT N_("Framebuffer uses hw acceleration.") +#define HW_ACCEL_TEXT N_("Framebuffer uses hw acceleration") #define HW_ACCEL_LONGTEXT N_(\ "If your framebuffer supports hardware acceleration or does double buffering " \ "in hardware then you must disable this option. It then does double buffering " \ "in software.") -#define CHROMA_TEXT N_("Image format (default RGB).") +#define CHROMA_TEXT N_("Image format (default RGB)") #define CHROMA_LONGTEXT N_("Chroma fourcc used by the framebuffer. Default is RGB since the fb device has no way to report its chroma.") static int Open (vlc_object_t *); @@ -109,7 +108,9 @@ static void Manage (vout_display_t *); /* */ static int OpenDisplay (vout_display_t *, bool force_resolution); static void CloseDisplay (vout_display_t *); +#if 0 static void SwitchDisplay(int i_signal); +#endif static void TextMode (int tty); static void GfxMode (int tty); @@ -124,8 +125,10 @@ struct vout_display_sys_t { struct termios old_termios; /* Original configuration information */ +#if 0 struct sigaction sig_usr1; /* USR1 previous handler */ struct sigaction sig_usr2; /* USR2 previous handler */ +#endif struct vt_mode vt_mode; /* previous VT mode */ /* Framebuffer information */ @@ -145,7 +148,7 @@ struct vout_display_sys_t { int bytes_per_pixel; /* Video memory */ - uint8_t *video_ptr; /* base adress */ + uint8_t *video_ptr; /* base address */ size_t video_size; /* page size */ picture_t *picture; @@ -191,12 +194,12 @@ static int Open(vlc_object_t *object) #if !defined(WIN32) && defined(HAVE_ISATTY) /* Check that stdin is a TTY */ if (sys->is_tty && !isatty(0)) { - msg_Warn(vd, "fd 0 is not a TTY"); + msg_Warn(vd, "standard input is not a TTY"); free(sys); return VLC_EGENERIC; } - msg_Warn(vd, "disabling tty handling, use with caution because " - "there is no way to return to the tty."); + msg_Warn(vd, "disabling TTY handling, use with caution because " + "there is no way to return to the TTY"); #endif const int mode = var_CreateGetInteger(vd, "fb-mode"); @@ -234,8 +237,7 @@ static int Open(vlc_object_t *object) msg_Warn(vd, "chroma %s invalid, using default", chroma); free(chroma); - } - else + } else sys->chroma = 0; /* tty handling */ @@ -253,14 +255,14 @@ static int Open(vlc_object_t *object) Close(VLC_OBJECT(vd)); return VLC_EGENERIC; } + vout_display_DeleteWindow(vd, NULL); /* */ video_format_t fmt = vd->fmt; if (sys->chroma) { fmt.i_chroma = sys->chroma; - } - else { + } else { /* Assume RGB */ msg_Dbg(vd, "%d bppd", sys->var_info.bits_per_pixel); @@ -458,6 +460,7 @@ static int TtyInit(vout_display_t *vd) ioctl(sys->tty, VT_RELDISP, VT_ACKACQ); +#if 0 /* Set-up tty signal handler to be aware of tty changes */ struct sigaction sig_tty; memset(&sig_tty, 0, sizeof(sig_tty)); @@ -469,6 +472,7 @@ static int TtyInit(vout_display_t *vd) /* FIXME SIGUSR1 could have succeed */ goto error_signal; } +#endif /* Set-up tty according to new signal handler */ if (-1 == ioctl(sys->tty, VT_GETMODE, &sys->vt_mode)) { @@ -488,9 +492,11 @@ static int TtyInit(vout_display_t *vd) return VLC_SUCCESS; error: +#if 0 sigaction(SIGUSR1, &sys->sig_usr1, NULL); sigaction(SIGUSR2, &sys->sig_usr2, NULL); error_signal: +#endif tcsetattr(0, 0, &sys->old_termios); TextMode(sys->tty); return VLC_EGENERIC; @@ -502,9 +508,11 @@ static void TtyExit(vout_display_t *vd) /* Reset the terminal */ ioctl(sys->tty, VT_SETMODE, &sys->vt_mode); +#if 0 /* Remove signal handlers */ sigaction(SIGUSR1, &sys->sig_usr1, NULL); sigaction(SIGUSR2, &sys->sig_usr2, NULL); +#endif /* Reset the keyboard state */ tcsetattr(0, 0, &sys->old_termios); @@ -522,12 +530,12 @@ static int OpenDisplay(vout_display_t *vd, bool force_resolution) char *psz_device; /* framebuffer device path */ /* Open framebuffer device */ - if (!(psz_device = config_GetPsz(vd, FB_DEV_VAR))) { + if (!(psz_device = var_InheritString(vd, FB_DEV_VAR))) { msg_Err(vd, "don't know which fb device to open"); return VLC_EGENERIC; } - sys->fd = utf8_open(psz_device, O_RDWR); + sys->fd = vlc_open(psz_device, O_RDWR); if (sys->fd == -1) { msg_Err(vd, "cannot open %s (%m)", psz_device); free(psz_device); @@ -703,6 +711,7 @@ static void CloseDisplay(vout_display_t *vd) } } +#if 0 /***************************************************************************** * SwitchDisplay: VT change signal handler ***************************************************************************** @@ -711,8 +720,6 @@ static void CloseDisplay(vout_display_t *vd) *****************************************************************************/ static void SwitchDisplay(int i_signal) { - VLC_UNUSED(i_signal); -#if 0 vout_display_t *vd; vlc_mutex_lock(&p_vout_bank->lock); @@ -740,8 +747,8 @@ static void SwitchDisplay(int i_signal) } vlc_mutex_unlock(&p_vout_bank->lock); -#endif } +#endif /***************************************************************************** * TextMode and GfxMode : switch tty to text/graphic mode