From: <ni...@us...> - 2007-03-14 22:17:51
|
Update of /cvsroot/dvbtools/dvbstream In directory sc8-pr-cvs12.sourceforge.net:/tmp/cvs-serv5213 Modified Files: dvbstream.c Log Message: replaced dynamic allocation of section->buf with much faster statically allocated array Index: dvbstream.c =================================================================== RCS file: /cvsroot/dvbtools/dvbstream/dvbstream.c,v retrieving revision 1.35 retrieving revision 1.36 diff -C2 -d -r1.35 -r1.36 *** dvbstream.c 14 Mar 2007 22:06:45 -0000 1.35 --- dvbstream.c 14 Mar 2007 22:17:48 -0000 1.36 *************** *** 418,425 **** int map_cnt; typedef struct { ! unsigned char *buf; unsigned int pos; - unsigned int len; } section_t; --- 418,426 ---- int map_cnt; + //1024 section payload +1 pointer +256 pointer value + #define SECTION_LEN 1281 typedef struct { ! unsigned char buf[SECTION_LEN]; unsigned int pos; } section_t; *************** *** 443,458 **** unsigned char *ptr; - if(section->buf==NULL) - { - if(!pusi) - return 0; - section->buf = malloc(4096); - section->len = 4096; - section->pos = 0; - } if(pusi) section->pos = 0; ! if(section->pos + len > 4096) return 0; --- 444,451 ---- unsigned char *ptr; if(pusi) section->pos = 0; ! if(section->pos + len > SECTION_LEN) return 0; *************** *** 460,466 **** section->pos += len; - if(section->len < 3) - return 0; - skip = section->buf[0]; if(skip + 4 > section->pos) --- 453,456 ---- |