[ekiga/ds-fix-boost-leaks] VideOutput-Clutter: Display the logo a few microseconds on open.



commit cc3d78be833c1a32956c10efbb67762be91e66ef
Author: Damien Sandras <dsandras seconix com>
Date:   Thu Oct 15 18:54:42 2015 +0200

    VideOutput-Clutter: Display the logo a few microseconds on open.

 .../videooutput-manager-clutter-gst.cpp            |    7 +++++++
 .../videooutput-manager-clutter-gst.h              |    1 +
 2 files changed, 8 insertions(+), 0 deletions(-)
---
diff --git a/lib/engine/components/clutter-gst-videooutput/videooutput-manager-clutter-gst.cpp 
b/lib/engine/components/clutter-gst-videooutput/videooutput-manager-clutter-gst.cpp
index 4ce527c..96dc4ac 100644
--- a/lib/engine/components/clutter-gst-videooutput/videooutput-manager-clutter-gst.cpp
+++ b/lib/engine/components/clutter-gst-videooutput/videooutput-manager-clutter-gst.cpp
@@ -52,6 +52,7 @@
 GMVideoOutputManager_clutter_gst::GMVideoOutputManager_clutter_gst (G_GNUC_UNUSED Ekiga::ServiceCore & _core)
 {
   devices_nbr = 0;
+  frame = 0;
 
   for (int i = 0 ; i < 3 ; i++) {
     texture[i] = NULL;
@@ -149,6 +150,7 @@ GMVideoOutputManager_clutter_gst::close ()
     current_width[i] = 0;
   }
   devices_nbr = 0;
+  frame = 0;
 
   Ekiga::Runtime::run_in_main (boost::bind (&GMVideoOutputManager_clutter_gst::device_closed_in_main,
                                             this));
@@ -176,6 +178,10 @@ GMVideoOutputManager_clutter_gst::set_frame_data (const char *data,
 
   PWaitAndSignal m(device_mutex);
 
+  frame++;
+  if (frame < 5)
+    return;
+
   if (!pipeline[i]) {
     PTRACE (1, "GMVideoOutputManager_clutter_gst\tTrying to upload frame to closed pipeline " << i);
     return;
@@ -219,6 +225,7 @@ GMVideoOutputManager_clutter_gst::set_frame_data (const char *data,
                                                 i,
                                                 width,
                                                 height));
+    return;
   }
 
   buffer = gst_buffer_new_and_alloc (buffer_size);
diff --git a/lib/engine/components/clutter-gst-videooutput/videooutput-manager-clutter-gst.h 
b/lib/engine/components/clutter-gst-videooutput/videooutput-manager-clutter-gst.h
index def97e1..c89cbc3 100644
--- a/lib/engine/components/clutter-gst-videooutput/videooutput-manager-clutter-gst.h
+++ b/lib/engine/components/clutter-gst-videooutput/videooutput-manager-clutter-gst.h
@@ -95,6 +95,7 @@ private:
   GstElement *pipeline[3];
   ClutterActor *texture[3];
 
+  unsigned int frame;
   int devices_nbr;
 };
 


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