Changeset 26516


Ignore:
Timestamp:
02/27/14 14:37:02 (9 years ago)
Author:
gost
Message:

[titan] resync for Data Loss

File:
1 edited

Legend:

Unmodified
Added
Removed
  • titan/titan/record.h

    r25921 r26516  
    632632                                }
    633633                                else
    634                                                 writeret = dvbwrite(servicenode->recdstfd, buf, readret, writetimeout);
     634                                {
     635                                        if(buf[0] != 0x47)
     636                                        {
     637                                                debug(200, "resync");
     638                                                i = 1;
     639                                                while(i < 188)
     640                                                {
     641                                                        if(buf[i] == 0x47) break;
     642                                                        i++;
     643                                                }
     644                                                if(i < 188)
     645                                                {
     646                                                        memcpy(buf, buf + i, recbsize - i);
     647                                                        dvbreadfd(servicenode->recsrcfd, buf, recbsize - i, i, readtimeout, 0);
     648                                                }
     649                                        }
     650                                        writeret = dvbwrite(servicenode->recdstfd, buf, readret, writetimeout);
     651                                }
    635652
    636653                                //inject first pakets slower/smaler, so demux can start and read
Note: See TracChangeset for help on using the changeset viewer.