[ekiga] videooutput: select the display info to use
- From: Eugen Dedu <ededu src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [ekiga] videooutput: select the display info to use
- Date: Mon, 24 Dec 2012 13:09:39 +0000 (UTC)
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]