[banshee] [GStreamer PlayerEngine] Work around pipeline bug



commit afeb3630f295d34cb76a061103080a7ccf308504
Author: Aaron Bockover <abockover novell com>
Date:   Sat May 30 00:56:32 2009 -0400

    [GStreamer PlayerEngine] Work around pipeline bug
    
    There's still a regression somewhere in the engine/pipeline that is resulting
    in an invalid first pipeline if the first track for the engine is video.
    
    The pipeline destruction in case of this error caused the clutter video
    sink to be reset. To avoid this issue for now, we always create a new video
    sink when the pipeline is constructed.
    
    This needs closer investigation.
---
 .../Banshee.GStreamer/PlayerEngine.cs              |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs b/src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs
index b2d2cab..d889e7c 100644
--- a/src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs
+++ b/src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs
@@ -518,7 +518,11 @@ namespace Banshee.GStreamer
         private IntPtr OnVideoPipelineSetup (IntPtr player, IntPtr bus)
         {
             try {
-                if (clutter_video_sink_enabled && clutter_video_sink == IntPtr.Zero) {
+                if (clutter_video_sink_enabled) {
+                    if (clutter_video_sink != IntPtr.Zero) {
+                        // FIXME: does this get unreffed by the pipeline?
+                    }
+                    
                     clutter_video_sink = clutter_gst_video_sink_new (clutter_video_texture);
                 } else if (!clutter_video_sink_enabled && clutter_video_sink != IntPtr.Zero) {
                     clutter_video_sink = IntPtr.Zero;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]