diff options
author | Dan Armak <danarmak@gentoo.org> | 2002-08-08 22:51:25 +0000 |
---|---|---|
committer | Dan Armak <danarmak@gentoo.org> | 2002-08-08 22:51:25 +0000 |
commit | 80f62904057f426edd728dfb2de0c88602ae4a81 (patch) | |
tree | 1f9b4d5e21ba6cbffa8881b8776c439ec0e8ac09 /media-libs/xine-lib/files | |
parent | mask xine-lib-0.9.13-r1 for testing (diff) | |
download | gentoo-2-80f62904057f426edd728dfb2de0c88602ae4a81.tar.gz gentoo-2-80f62904057f426edd728dfb2de0c88602ae4a81.tar.bz2 gentoo-2-80f62904057f426edd728dfb2de0c88602ae4a81.zip |
make a new masked revision that adds a patch to fix #5412 (kxine)
Diffstat (limited to 'media-libs/xine-lib/files')
-rw-r--r-- | media-libs/xine-lib/files/digest-xine-lib-0.9.13-r1 | 1 | ||||
-rw-r--r-- | media-libs/xine-lib/files/xine-lib-0.9.13-kxine.patch | 322 |
2 files changed, 323 insertions, 0 deletions
diff --git a/media-libs/xine-lib/files/digest-xine-lib-0.9.13-r1 b/media-libs/xine-lib/files/digest-xine-lib-0.9.13-r1 new file mode 100644 index 000000000000..8f38da8ba0ba --- /dev/null +++ b/media-libs/xine-lib/files/digest-xine-lib-0.9.13-r1 @@ -0,0 +1 @@ +MD5 2e37c40bb78732187e3375a220405063 xine-lib-0.9.13.tar.gz 2751090 diff --git a/media-libs/xine-lib/files/xine-lib-0.9.13-kxine.patch b/media-libs/xine-lib/files/xine-lib-0.9.13-kxine.patch new file mode 100644 index 000000000000..4ce6500732ab --- /dev/null +++ b/media-libs/xine-lib/files/xine-lib-0.9.13-kxine.patch @@ -0,0 +1,322 @@ +diff -ur xine-lib-0.9.13/src/video_out/video_out_x11.h xine-lib-0.9.13-new/src/video_out/video_out_x11.h +--- xine-lib-0.9.13/src/video_out/video_out_x11.h Thu Mar 21 18:29:51 2002 ++++ xine-lib-0.9.13-new/src/video_out/video_out_x11.h Tue Aug 6 23:00:54 2002 +@@ -109,6 +109,12 @@ + /* int *data */ + #define GUI_DATA_EX_VIDEOWIN_VISIBLE 5 + ++/* void (*data[])(Display*) */ ++/* i.e. a pointer to an array of function-pointers ++ * the first is the XLockDisplay replacement ++ * the second is the XUnlockDisplay replacement */ ++#define GUI_DATA_EX_CHANGE_LOCK_FUNCTIONS 6 ++ + /* *data contains chosen visual, select a new one or change it to NULL + * to indicate the visual to use or that no visual will work */ + /* XVisualInfo **data */ +diff -ur xine-lib-0.9.13/src/video_out/video_out_xshm.c xine-lib-0.9.13-new/src/video_out/video_out_xshm.c +--- xine-lib-0.9.13/src/video_out/video_out_xshm.c Thu Aug 1 16:26:53 2002 ++++ xine-lib-0.9.13-new/src/video_out/video_out_xshm.c Tue Aug 6 23:06:54 2002 +@@ -26,6 +26,9 @@ + * + * xine-specific code by Guenter Bartsch <bartscgr@studbox.uni-stuttgart.de> + * ++ * locking function change support for KDE front end by Mark Thomas ++ * <markbt@users.sourceforge.net> - August 2002 ++ * + */ + + #ifdef HAVE_CONFIG_H +@@ -173,6 +176,9 @@ + int video_width, int video_height, + int *dest_width, int *dest_height); + ++ void (*x11_LockDisplay) (Display *); ++ void (*x11_UnlockDisplay) (Display *); ++ + } xshm_driver_t; + + +@@ -404,9 +410,9 @@ + xshm_driver_t *this = (xshm_driver_t *) vo_img->driver; + + if (frame->image) { +- XLockDisplay (this->display); ++ this->x11_LockDisplay (this->display); + dispose_ximage (this, &frame->shminfo, frame->image); +- XUnlockDisplay (this->display); ++ this->x11_UnlockDisplay (this->display); + } + + free (frame); +@@ -627,7 +633,7 @@ + frame->output_width, frame->output_height); + #endif + +- XLockDisplay (this->display); ++ this->x11_LockDisplay (this->display); + + /* + * (re-) allocate XImage +@@ -656,7 +662,7 @@ + frame->image = create_ximage (this, &frame->shminfo, + frame->output_width, frame->output_height); + +- XUnlockDisplay (this->display); ++ this->x11_UnlockDisplay (this->display); + + if (format == IMGFMT_YV12) { + frame->vo_frame.pitches[0] = 8*((width + 7) / 8); +@@ -768,7 +774,7 @@ + + static void clean_output_area (xshm_driver_t *this) { + +- XLockDisplay (this->display); ++ this->x11_LockDisplay (this->display); + + XSetForeground (this->display, this->gc, this->black.pixel); + +@@ -804,7 +810,7 @@ + + #endif + +- XUnlockDisplay (this->display); ++ this->x11_UnlockDisplay (this->display); + } + + static int xshm_redraw_needed (vo_driver_t *this_gen) { +@@ -913,7 +919,7 @@ + xoffset = (this->gui_width - frame->output_width) / 2 + this->gui_x; + yoffset = (this->gui_height - frame->output_height) / 2 + this->gui_y; + +- XLockDisplay (this->display); ++ this->x11_LockDisplay (this->display); + #ifdef LOG + printf ("video_out_xshm: display locked...\n"); + #endif +@@ -946,7 +952,7 @@ + XFlush(this->display); + } + +- XUnlockDisplay (this->display); ++ this->x11_UnlockDisplay (this->display); + + } + +@@ -1103,7 +1109,7 @@ + + if (xev->count == 0) { + +- XLockDisplay (this->display); ++ this->x11_LockDisplay (this->display); + + xoffset = (this->cur_frame->gui_width - this->cur_frame->output_width) / 2; + yoffset = (this->cur_frame->gui_height - this->cur_frame->output_height) / 2; +@@ -1145,7 +1151,7 @@ + + XFlush (this->display); + +- XUnlockDisplay (this->display); ++ this->x11_UnlockDisplay (this->display); + } + + } +@@ -1181,6 +1187,14 @@ + + break; + ++ case GUI_DATA_EX_CHANGE_LOCK_FUNCTIONS: ++ { ++ void (**func)(void) = data; ++ this -> x11_LockDisplay = func[0]; ++ this -> x11_UnlockDisplay = func[1]; ++ } ++ break; ++ + default: + return -1; + } +@@ -1305,6 +1319,9 @@ + this->gc = XCreateGC (this->display, this->drawable, + 0, NULL); + ++ this->x11_LockDisplay = XLockDisplay; ++ this->x11_UnlockDisplay = XUnlockDisplay; ++ + this->vo_driver.get_capabilities = xshm_get_capabilities; + this->vo_driver.alloc_frame = xshm_alloc_frame; + this->vo_driver.update_frame_format = xshm_update_frame_format; +diff -ur xine-lib-0.9.13/src/video_out/video_out_xv.c xine-lib-0.9.13-new/src/video_out/video_out_xv.c +--- xine-lib-0.9.13/src/video_out/video_out_xv.c Sat Jul 20 22:46:06 2002 ++++ xine-lib-0.9.13-new/src/video_out/video_out_xv.c Tue Aug 6 23:06:17 2002 +@@ -29,6 +29,9 @@ + * xine-specific code by Guenter Bartsch <bartscgr@studbox.uni-stuttgart.de> + * + * overlay support by James Courtier-Dutton <James@superbug.demon.co.uk> - July 2001 ++ * ++ * locking function change support for KDE front-end by Mark Thomas ++ * <markbt@users.sourceforge.net> - August 2002 + */ + + #ifdef HAVE_CONFIG_H +@@ -196,6 +199,9 @@ + + int use_colorkey; + uint32_t colorkey; ++ ++ void (*x11_LockDisplay) (Display *); ++ void (*x11_UnlockDisplay) (Display *); + }; + + int gX11Fail; +@@ -219,18 +225,18 @@ + if (frame->image) { + + if (this->use_shm) { +- XLockDisplay (this->display); ++ this->x11_LockDisplay (this->display); + XShmDetach (this->display, &frame->shminfo); + XFree (frame->image); +- XUnlockDisplay (this->display); ++ this->x11_UnlockDisplay (this->display); + + shmdt (frame->shminfo.shmaddr); + shmctl (frame->shminfo.shmid, IPC_RMID, NULL); + } + else { +- XLockDisplay (this->display); ++ this->x11_LockDisplay (this->display); + XFree (frame->image); +- XUnlockDisplay (this->display); ++ this->x11_UnlockDisplay (this->display); + } + } + +@@ -450,7 +456,7 @@ + + /* printf ("video_out_xv: updating frame to %d x %d (ratio=%d, format=%08x)\n",width,height,ratio_code,format); */ + +- XLockDisplay (this->display); ++ this->x11_LockDisplay (this->display); + + /* + * (re-) allocate xvimage +@@ -474,7 +480,7 @@ + frame->height = height; + frame->format = format; + +- XUnlockDisplay (this->display); ++ this->x11_UnlockDisplay (this->display); + } + + frame->ratio_code = ratio_code; +@@ -494,7 +500,7 @@ + || (frame->width != this->deinterlace_frame.width) + || (frame->height / xvscaling != this->deinterlace_frame.height ) + || (frame->format != this->deinterlace_frame.format)) { +- XLockDisplay (this->display); ++ this->x11_LockDisplay (this->display); + + if( this->deinterlace_frame.image ) + dispose_ximage (this, &this->deinterlace_frame.shminfo, +@@ -507,7 +513,7 @@ + this->deinterlace_frame.height = frame->height / xvscaling; + this->deinterlace_frame.format = frame->format; + +- XUnlockDisplay (this->display); ++ this->x11_UnlockDisplay (this->display); + } + + +@@ -584,7 +590,7 @@ + + static void xv_clean_output_area (xv_driver_t *this) { + +- XLockDisplay (this->display); ++ this->x11_LockDisplay (this->display); + + XSetForeground (this->display, this->gc, this->black.pixel); + +@@ -598,7 +604,7 @@ + this->output_width, this->output_height); + } + +- XUnlockDisplay (this->display); ++ this->x11_UnlockDisplay (this->display); + } + + /* +@@ -865,7 +871,7 @@ + */ + xv_redraw_needed (this_gen); + +- XLockDisplay (this->display); ++ this->x11_LockDisplay (this->display); + + if (this->use_shm) { + XvShmPutImage(this->display, this->xv_port, +@@ -887,7 +893,7 @@ + + XFlush(this->display); + +- XUnlockDisplay (this->display); ++ this->x11_UnlockDisplay (this->display); + + } + /* +@@ -1034,7 +1040,7 @@ + /* FIXME : take care of completion events */ + + if (this->cur_frame) { +- XLockDisplay (this->display); ++ this->x11_LockDisplay (this->display); + + if (this->use_shm) { + XvShmPutImage(this->display, this->xv_port, +@@ -1075,7 +1081,7 @@ + + XFlush(this->display); + +- XUnlockDisplay (this->display); ++ this->x11_UnlockDisplay (this->display); + } + } + break; +@@ -1101,6 +1107,14 @@ + } + break; + ++ case GUI_DATA_EX_CHANGE_LOCK_FUNCTIONS: ++ { ++ void (**func)(void) = data; ++ this->x11_LockDisplay = func[0]; ++ this->x11_UnlockDisplay = func[1]; ++ } ++ break; ++ + default: + return -1; + } +@@ -1119,11 +1133,11 @@ + this->deinterlace_frame.image = NULL; + } + +- XLockDisplay (this->display); ++ this->x11_LockDisplay (this->display); + if(XvUngrabPort (this->display, this->xv_port, CurrentTime) != Success) { + printf ("video_out_xv: xv_exit: XvUngrabPort() failed.\n"); + } +- XUnlockDisplay (this->display); ++ this->x11_UnlockDisplay (this->display); + + for( i=0; i < VO_NUM_RECENT_FRAMES; i++ ) + { +@@ -1352,6 +1366,8 @@ + this->deinterlace_frame.image = NULL; + this->use_colorkey = 0; + this->colorkey = 0; ++ this->x11_LockDisplay = XLockDisplay; ++ this->x11_UnlockDisplay = XUnlockDisplay; + + XAllocNamedColor(this->display, + DefaultColormap(this->display, this->screen), |