summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulien MOUTTE <julien@moutte.net>2004-10-08 20:15:48 +0000
committerJulien MOUTTE <dolphy@src.gnome.org>2004-10-08 20:15:48 +0000
commit08a7a719e6bb4dac3858e74d02f7223f6dcc967e (patch)
tree1b6f05de91677567bdd719bbba040e5b473501d6
parent1a107c5f613374f812fde8147082e18905ce0f9e (diff)
downloadtotem-08a7a719e6bb4dac3858e74d02f7223f6dcc967e.tar.gz
Drawing a black background on each expose event is doing flickering video.
2004-10-08 Julien MOUTTE <julien@moutte.net> * src/bacon-video-widget-gst.c: (bacon_video_widget_expose_event): Drawing a black background on each expose event is doing flickering video. Moreover it can hide the video away in some cases.
-rw-r--r--ChangeLog6
-rw-r--r--src/backend/bacon-video-widget-gst.c11
-rw-r--r--src/bacon-video-widget-gst.c11
3 files changed, 18 insertions, 10 deletions
diff --git a/ChangeLog b/ChangeLog
index bf9c6c2d3..ef11e8236 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2004-10-08 Julien MOUTTE <julien@moutte.net>
+
+ * src/bacon-video-widget-gst.c: (bacon_video_widget_expose_event):
+ Drawing a black background on each expose event is doing flickering
+ video. Moreover it can hide the video away in some cases.
+
2004-10-08 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* src/Makefile.am:
diff --git a/src/backend/bacon-video-widget-gst.c b/src/backend/bacon-video-widget-gst.c
index f35a4d059..396455622 100644
--- a/src/backend/bacon-video-widget-gst.c
+++ b/src/backend/bacon-video-widget-gst.c
@@ -273,11 +273,6 @@ bacon_video_widget_expose_event (GtkWidget *widget, GdkEventExpose *event)
gdk_draw_rectangle (widget->window, widget->style->black_gc, TRUE, 0, 0,
widget->allocation.width, widget->allocation.height);
- gdk_draw_rectangle (bvw->priv->video_window, widget->style->black_gc, TRUE,
- bvw->priv->video_window_allocation.x,
- bvw->priv->video_window_allocation.y,
- bvw->priv->video_window_allocation.width,
- bvw->priv->video_window_allocation.height);
gst_x_overlay_set_xwindow_id (bvw->priv->xoverlay, window);
if (GST_STATE (bvw->priv->play) >= GST_STATE_PAUSED) {
@@ -313,6 +308,12 @@ bacon_video_widget_expose_event (GtkWidget *widget, GdkEventExpose *event)
gdk_pixbuf_unref (logo);
}
+ else {
+ gdk_draw_rectangle (bvw->priv->video_window, widget->style->black_gc, TRUE,
+ 0, 0,
+ bvw->priv->video_window_allocation.width,
+ bvw->priv->video_window_allocation.height);
+ }
return TRUE;
}
diff --git a/src/bacon-video-widget-gst.c b/src/bacon-video-widget-gst.c
index f35a4d059..396455622 100644
--- a/src/bacon-video-widget-gst.c
+++ b/src/bacon-video-widget-gst.c
@@ -273,11 +273,6 @@ bacon_video_widget_expose_event (GtkWidget *widget, GdkEventExpose *event)
gdk_draw_rectangle (widget->window, widget->style->black_gc, TRUE, 0, 0,
widget->allocation.width, widget->allocation.height);
- gdk_draw_rectangle (bvw->priv->video_window, widget->style->black_gc, TRUE,
- bvw->priv->video_window_allocation.x,
- bvw->priv->video_window_allocation.y,
- bvw->priv->video_window_allocation.width,
- bvw->priv->video_window_allocation.height);
gst_x_overlay_set_xwindow_id (bvw->priv->xoverlay, window);
if (GST_STATE (bvw->priv->play) >= GST_STATE_PAUSED) {
@@ -313,6 +308,12 @@ bacon_video_widget_expose_event (GtkWidget *widget, GdkEventExpose *event)
gdk_pixbuf_unref (logo);
}
+ else {
+ gdk_draw_rectangle (bvw->priv->video_window, widget->style->black_gc, TRUE,
+ 0, 0,
+ bvw->priv->video_window_allocation.width,
+ bvw->priv->video_window_allocation.height);
+ }
return TRUE;
}