diff options
author | lgb <lgb@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-05-31 22:32:58 +0000 |
---|---|---|
committer | lgb <lgb@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-05-31 22:32:58 +0000 |
commit | f61ffa92b939a9e4c1dbe22a15e0398ea17c3075 (patch) | |
tree | 68b27b581fced1a21cef5bf2c96c41a8d73dec8d /libvo/x11_common.c | |
parent | d7f6f3e341ae2a53c82ec0056257f110c10fdb57 (diff) | |
download | mpv-f61ffa92b939a9e4c1dbe22a15e0398ea17c3075.tar.bz2 mpv-f61ffa92b939a9e4c1dbe22a15e0398ea17c3075.tar.xz |
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
Diffstat (limited to 'libvo/x11_common.c')
-rw-r--r-- | libvo/x11_common.c | 29 |
1 files changed, 20 insertions, 9 deletions
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; } |