Re: [Ekiga-list] How to rotate Remote Video Output by 90 degrees?



On 03/11/12 22:41, Andrei Bazhgin wrote:
Using xrandr to rotate the whole screen is not an option. Another
application is dependent on the screen mode to be where it already is.

I DO want to change the source code.

What file do I have to modify? Is there a patch available for this?

Try looking at lib/engine/components/x-videooutput/videooutput-manager-x.cpp or other files in that directory. As a completely irrelevant example, I attach a patch which shows only remote video in fullscreen mode.

Alternatively, you can look at libv4l too, I remember that some drivers had this rotating problem and liv4l fixed them in their code.

On Sat, Nov 3, 2012 at 4:13 PM, Eugen Dedu
<Eugen Dedu pu-pm univ-fcomte fr>  wrote:
On 03/11/12 22:09, Andrei Bazhgin wrote:

Hi, I am trying to have Ekiga show the output of the remote video but
the video should be tilted/rotated 90 degrees?

The problem is that the display where it will be running is running in
portrait mode and switching to landscape mode is not an option.

I am using Freebsd 9. and Ekiga 4 source code.


It is not possible as far as I know.

Any suggestions?


You have to change the source code.

You can also play with xrandr to rotate the whole screen if this is an
option.
--- lib/engine/components/x-videooutput/videooutput-manager-x.cpp	2009-07-04 15:46:07.000000000 +0200
+++ lib/engine/components/x-videooutput/videooutput-manager-x2.cpp	2012-08-20 15:06:06.397490468 +0200
@@ -329,7 +329,7 @@
 
 #ifdef HAVE_XV
     if (current_frame.accel == Ekiga::VO_ACCEL_REMOTE_ONLY) {
-      lxWindow = new XVWindow();
+      /*lxWindow = new XVWindow();
       if (lxWindow->Init (   rxWindow->GetDisplay (), 
                              rxWindow->GetWindowHandle (),
                              rxWindow->GetGC (),
@@ -348,14 +348,14 @@
 	lxWindow = NULL;
         pip_window_available = false;
         PTRACE(1, "GMVideoOutputManager_X\tPIP: Could not open local XV Window");
-      }
+        }*/
     }
 #endif
     if ((current_frame.accel != Ekiga::VO_ACCEL_ALL) && (local_display_info.allow_pip_sw_scaling)) {
       PTRACE(3, "GMVideoOutputManager_X\tFalling back to SW" << ((local_display_info.disable_hw_accel) 
                                       ? " since HW acceleration was deactivated by configuration" 
                                       : " since HW acceleration failed to initalize"));
-      lxWindow = new XWindow ();
+      /*lxWindow = new XWindow ();
       if (lxWindow->Init ( lDisplay, 
                              rxWindow->GetWindowHandle (),
                              (current_frame.mode == Ekiga::VO_MODE_PIP) ? local_display_info.gc : NULL,
@@ -374,7 +374,7 @@
        lxWindow = NULL;
        pip_window_available = false;
        PTRACE(4, "GMVideoOutputManager_X\tPIP: Could not open local X Window - picture-in-picture disabled");
-      }
+       }*/
     }
 
     if ((current_frame.accel != Ekiga::VO_ACCEL_ALL) && (!local_display_info.allow_pip_sw_scaling)) {
@@ -382,6 +382,7 @@
       current_frame.accel = Ekiga::VO_ACCEL_ALL;
     }
 
+    lxWindow = NULL;
     if (rxWindow && lxWindow) {
 
       rxWindow->RegisterSlave (lxWindow);


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