[ekiga] videooutput: select the display info to use



commit a202c2902ec835071366cf0114d353fca1023765
Author: VÃctor Manuel JÃquez Leal <vjaquez igalia com>
Date:   Fri Sep 7 19:07:16 2012 -0500

    videooutput: select the display info to use
    
    In the method {x,dx} setup_frame_display() the local display info is
    chosen according to the current frame mode, hence the corresponded
    display window is configured.
    
    In the common-videooutput, we will get the display info structure
    according to the stream type, since they are different widgets.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=687775

 .../videooutput-manager-common.cpp                 |   10 ++++++++--
 .../dx-videooutput/videooutput-manager-dx.cpp      |   16 +++++++++++-----
 .../x-videooutput/videooutput-manager-x.cpp        |   12 +++++++++---
 3 files changed, 28 insertions(+), 10 deletions(-)
---
diff --git a/lib/engine/components/common-videooutput/videooutput-manager-common.cpp b/lib/engine/components/common-videooutput/videooutput-manager-common.cpp
index ca7757b..ca6c7e8 100644
--- a/lib/engine/components/common-videooutput/videooutput-manager-common.cpp
+++ b/lib/engine/components/common-videooutput/videooutput-manager-common.cpp
@@ -132,7 +132,10 @@ void GMVideoOutputManager::set_frame_data (const char* data,
 {
   Ekiga::DisplayInfo local_display_info;
 
-  get_display_info(local_display_info);
+  if (type < 2)
+    get_display_info (local_display_info);
+  else
+    get_ext_display_info (local_display_info);
 
   bool local = (type == 0);
 
@@ -305,7 +308,10 @@ GMVideoOutputManager::frame_display_change_needed ()
 {
   Ekiga::DisplayInfo local_display_info;
 
-  get_display_info(local_display_info);
+  if (current_frame.mode != Ekiga::VO_MODE_REMOTE_EXT)
+    get_display_info (local_display_info);
+  else
+    get_ext_display_info (local_display_info);
 
   if ((!local_display_info.widget_info_set) ||
       (!local_display_info.config_info_set) ||
diff --git a/lib/engine/components/dx-videooutput/videooutput-manager-dx.cpp b/lib/engine/components/dx-videooutput/videooutput-manager-dx.cpp
index c61e8f2..c4a9fa5 100644
--- a/lib/engine/components/dx-videooutput/videooutput-manager-dx.cpp
+++ b/lib/engine/components/dx-videooutput/videooutput-manager-dx.cpp
@@ -73,8 +73,11 @@ GMVideoOutputManager_dx::setup_frame_display ()
 
   if (video_disabled)
     return;
-    
-  get_display_info(local_display_info);
+
+  if (current_frame.mode == Ekiga::VO_MODE_REMOTE_EXT)
+    get_ext_display_info(local_display_info);
+  else
+    get_display_info(local_display_info);
 
   switch (current_frame.mode) {
   case Ekiga::VO_MODE_LOCAL:
@@ -113,11 +116,14 @@ GMVideoOutputManager_dx::setup_frame_display ()
   default:
     PTRACE (1, "GMVideoOutputManager_dx\tDisplay variable not set");
     return;
-    break; 
+    break;
   }
 
-  if (   (!local_display_info.widget_info_set) || (!local_display_info.config_info_set) 
-      || (local_display_info.mode == Ekiga::VO_MODE_UNSET) || (local_display_info.zoom == 0) || (current_frame.zoom == 0)) {
+  if (!local_display_info.widget_info_set ||
+      !local_display_info.config_info_set ||
+      local_display_info.mode == Ekiga::VO_MODE_UNSET ||
+      local_display_info.zoom == 0 ||
+      current_frame.zoom == 0) {
     PTRACE(4, "GMVideoOutputManager_dx\tWidget not yet realized or gconf info not yet set, not opening display");
     return;
   }
diff --git a/lib/engine/components/x-videooutput/videooutput-manager-x.cpp b/lib/engine/components/x-videooutput/videooutput-manager-x.cpp
index 13d61b4..66ff256 100644
--- a/lib/engine/components/x-videooutput/videooutput-manager-x.cpp
+++ b/lib/engine/components/x-videooutput/videooutput-manager-x.cpp
@@ -205,7 +205,10 @@ GMVideoOutputManager_x::setup_frame_display ()
   if (video_disabled)
     return;
 
-  get_display_info(local_display_info);
+  if (current_frame.mode == Ekiga::VO_MODE_REMOTE_EXT)
+    get_ext_display_info (local_display_info);
+  else
+    get_display_info (local_display_info);
 
   switch (current_frame.mode) {
   case Ekiga::VO_MODE_LOCAL:
@@ -247,8 +250,11 @@ GMVideoOutputManager_x::setup_frame_display ()
     break;
   }
 
-  if ((!local_display_info.widget_info_set) || (!local_display_info.config_info_set) ||
-      (local_display_info.mode == Ekiga::VO_MODE_UNSET) || (local_display_info.zoom == 0) || (current_frame.zoom == 0)) {
+  if (!local_display_info.widget_info_set ||
+      !local_display_info.config_info_set ||
+      local_display_info.mode == Ekiga::VO_MODE_UNSET ||
+      local_display_info.zoom == 0 ||
+      current_frame.zoom == 0) {
     PTRACE(4, "GMVideoOutputManager_X\tWidget not yet realized or gconf info not yet set, not opening display");
     return;
   }



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