[ekiga] common-videooutput: add VO_MODE_REMOTE_EXT mode
- From: Eugen Dedu <ededu src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [ekiga] common-videooutput: add VO_MODE_REMOTE_EXT mode
- Date: Wed, 7 Nov 2012 13:34:09 +0000 (UTC)
commit 2a837bd4c6cad7e7f3283f3db3c2b9f6e1ecc6f3
Author: VÃctor Manuel JÃquez Leal <vjaquez igalia com>
Date: Tue Sep 4 16:58:18 2012 -0500
common-videooutput: add VO_MODE_REMOTE_EXT mode
This patch adds the extended remote video stream enum in the video output
mode.
Also it adds the switch labels where the enum is handled in order to avoid
compiler's complains, but no logic is added in those cases, in other words it
is just the skeleton. In the following commits that logic will be added.
.../videooutput-manager-common.cpp | 12 +++++++++---
.../x-videooutput/videooutput-manager-x.cpp | 5 +++++
lib/engine/videooutput/videooutput-info.h | 9 +++++----
3 files changed, 19 insertions(+), 7 deletions(-)
---
diff --git a/lib/engine/components/common-videooutput/videooutput-manager-common.cpp b/lib/engine/components/common-videooutput/videooutput-manager-common.cpp
index c7d6b4b..bb1de65 100644
--- a/lib/engine/components/common-videooutput/videooutput-manager-common.cpp
+++ b/lib/engine/components/common-videooutput/videooutput-manager-common.cpp
@@ -222,10 +222,13 @@ void GMVideoOutputManager::set_frame_data (const char* data,
}
if ((local_display_info.mode == Ekiga::VO_MODE_LOCAL) && !local)
- return;
+ return;
- if ((local_display_info.mode == Ekiga::VO_MODE_REMOTE) && local)
- return;
+ if (local_display_info.mode == Ekiga::VO_MODE_REMOTE && type != 1)
+ return;
+
+ if (local_display_info.mode == Ekiga::VO_MODE_REMOTE_EXT && type != 2)
+ return;
run_thread.Signal();
}
@@ -309,6 +312,7 @@ GMVideoOutputManager::frame_display_change_needed ()
last_frame.remote_height != current_frame.remote_height);
bool window_changed = (local_display_info.x != last_frame.embedded_x ||
local_display_info.y != last_frame.embedded_y);
+
switch (current_frame.mode) {
case Ekiga::VO_MODE_LOCAL:
return ( local_changed || window_changed );
@@ -327,6 +331,7 @@ GMVideoOutputManager::frame_display_change_needed ()
return ( remote_changed || local_changed );
break;
+ case Ekiga::VO_MODE_REMOTE_EXT: // no need to handle this
case Ekiga::VO_MODE_UNSET:
default:
break;
@@ -366,6 +371,7 @@ GMVideoOutputManager::redraw ()
display_pip_frames ((char*)lframeStore.GetPointer (), current_frame.local_width, current_frame.local_height,
(char*)rframeStore.GetPointer (), current_frame.remote_width, current_frame.remote_height);
break;
+ case Ekiga::VO_MODE_REMOTE_EXT: // no need to handle this
case Ekiga::VO_MODE_UNSET:
default:
break;
diff --git a/lib/engine/components/x-videooutput/videooutput-manager-x.cpp b/lib/engine/components/x-videooutput/videooutput-manager-x.cpp
index cd4decc..64f0835 100644
--- a/lib/engine/components/x-videooutput/videooutput-manager-x.cpp
+++ b/lib/engine/components/x-videooutput/videooutput-manager-x.cpp
@@ -94,6 +94,7 @@ GMVideoOutputManager_x::frame_display_change_needed ()
if (!rxWindow || (pip_window_available && (!lxWindow)) )
return true;
break;
+ case Ekiga::VO_MODE_REMOTE_EXT: // no need to handle this
case Ekiga::VO_MODE_UNSET:
default:
break;
@@ -209,6 +210,9 @@ GMVideoOutputManager_x::setup_frame_display ()
case Ekiga::VO_MODE_PIP_WINDOW:
Ekiga::Runtime::run_in_main (boost::bind (&GMVideoOutputManager_x::size_changed_in_main, this, 176, 144));
break;
+ case Ekiga::VO_MODE_REMOTE_EXT: // no need to handle this
+ PTRACE (1, "GMVideoOutputManager_X\tNo remote extended widget yet");
+ return;
case Ekiga::VO_MODE_UNSET:
default:
PTRACE (1, "GMVideoOutputManager_X\tDisplay variable not set");
@@ -362,6 +366,7 @@ GMVideoOutputManager_x::setup_frame_display ()
break;
}
+ case Ekiga::VO_MODE_REMOTE_EXT: // no need to handle this
case Ekiga::VO_MODE_UNSET:
default:
return;
diff --git a/lib/engine/videooutput/videooutput-info.h b/lib/engine/videooutput/videooutput-info.h
index 88d36b0..1d2f94b 100644
--- a/lib/engine/videooutput/videooutput-info.h
+++ b/lib/engine/videooutput/videooutput-info.h
@@ -58,15 +58,16 @@ namespace Ekiga {
/* Video modes */
typedef enum {
-
- VO_MODE_LOCAL,
- VO_MODE_REMOTE,
+
+ VO_MODE_LOCAL,
+ VO_MODE_REMOTE,
VO_MODE_PIP,
VO_MODE_PIP_WINDOW,
VO_MODE_FULLSCREEN,
+ VO_MODE_REMOTE_EXT,
VO_MODE_UNSET
} VideoOutputMode;
-
+
/* Toggle operations for Fullscreen */
typedef enum {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]