From f61ffa92b939a9e4c1dbe22a15e0398ea17c3075 Mon Sep 17 00:00:00 2001 From: lgb Date: Thu, 31 May 2001 22:32:58 +0000 Subject: Centralized and cleaned up X11 connecting, fixed remote X11 playing, -display option for mplayer. SHOULD BE TESTED. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@923 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libvo/x11_common.c | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) (limited to 'libvo/x11_common.c') diff --git a/libvo/x11_common.c b/libvo/x11_common.c index c4d296c92e..b33cf7874f 100644 --- a/libvo/x11_common.c +++ b/libvo/x11_common.c @@ -22,6 +22,12 @@ static int dpms_disabled=0; static int timeout_save=0; +char* mDisplayName=NULL; +Display* mDisplay; +Window mRootWin; +int mScreen; +int mLocalDisplay; + void vo_hidecursor ( Display *disp , Window win ) { @@ -42,21 +48,24 @@ void vo_hidecursor ( Display *disp , Window win ) int vo_init( void ) { int CompletionType = -1; - int mScreen; +// int mScreen; int bpp; - char * DisplayName = ":0.0"; - Display * mDisplay; +// char * DisplayName = ":0.0"; +// Display * mDisplay; XImage * mXImage; - Window mRootWin; +// Window mRootWin; static XWindowAttributes attribs; if(vo_depthonscreen) return 1; // already called - if ( getenv( "DISPLAY" ) ) DisplayName=getenv( "DISPLAY" ); - mDisplay=XOpenDisplay( DisplayName ); + if (!mDisplayName) + if (!(mDisplayName=getenv("DISPLAY"))) + mDisplayName=strdup(":0.0"); + + mDisplay=XOpenDisplay(mDisplayName); if ( !mDisplay ) { - printf( "vo: couldn't open the X11 display!\n" ); + printf( "vo: couldn't open the X11 display (%s)!\n",mDisplayName ); return 0; } mScreen=DefaultScreen( mDisplay ); // Screen ID. @@ -72,8 +81,10 @@ int vo_init( void ) bpp=mXImage->bits_per_pixel; XDestroyImage( mXImage ); if((vo_depthonscreen+7)/8 != (bpp+7)/8) vo_depthonscreen=bpp; // by A'rpi - XCloseDisplay( mDisplay ); - printf("X11 running at %dx%d depth: %d\n",vo_screenwidth,vo_screenheight,vo_depthonscreen); +// XCloseDisplay( mDisplay ); +#warning Better local display detection method is needed. + if (*mDisplayName==':') mLocalDisplay=1; else mLocalDisplay=0; + printf("X11 running at %dx%d depth: %d (\"%s\" => %s display)\n",vo_screenwidth,vo_screenheight,vo_depthonscreen,mDisplayName,mLocalDisplay?"local":"remote"); return 1; } -- cgit v1.2.3