[Xfce4-commits] <parole:master> Fix expose event when playing audio streams.
Ali Abdallah
noreply at xfce.org
Wed Nov 25 10:40:04 CET 2009
Updating branch refs/heads/master
to 50af066bdc9b275a2e0ef7ec73c0535eb035bf14 (commit)
from 6150772a10bea9b6c15eef941f8a79124bc3e8b6 (commit)
commit 50af066bdc9b275a2e0ef7ec73c0535eb035bf14
Author: Ali Abdallah <ali at ali-xfce.org>
Date: Wed Nov 25 10:16:44 2009 +0100
Fix expose event when playing audio streams.
gst/parole-gst.c | 29 +++++++++++++++++++++++------
1 files changed, 23 insertions(+), 6 deletions(-)
diff --git a/gst/parole-gst.c b/gst/parole-gst.c
index 5fa697b..bdd8c06 100644
--- a/gst/parole-gst.c
+++ b/gst/parole-gst.c
@@ -488,14 +488,31 @@ parole_gst_expose_event (GtkWidget *widget, GdkEventExpose *ev)
parole_gst_set_x_overlay (gst);
- if ( (gst->priv->state < GST_STATE_PAUSED || !gst->priv->with_vis ) &&
- !playing_video && !gst->priv->buffering && gst->priv->target != GST_STATE_PLAYING )
- parole_gst_draw_logo (gst);
- else
+ switch ( gst->priv->state )
{
- gst_x_overlay_expose (GST_X_OVERLAY (gst->priv->video_sink));
+ case GST_STATE_PLAYING:
+ if ( playing_video || gst->priv->with_vis)
+ gst_x_overlay_expose (GST_X_OVERLAY (gst->priv->video_sink));
+ else
+ parole_gst_draw_logo (gst);
+ break;
+ case GST_STATE_PAUSED:
+ if ( playing_video || gst->priv->with_vis || gst->priv->target == GST_STATE_PLAYING )
+ gst_x_overlay_expose (GST_X_OVERLAY (gst->priv->video_sink));
+ else
+ parole_gst_draw_logo (gst);
+ break;
+ case GST_STATE_READY:
+ if (gst->priv->with_vis == FALSE && gst->priv->target != GST_STATE_PLAYING)
+ parole_gst_draw_logo (gst);
+ else
+ gst_x_overlay_expose (GST_X_OVERLAY (gst->priv->video_sink));
+ break;
+ case GST_STATE_NULL:
+ case GST_STATE_VOID_PENDING:
+ parole_gst_draw_logo (gst);
+ break;
}
-
return TRUE;
}
More information about the Xfce4-commits
mailing list