[ekiga] common-videooutput: extended stream needs update



commit 4dd7dc946bcd5f581fb3377017a42a42e4750135
Author: VÃctor Manuel JÃquez Leal <vjaquez igalia com>
Date:   Tue Sep 4 11:23:10 2012 -0500

    common-videooutput: extended stream needs update
    
    This patch adds the logic to mark when the extended stream is updated, meaning
    that a new frame has been stored in the byte array.
    
    This patch doesn't add visible changes in the UI. All remains behind the
    curtains.

 .../videooutput-manager-common.cpp                 |   11 ++++++++++-
 .../videooutput-manager-common.h                   |    1 +
 2 files changed, 11 insertions(+), 1 deletions(-)
---
diff --git a/lib/engine/components/common-videooutput/videooutput-manager-common.cpp b/lib/engine/components/common-videooutput/videooutput-manager-common.cpp
index 9df2022..c7d6b4b 100644
--- a/lib/engine/components/common-videooutput/videooutput-manager-common.cpp
+++ b/lib/engine/components/common-videooutput/videooutput-manager-common.cpp
@@ -199,13 +199,20 @@ void GMVideoOutputManager::set_frame_data (const char* data,
     }
     update_required.local = true;
   }
-  else {
+  else if (type == 1) {
 
     if (update_required.remote) {
       PTRACE(3, "GMVideoOutputManager\tSkipped earlier remote frame");
     }
     update_required.remote = true;
   }
+  else if (type == 2) {
+
+    if (update_required.extended) {
+      PTRACE(3, "GMVideoOutputManager\tSkipped earlier extended frame");
+    }
+    update_required.extended = true;
+  }
 
   var_mutex.Signal();
 
@@ -256,6 +263,7 @@ void GMVideoOutputManager::init()
   ext_frame_received = false;
   update_required.local = false;
   update_required.remote = false;
+  update_required.extended = false;
 
 }
 
@@ -365,6 +373,7 @@ GMVideoOutputManager::redraw ()
 
   update_required.local = false;
   update_required.remote = false;
+  update_required.extended = false;
 
   return sync_required;
 }
diff --git a/lib/engine/components/common-videooutput/videooutput-manager-common.h b/lib/engine/components/common-videooutput/videooutput-manager-common.h
index e716bc6..021e886 100644
--- a/lib/engine/components/common-videooutput/videooutput-manager-common.h
+++ b/lib/engine/components/common-videooutput/videooutput-manager-common.h
@@ -127,6 +127,7 @@
     typedef struct {
       bool local;
       bool remote;
+      bool extended;
     } UpdateRequired;
 
     /** The main video thread loop



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