summaryrefslogtreecommitdiff
path: root/src/video_out/video_out_xv.c
diff options
context:
space:
mode:
authorEwald Snel <esnel@users.sourceforge.net>2002-04-01 22:19:27 +0000
committerEwald Snel <esnel@users.sourceforge.net>2002-04-01 22:19:27 +0000
commitbc085b3b89b232b2d972221048f0cb947487b2b1 (patch)
tree13dacb9f7fba8ffe032a6abc4c118367fd981070 /src/video_out/video_out_xv.c
parentf99e942b1317f978205e48c5dbad077955fce040 (diff)
downloadxine-lib-bc085b3b89b232b2d972221048f0cb947487b2b1.tar.gz
xine-lib-bc085b3b89b232b2d972221048f0cb947487b2b1.tar.bz2
- Fix frame leak in Xv video driver
- Frames can be freed by video driver until video driver' exit(), so you need to call this before vo_free_img_buffers() to avoid frame leak CVS patchset: 1660 CVS date: 2002/04/01 22:19:27
Diffstat (limited to 'src/video_out/video_out_xv.c')
-rw-r--r--src/video_out/video_out_xv.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/video_out/video_out_xv.c b/src/video_out/video_out_xv.c
index 3cfd625ec..a0f48d4ba 100644
--- a/src/video_out/video_out_xv.c
+++ b/src/video_out/video_out_xv.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: video_out_xv.c,v 1.109 2002/03/27 15:31:36 miguelfreitas Exp $
+ * $Id: video_out_xv.c,v 1.110 2002/04/01 22:19:27 esnel Exp $
*
* video_out_xv.c, X11 video extension interface for xine
*
@@ -744,7 +744,6 @@ static void xv_add_recent_frame (xv_driver_t *this, xv_frame_t *frame) {
}
/* currently not used - we could have a method to call this from video loop */
-#if 0
static void xv_flush_recent_frames (xv_driver_t *this) {
int i;
@@ -757,7 +756,6 @@ static void xv_flush_recent_frames (xv_driver_t *this) {
this->recent_frames[i] = NULL;
}
}
-#endif
static int xv_redraw_needed (vo_driver_t *this_gen) {
xv_driver_t *this = (xv_driver_t *) this_gen;
@@ -1087,6 +1085,10 @@ static void xv_exit (vo_driver_t *this_gen) {
printf ("video_out_xv: xv_exit: XvUngrabPort() failed.\n");
}
XUnlockDisplay (this->display);
+
+ xv_flush_recent_frames (this);
+
+ free (this);
}
static int xv_check_yv12 (Display *display, XvPortID port) {