[prev in list] [next in list] [prev in thread] [next in thread] 

List:       xine-cvslog
Subject:    [xine-cvs] HG: xine-lib-1.2: Make use of the new
From:       Reinhard Nißl <rnissl () gmx ! de>
Date:       2009-06-11 18:23:44
Message-ID: 75d30f2fdcea1bb43364.1244724129 () hg ! debian ! org
[Download RAW message or body]

# HG changeset patch
# User Reinhard Nißl <rnissl@gmx.de>
# Date 1244724129 -7200
# Node ID 75d30f2fdcea1bb43364ad4ef1b24c222a174688
# Parent  32e8bf9e15e4aa8b6d80fa75d8c69b83436a3463
Make use of the new xine_osd_set_video_window() in input_vdr.

diff --git a/src/vdr/input_vdr.c b/src/vdr/input_vdr.c
--- a/src/vdr/input_vdr.c
+++ b/src/vdr/input_vdr.c
@@ -164,6 +164,9 @@
   pthread_mutex_t     vpts_offset_queue_lock;
   pthread_cond_t      vpts_offset_queue_changed_cond;
   int                 vpts_offset_queue_changes;
+
+  int                         video_window_active;
+  vdr_set_video_window_data_t video_window_event_data;
 };
 
 
@@ -453,6 +456,13 @@
       
       if (0 != this->osd[ data->window ].window)
       {
+#ifdef XINE_OSD_CAP_VIDEO_WINDOW
+        xine_osd_set_video_window(this->osd[ data->window ].window
+          , this->video_window_active ? this->video_window_event_data.x : 0
+          , this->video_window_active ? this->video_window_event_data.y : 0
+          , this->video_window_active ? this->video_window_event_data.w : 0
+          , this->video_window_active ? this->video_window_event_data.h : 0);
+#endif
         if (this->osd_unscaled_blending)
           xine_osd_show_unscaled(this->osd[ data->window ].window, 0);
         else
@@ -471,12 +481,7 @@
         return -1;
       
       if (0 != this->osd[ data->window ].window)
-      {
-        if (this->osd_unscaled_blending)
-          xine_osd_show_unscaled(this->osd[ data->window ].window, 0);
-        else
-          xine_osd_show(this->osd[ data->window ].window, 0);
-      }
+        xine_osd_hide(this->osd[ data->window ].window, 0);
     }
     break;
     
@@ -758,18 +763,22 @@
 */    
       {
         xine_event_t event;
-        vdr_set_video_window_data_t event_data;
+
+        this->video_window_active = (data->x != 0
+          || data->y != 0
+          || data->w != data->w_ref
+          || data->h != data->h_ref);
         
-        event_data.x = data->x;
-        event_data.y = data->y;
-        event_data.w = data->w;
-        event_data.h = data->h;
-        event_data.w_ref = data->w_ref;
-        event_data.h_ref = data->h_ref;
+        this->video_window_event_data.x = data->x;
+        this->video_window_event_data.y = data->y;
+        this->video_window_event_data.w = data->w;
+        this->video_window_event_data.h = data->h;
+        this->video_window_event_data.w_ref = data->w_ref;
+        this->video_window_event_data.h_ref = data->h_ref;
         
         event.type = XINE_EVENT_VDR_SETVIDEOWINDOW;
-        event.data = &event_data;
-        event.data_length = sizeof (event_data);
+        event.data = &this->video_window_event_data;
+        event.data_length = sizeof (this->video_window_event_data);
         
         xine_event_send(this->stream, &event);
       }

------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing 
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
Xine-cvslog mailing list
Xine-cvslog@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/xine-cvslog

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic