From patchwork Sat Sep 26 18:11:16 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Petri Hintukainen X-Patchwork-Id: 12751 Received: from mta-out.inet.fi ([195.156.147.13] helo=jenni2.inet.fi) by mail.linuxtv.org with esmtp (Exim 4.69) (envelope-from ) id 1Mrbk2-0005BO-Hk for vdr@linuxtv.org; Sat, 26 Sep 2009 20:11:31 +0200 Received: from [192.168.0.47] (88.195.105.224) by jenni2.inet.fi (8.5.014) id 4A77709101EF5973; Sat, 26 Sep 2009 21:11:20 +0300 From: Petri Hintukainen To: VDR Mailing List In-Reply-To: References: <20090824184821.34321c71@highlander.home.lan> Date: Sat, 26 Sep 2009 21:11:16 +0300 Message-Id: <1253988676.19014.280.camel@ph-laptop> Mime-Version: 1.0 X-Mailer: Evolution 2.26.1 X-LSpam-Score: -2.6 (--) X-LSpam-Report: No, score=-2.6 required=5.0 tests=BAYES_00=-2.599 autolearn=ham Subject: Re: [vdr] FullHD OSD problem X-BeenThere: vdr@linuxtv.org X-Mailman-Version: 2.1.11 Precedence: list Reply-To: VDR Mailing List List-Id: VDR Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 26 Sep 2009 18:11:31 -0000 Status: O X-Status: X-Keywords: X-UID: 21353 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 */