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