Changeset 21228


Ignore:
Timestamp:
04/26/13 18:27:10 (11 years ago)
Author:
nit
Message:

[titan] fix audio record

File:
1 edited

Legend:

Unmodified
Added
Removed
  • titan/titan/record.h

    r20977 r21228  
    572572
    573573                                //inject first pakets slower/smaler, so demux can start and read
    574                                 if(status.timeshift == 0 && servicenode->type == RECORDPLAY && count < 20)
     574                                if(servicenode->type == RECORDPLAY && count < 20)
    575575                                {
    576                                         count++;
    577                                         usleep(50000);
     576                                        if(status.timeshift == 0)
     577                                                usleep(50000);
     578                                        else
     579                                                count = 19;
    578580                                        if(count == 19)
    579581                                        {
     
    600602                                                }
    601603                                        }
     604                                        count++;
    602605                                }
    603606                        }
     
    758761int recordstartreal(struct channel* chnode, int filefd, int recordfd, int type, time_t endtime, struct rectimer* rectimernode, int tssize)
    759762{
    760         int ret = 0, fd = -1, servicetype = RECORDDIRECT, festatus = 0;
     763        int ret = 0, fd = -1, servicetype = RECORDDIRECT, festatus = 0, pcrpidmatch = 0;
    761764        char* path = NULL, *chname = NULL, *filename = NULL, *moviename = NULL;
    762765        unsigned char* patbuf = NULL, *pmtbuf = NULL;
     
    10131016                        if(chnode->videopid > 0) dmxaddpid(dmxnode, chnode->videopid);
    10141017                        dmxaddpid(dmxnode, chnode->pmtpid);
    1015                         if(chnode->pcrpid > 0 && chnode->pcrpid != chnode->videopid) dmxaddpid(dmxnode, chnode->pcrpid);
    10161018                        //add all audiotracks
    10171019                        atrack = chnode->audiotrack;
     
    10201022                                if(atrack->audiopid > 0 && atrack->audiopid != chnode->audiopid)
    10211023                                        dmxaddpid(dmxnode, atrack->audiopid);
     1024                                if(atrack->audiopid == chnode->pcrpid) pcrpidmatch = 1;
    10221025                                atrack = atrack->next;
    10231026                        }
     1027                        if(chnode->pcrpid > 0 && chnode->pcrpid != chnode->videopid && chnode->pcrpid != chnode->audiopid && pcrpidmatch == 0) dmxaddpid(dmxnode, chnode->pcrpid);
    10241028                }
    10251029                else
Note: See TracChangeset for help on using the changeset viewer.