summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/video_out/video_out_xcbxv.c20
-rw-r--r--src/video_out/video_out_xv.c13
2 files changed, 31 insertions, 2 deletions
diff --git a/src/video_out/video_out_xcbxv.c b/src/video_out/video_out_xcbxv.c
index 6b8bc3919..bbc9b4adb 100644
--- a/src/video_out/video_out_xcbxv.c
+++ b/src/video_out/video_out_xcbxv.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_xcbxv.c,v 1.1 2007/02/15 15:19:33 dgp85 Exp $
+ * $Id: video_out_xcbxv.c,v 1.2 2007/02/15 18:26:55 dgp85 Exp $
*
* video_out_xcbxv.c, X11 video extension interface for xine
*
@@ -898,6 +898,9 @@ static int xv_gui_data_exchange (vo_driver_t *this_gen,
/* XExposeEvent * xev = (XExposeEvent *) data; */
if (this->cur_frame) {
+ int i;
+ xcb_rectangle_t rects[4];
+ int rects_count = 0;
pthread_mutex_lock(&this->main_mutex);
@@ -920,6 +923,21 @@ static int xv_gui_data_exchange (vo_driver_t *this_gen,
this->cur_frame->xv_data_size, this->cur_frame->image);
}
+ xcb_change_gc(this->connection, this->gc, XCB_GC_FOREGROUND, &this->screen->black_pixel);
+
+ for( i = 0; i < 4; i++ ) {
+ if( this->sc.border[i].w && this->sc.border[i].h ) {
+ rects[rects_count].x = this->sc.border[i].x;
+ rects[rects_count].y = this->sc.border[i].y;
+ rects[rects_count].width = this->sc.border[i].w;
+ rects[rects_count].height = this->sc.border[i].h;
+ rects_count++;
+ }
+ }
+
+ if (rects_count > 0)
+ xcb_poly_fill_rectangle(this->connection, this->window, this->gc, rects_count, rects);
+
if(this->xoverlay)
xcbosd_expose(this->xoverlay);
diff --git a/src/video_out/video_out_xv.c b/src/video_out/video_out_xv.c
index 3dc62920d..75a4a37e2 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.221 2006/12/25 15:19:51 dgp85 Exp $
+ * $Id: video_out_xv.c,v 1.222 2007/02/15 18:26:55 dgp85 Exp $
*
* video_out_xv.c, X11 video extension interface for xine
*
@@ -953,6 +953,7 @@ static int xv_gui_data_exchange (vo_driver_t *this_gen,
/* XExposeEvent * xev = (XExposeEvent *) data; */
if (this->cur_frame) {
+ int i;
LOCK_DISPLAY(this);
@@ -972,6 +973,16 @@ static int xv_gui_data_exchange (vo_driver_t *this_gen,
this->sc.output_width, this->sc.output_height);
}
+ XSetForeground (this->display, this->gc, this->black.pixel);
+
+ for( i = 0; i < 4; i++ ) {
+ if( this->sc.border[i].w && this->sc.border[i].h ) {
+ XFillRectangle(this->display, this->drawable, this->gc,
+ this->sc.border[i].x, this->sc.border[i].y,
+ this->sc.border[i].w, this->sc.border[i].h);
+ }
+ }
+
if(this->xoverlay)
x11osd_expose(this->xoverlay);