Changeset 18262
- Timestamp:
- 10/16/12 15:24:14 (11 years ago)
- Location:
- titan/titan
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
titan/titan/player.h
r18258 r18262 42 42 int16_t pmtpid = 0; 43 43 int serviceid = 0; 44 int supermagic = 0;44 int supermagic = -1; 45 45 struct channel* chnode = NULL; 46 46 struct service* snode = NULL; … … 48 48 struct dvbdev* dvrnode = NULL; 49 49 50 supermagic = getsupermagic(file);50 //supermagic = getsupermagic(file); 51 51 52 52 if(supermagic == NFS_SUPER_MAGIC || supermagic == SMB_SUPER_MAGIC) -
titan/titan/record.h
r18257 r18262 284 284 int readwritethread(struct stimerthread* stimer, struct service* servicenode, int flag) 285 285 { 286 int readret = 0, writeret = 0, ret = 0, recbsize = 0, tmprecbsize = 0, i = 0, pktcount = 0 ;286 int readret = 0, writeret = 0, ret = 0, recbsize = 0, tmprecbsize = 0, i = 0, pktcount = 0, frbsize = 0; 287 287 int readtimeout = -1, writetimeout = -1; 288 int recsync = 0, frcount = 0 ;288 int recsync = 0, frcount = 0, count = 0; 289 289 unsigned char* buf = NULL, *tmpbuf = NULL; 290 290 char* retstr = NULL; … … 299 299 300 300 recsync = getconfigint("recsync", NULL); 301 frbsize = servicenode->tssize * 2788; 301 302 302 303 if(servicenode->type == RECORDDIRECT || servicenode->type == RECORDTIMER || servicenode->type == RECORDTIMESHIFT) … … 316 317 if(servicenode->type == RECORDPLAY) 317 318 { 318 recbsize = servicenode->tssize * 2788;319 tmprecbsize = 188 * 2788;319 recbsize = servicenode->tssize * 188; 320 tmprecbsize = 188 * 188; 320 321 } 321 322 if(servicenode->type == RECORDSTREAM) recbsize = servicenode->tssize * 2788; … … 368 369 if(frcount == 0 && status.playspeed < 0) 369 370 { 370 off64_t pos = lseek64(servicenode->recsrcfd, -( recbsize * 8), SEEK_CUR);371 off64_t pos = lseek64(servicenode->recsrcfd, -(frbsize * 8), SEEK_CUR); 371 372 videodiscontinuityskip(status.aktservice->videodev, -1); 372 373 … … 390 391 { 391 392 frcount += readret; 392 if(frcount >= recbsize * 4)393 if(frcount >= frbsize * 4) 393 394 frcount = 0; 394 395 … … 415 416 else 416 417 writeret = dvbwrite(servicenode->recdstfd, buf, readret, writetimeout); 418 419 //inject first pakets slower/smaler, so demux can start and read 420 if(servicenode->type == RECORDPLAY && count < 20) 421 { 422 count++; 423 usleep(20000); 424 if(count == 19) 425 { 426 recbsize = servicenode->tssize * 2788; 427 tmprecbsize = 188 * 2788; 428 429 free(buf); 430 buf = malloc(recbsize); 431 if(buf == NULL) 432 { 433 err("no mem"); 434 servicenode->recendtime = 1; 435 } 436 437 if(servicenode->tssize == 192) 438 { 439 free(tmpbuf); 440 tmpbuf = malloc(tmprecbsize); 441 if(tmpbuf == NULL) 442 { 443 err("no mem"); 444 servicenode->recendtime = 1; 445 } 446 } 447 } 448 } 449 417 450 } 418 451 -
titan/titan/service.h
r17962 r18262 431 431 432 432 //get ait and parse it for hbbtv url 433 if( chnode->aitpid > 0)433 if(flag == 0 && chnode->aitpid > 0) 434 434 { 435 435 unsigned char* aitbuf = NULL;
Note: See TracChangeset
for help on using the changeset viewer.