From: <wt...@ke...> - 2007-07-14 18:33:37
|
CVS Root: /cvs/gstreamer Module: gst-plugins-base Changes by: wtay Date: Sat Jul 14 2007 18:33:29 UTC Log message: Patch by: Bastien Nocera <hadess at hadess dot net> * sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support), (gst_xvimagesink_set_property), (gst_xvimagesink_get_property), (gst_xvimagesink_init), (gst_xvimagesink_class_init): * sys/xvimage/xvimagesink.h: Add option to turn off double-buffering for debugging purposes. Fixes #437169. Modified files: . : ChangeLog sys/xvimage : xvimagesink.c xvimagesink.h Links: http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-base/ChangeLog.diff?r1=1.3405&r2=1.3406 http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-base/sys/xvimage/xvimagesink.c.diff?r1=1.188&r2=1.189 http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-base/sys/xvimage/xvimagesink.h.diff?r1=1.43&r2=1.44 ====Begin Diffs==== Index: ChangeLog =================================================================== RCS file: /cvs/gstreamer/gst-plugins-base/ChangeLog,v retrieving revision 1.3405 retrieving revision 1.3406 diff -u -d -r1.3405 -r1.3406 --- ChangeLog 14 Jul 2007 18:20:41 -0000 1.3405 +++ ChangeLog 14 Jul 2007 18:33:15 -0000 1.3406 @@ -1,5 +1,16 @@ 2007-07-14 Wim Taymans <wim...@gm...> + Patch by: Bastien Nocera <hadess at hadess dot net> + + * sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support), + (gst_xvimagesink_set_property), (gst_xvimagesink_get_property), + (gst_xvimagesink_init), (gst_xvimagesink_class_init): + * sys/xvimage/xvimagesink.h: + Add option to turn off double-buffering for debugging purposes. + Fixes #437169. +2007-07-14 Wim Taymans <wim...@gm...> Patch by: Jorn Baayen <jorn at openedhand dot com> * sys/ximage/ximagesink.c: (gst_ximagesink_handle_xevents), Index: xvimagesink.c RCS file: /cvs/gstreamer/gst-plugins-base/sys/xvimage/xvimagesink.c,v retrieving revision 1.188 retrieving revision 1.189 diff -u -d -r1.188 -r1.189 --- xvimagesink.c 14 Jul 2007 18:20:41 -0000 1.188 +++ xvimagesink.c 14 Jul 2007 18:33:15 -0000 1.189 @@ -195,7 +195,8 @@ ARG_HANDLE_EVENTS, ARG_DEVICE, ARG_DEVICE_NAME, - ARG_HANDLE_EXPOSE + ARG_HANDLE_EXPOSE, + ARG_DOUBLE_BUFFER }; static GstVideoSinkClass *parent_class = NULL; @@ -1330,7 +1331,8 @@ if (!strcmp (attr[i].name, dbl_buffer)) { const Atom atom = XInternAtom (xcontext->disp, dbl_buffer, False); - XvSetPortAttribute (xcontext->disp, xcontext->xv_port_id, atom, 1); + XvSetPortAttribute (xcontext->disp, xcontext->xv_port_id, atom, + (xvimagesink->double_buffer ? 1 : 0)); break; } @@ -2854,6 +2856,9 @@ case ARG_HANDLE_EXPOSE: xvimagesink->handle_expose = g_value_get_boolean (value); break; + case ARG_DOUBLE_BUFFER: + xvimagesink->double_buffer = g_value_get_boolean (value); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -2918,6 +2923,9 @@ g_value_set_boolean (value, xvimagesink->handle_expose); + g_value_set_boolean (value, xvimagesink->double_buffer); @@ -3013,6 +3021,7 @@ xvimagesink->pool_lock = g_mutex_new (); xvimagesink->synchronous = FALSE; + xvimagesink->double_buffer = TRUE; xvimagesink->running = FALSE; xvimagesink->keep_aspect = FALSE; xvimagesink->handle_events = TRUE; @@ -3088,6 +3097,9 @@ g_param_spec_boolean ("handle-expose", "Handle expose", "When enabled, " "the current frame will always be drawn in response to X Expose " "events", TRUE, G_PARAM_READWRITE)); + g_object_class_install_property (gobject_class, ARG_DOUBLE_BUFFER, + g_param_spec_boolean ("double-buffer", "Double-buffer", + "Whether to double-buffer the output", TRUE, G_PARAM_READWRITE)); gobject_class->finalize = gst_xvimagesink_finalize; Index: xvimagesink.h RCS file: /cvs/gstreamer/gst-plugins-base/sys/xvimage/xvimagesink.h,v retrieving revision 1.43 retrieving revision 1.44 diff -u -d -r1.43 -r1.44 --- xvimagesink.h 14 Jul 2007 18:20:41 -0000 1.43 +++ xvimagesink.h 14 Jul 2007 18:33:15 -0000 1.44 @@ -251,6 +251,7 @@ GSList *image_pool; gboolean synchronous; + gboolean double_buffer; gboolean keep_aspect; gboolean draw_border; gboolean handle_events; |