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=79647threadview=0hilight=hilightuser=0page=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