Re: [vdr] FullHD OSD problem

2009-09-26 Thread Petri Hintukainen
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 -	1.81
+++ frontend_svr.c	26 Sep 2009 18:02:06 -
@@ -52,6 +52,9 @@
 #define PLAYFILE_CTRL_TIMEOUT   300   /* ms */
 #define PLAYFILE_TIMEOUT  2   /* ms */
 
+#undef  MIN
+#define MIN(a,b) ( (a) < (b) ? (a) : (b))
+
 typedef struct {
   intSize;
   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


Re: [vdr] FullHD OSD problem

2009-09-26 Thread Kimmo Taskinen

The patch fixed the problem. Thanks a lot :-).

- Kimmo

On 26 Sep 2009, at 21:11, Petri Hintukainen wrote:


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




___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr