summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Armak <danarmak@gentoo.org>2002-08-08 22:51:25 +0000
committerDan Armak <danarmak@gentoo.org>2002-08-08 22:51:25 +0000
commit80f62904057f426edd728dfb2de0c88602ae4a81 (patch)
tree1f9b4d5e21ba6cbffa8881b8776c439ec0e8ac09 /media-libs/xine-lib/files
parentmask xine-lib-0.9.13-r1 for testing (diff)
downloadgentoo-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-r11
-rw-r--r--media-libs/xine-lib/files/xine-lib-0.9.13-kxine.patch322
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),