Update of /cvsroot/xine/xine-lib/src/video_out In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv3340/src/video_out Modified Files: video_out_xcbshm.c video_out_xcbxv.c video_out_xshm.c video_out_xv.c video_out_xxmc.c Log Message: Create at least a 1Ã1 shared image when the first frame is skipped (and thus reported as 0Ã0), to avoid disabling shared memory for all others. Patch by Reinhard Nissl. Index: video_out_xcbshm.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/video_out/video_out_xcbshm.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- video_out_xcbshm.c 25 Mar 2007 23:07:23 -0000 1.2 +++ video_out_xcbshm.c 25 Mar 2007 23:13:53 -0000 1.3 @@ -133,6 +133,11 @@ */ static void create_ximage(xshm_driver_t *this, xshm_frame_t *frame, int width, int height) { + if (width <= 0) + width = 1; + if (height <= 0) + height = 1; + frame->bytes_per_line = ((this->bpp * width + this->scanline_pad - 1) & (~(this->scanline_pad - 1))) >> 3; Index: video_out_xcbxv.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/video_out/video_out_xcbxv.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- video_out_xcbxv.c 25 Mar 2007 23:07:23 -0000 1.4 +++ video_out_xcbxv.c 25 Mar 2007 23:13:53 -0000 1.5 @@ -215,6 +215,11 @@ unsigned int length; + if (width <= 0) + width = 1; + if (height <= 0) + height = 1; + if (this->use_pitch_alignment) { width = (width + 7) & ~0x7; } Index: video_out_xshm.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/video_out/video_out_xshm.c,v retrieving revision 1.149 retrieving revision 1.150 diff -u -r1.149 -r1.150 --- video_out_xshm.c 15 Feb 2007 15:19:33 -0000 1.149 +++ video_out_xshm.c 25 Mar 2007 23:13:53 -0000 1.150 @@ -175,6 +175,11 @@ int width, int height) { XImage *myimage = NULL; + if (width <= 0) + width = 1; + if (height <= 0) + height = 1; + if (this->use_shm) { /* Index: video_out_xv.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/video_out/video_out_xv.c,v retrieving revision 1.222 retrieving revision 1.223 diff -u -r1.222 -r1.223 --- video_out_xv.c 15 Feb 2007 18:26:55 -0000 1.222 +++ video_out_xv.c 25 Mar 2007 23:13:53 -0000 1.223 @@ -258,6 +258,11 @@ unsigned int xv_format; XvImage *image = NULL; + if (width <= 0) + width = 1; + if (height <= 0) + height = 1; + if (this->use_pitch_alignment) { width = (width + 7) & ~0x7; } Index: video_out_xxmc.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/video_out/video_out_xxmc.c,v retrieving revision 1.22 retrieving revision 1.23 diff -u -r1.22 -r1.23 --- video_out_xxmc.c 10 Jul 2006 22:08:44 -0000 1.22 +++ video_out_xxmc.c 25 Mar 2007 23:13:53 -0000 1.23 @@ -608,6 +608,11 @@ unsigned int xv_format; XvImage *image = NULL; + if (width <= 0) + width = 1; + if (height <= 0) + height = 1; + if (this->use_pitch_alignment) { width = (width + 7) & ~0x7; } |