Changeset 4674 for trunk/module-dvbapi.c
- Timestamp:
- 02/03/11 17:27:34 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/module-dvbapi.c
r4664 r4674 303 303 dvbapi_set_filter(demux_id, selected_api, pid, filter, filter+16, timeout, pidindex, count, type); 304 304 } 305 306 void dvbapi_sort_nanos(unsigned char *dest, const unsigned char *src, int len) 307 { 308 int w=0, c=-1, j=0; 309 while(1) { 310 int n=0x100; 311 for(j=0; j<len;) { 312 int l=src[j+1]+2; 313 if(src[j]==c) { 314 if(w+l>len) { 315 cs_debug_mask(D_DVBAPI, "sortnanos: sanity check failed. Exceeding memory area. Probably corrupted nanos!"); 316 memset(dest,0,len); // zero out everything 317 return; 318 } 319 memcpy(&dest[w],&src[j],l); 320 w+=l; 321 } else if(src[j]>c && src[j]<n) 322 n=src[j]; 323 j+=l; 324 } 325 if(n==0x100) break; 326 c=n; 327 } 328 } 329 305 330 306 331 int dvbapi_find_emmpid(int demux_id, uint8 type) {
Note:
See TracChangeset
for help on using the changeset viewer.