[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