[Ffmpeg-cvslog] r5463 - in trunk: configure ffplay.c

mru subversion
Sat Jun 10 00:43:21 CEST 2006


Author: mru
Date: Sat Jun 10 00:43:21 2006
New Revision: 5463

Modified:
   trunk/configure
   trunk/ffplay.c

Log:
don't use xlib in ffplay, and bump required sdl version


Modified: trunk/configure
==============================================================================
--- trunk/configure	(original)
+++ trunk/configure	Sat Jun 10 00:43:21 2006
@@ -1184,7 +1184,7 @@
     restore_flags
     if test $? = 0; then
         _sdlversion=`"${SDL_CONFIG}" --version | sed 's/[^0-9]//g'`
-        if test "$_sdlversion" -lt 121 ; then
+        if test "$_sdlversion" -lt 130 ; then
             sdl_too_old=yes
         else
             sdl=yes

Modified: trunk/ffplay.c
==============================================================================
--- trunk/ffplay.c	(original)
+++ trunk/ffplay.c	Sat Jun 10 00:43:21 2006
@@ -45,14 +45,6 @@
  }
 #endif
 
-#if defined(__linux__)
-#define HAVE_X11
-#endif
-
-#ifdef HAVE_X11
-#include <X11/Xlib.h>
-#endif
-
 //#define DEBUG_SYNC
 
 #define MAX_VIDEOQ_SIZE (5 * 256 * 1024)
@@ -2104,25 +2096,19 @@
 {
     int w, h, flags;
     is_full_screen = !is_full_screen;
-    if (!fs_screen_width) {
-        /* use default SDL method */
-        SDL_WM_ToggleFullScreen(screen);
+    flags = SDL_HWSURFACE|SDL_ASYNCBLIT|SDL_HWACCEL;
+    if (is_full_screen) {
+        w = fs_screen_width;
+        h = fs_screen_height;
+        flags |= SDL_FULLSCREEN;
     } else {
-        /* use the recorded resolution */
-        flags = SDL_HWSURFACE|SDL_ASYNCBLIT|SDL_HWACCEL;
-        if (is_full_screen) {
-            w = fs_screen_width;
-            h = fs_screen_height;
-            flags |= SDL_FULLSCREEN;
-        } else {
-            w = screen_width;
-            h = screen_height;
-            flags |= SDL_RESIZABLE;
-        }
-        screen = SDL_SetVideoMode(w, h, 0, flags);
-        cur_stream->width = w;
-        cur_stream->height = h;
-    }
+        w = screen_width;
+        h = screen_height;
+        flags |= SDL_RESIZABLE;
+    }
+    screen = SDL_SetVideoMode(w, h, 0, flags);
+    cur_stream->width = w;
+    cur_stream->height = h;
 }
 
 void toggle_pause(void)
@@ -2346,10 +2332,7 @@
     { "h", 0, {(void*)show_help}, "show help" },
     { "x", HAS_ARG, {(void*)opt_width}, "force displayed width", "width" },
     { "y", HAS_ARG, {(void*)opt_height}, "force displayed height", "height" },
-#if 0
-    /* disabled as SDL/X11 does not support it correctly on application launch */
     { "fs", OPT_BOOL, {(void*)&is_full_screen}, "force full screen" },
-#endif
     { "an", OPT_BOOL, {(void*)&audio_disable}, "disable audio" },
     { "vn", OPT_BOOL, {(void*)&video_disable}, "disable video" },
     { "ss", HAS_ARG, {(void*)&opt_seek}, "seek to a given position in seconds", "pos" },
@@ -2443,19 +2426,10 @@
     }
 
     if (!display_disable) {
-#ifdef HAVE_X11
-        /* save the screen resolution... SDL should allow full screen
-           by resizing the window */
-        {
-            Display *dpy;
-            dpy = XOpenDisplay(NULL);
-            if (dpy) {
-                fs_screen_width = DisplayWidth(dpy, DefaultScreen(dpy));
-                fs_screen_height = DisplayHeight(dpy, DefaultScreen(dpy));
-                XCloseDisplay(dpy);
-            }
-        }
-#endif
+        const SDL_VideoInfo *vi = SDL_GetVideoInfo();
+        fs_screen_width = vi->current_w;
+        fs_screen_height = vi->current_h;
+
         flags = SDL_HWSURFACE|SDL_ASYNCBLIT|SDL_HWACCEL;
         if (is_full_screen && fs_screen_width) {
             w = fs_screen_width;




More information about the ffmpeg-cvslog mailing list