Kimmo Taskinen wrote:
> I am still using 1.6.0-2 and have patched it for FullHD OSD 
> (http://www.vdrportal.de/board/thread.php?threadid=79647&threadview=0&hilight=&hilightuser=0&page=1
>  
> ). Frontend is xineliboutput-cvs (vdr-sxfe in other computer; tcp  
> connection) and skinenigmang-0.1.0 is in use. Everything seems fine  
> except that if I use antialiased fonts there is one problem that I  
> have noticed only with epgsearch plugin "Schedule" view. The problem  
> is that Schedule is not shown if the OSD should be really full. With  
> short EPG info the schedule is shown.
> 
> The problem seems to be in buffering as I get following message in / 
> var/log/messages:
> Aug 25 18:04:35 server vdr: [7573] [xine..put] write_osd_command:  
> socket buffer full, OSD send skipped (got 262142 ; need 302366
> 
> 256k seems to be the limit.
>
> Is it the problem in vdr, xineliboutput, epgsearch or somewhere else?  

xineliboutput limits compressed OSD bitmap size.

> OK I understand that these versions were not designed for fullHD  
> support but anyways it would be nice fix this.

Does the attached patch fix the problem ?


- Petri
Index: frontend_svr.c
===================================================================
RCS file: /cvsroot/xineliboutput/vdr-xineliboutput/frontend_svr.c,v
retrieving revision 1.81
diff -u -r1.81 frontend_svr.c
--- frontend_svr.c	9 Sep 2009 12:38:12 -0000	1.81
+++ frontend_svr.c	26 Sep 2009 18:02:06 -0000
@@ -52,6 +52,9 @@
 #define PLAYFILE_CTRL_TIMEOUT   300   /* ms */
 #define PLAYFILE_TIMEOUT      20000   /* ms */
 
+#undef  MIN
+#define MIN(a,b) ( (a) < (b) ? (a) : (b))
+
 typedef struct {
   int    Size;
   uchar *Data;
@@ -241,7 +244,7 @@
                  (ssize_t)(sizeof(xine_clut_t) * ntohl(cmd->colors)) +
                  (ssize_t)(ntohl(cmd->datalen));
 
-  if(max > 0 && max < size) {
+  if(max > 0 && max < MIN(size, 32768)) {
 /* #warning TODO: buffer latest failed OSD and retry
                   -> skipped OSDs can be left out but
                   latest will be always delivered */
_______________________________________________
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr

Reply via email to