Changeset 14611


Ignore:
Timestamp:
03/13/12 02:23:55 (10 years ago)
Author:
nit
Message:

[titan] fix record in standby if tuner volt is off

Location:
titan/titan
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • titan/titan/record.h

    r14369 r14611  
    672672                                        else
    673673                                                servicestart(chnode, NULL, NULL, 0);
     674                                       
     675                                        if(status.standby > 0) servicestop(status.aktservice, 1, 0);   
     676                                       
    674677                                        fenode = fegetfree(tpnode, 2, NULL);
    675678                                        if(fenode == NULL)
     
    684687
    685688                //frontend tune
    686                 if(fenode != status.aktservice->fedev)
     689                if(fenode != status.aktservice->fedev || (status.standby > 0 && getconfigint("standbytuneroff", NULL) == 1))
    687690                {
    688691                        if(fenode->feinfo->type == FE_QPSK)
  • titan/titan/service.h

    r14384 r14611  
    5858//flag 2: timeshift
    5959//flag 3: same as 0 but don't check chnode
     60//flag 4: same as 0 but new tuning
     61//flag 5: same as 3 but new tuning
    6062int servicestart(struct channel* chnode, char* channellist, char* pin, int flag)
    6163{
     
    7072        int ret = 0, festatus = 1;
    7173        unsigned char *patbuf = NULL;
    72         int checkpmt = 0, pincheck = 0, stopflag = 0, ageprotect = 0;
     74        int checkpmt = 0, pincheck = 0, stopflag = 0, ageprotect = 0, tune = 0;
    7375        struct epg* epgnode = NULL;
    7476
    7577        m_lock(&status.servicemutex, 2);
     78
     79        if(flag == 4 || flag == 5) tune = 1;
     80        if(flag == 4) flag == 0;
    7681
    7782        if(flag == 0 && status.aktservice->type == CHANNEL && status.aktservice->channel != NULL && chnode == status.aktservice->channel)
     
    8085                return 20;
    8186        }
    82         if(flag == 3) flag = 0;
     87        if(flag == 3 || flag == 5) flag = 0;
    8388
    8489        if(chnode == NULL)
     
    146151
    147152                //frontend tune
    148                 if(fenode->felasttransponder != tpnode)
     153                if(fenode->felasttransponder != tpnode || tune == 1)
    149154                {
    150155                        if(fenode->feinfo->type == FE_QPSK)
  • titan/titan/standby.h

    r14266 r14611  
    6262                if(lastrun + 300 < time(NULL) && ostrcmp(loctime, getconfig("epg_refreshtime", NULL)) == 0)
    6363                {
     64                        //TODO: check if volt is off
    6465                        //start epg scanlist
    6566                        lastrun = time(NULL);
     
    7778        setvfdbrightness(getconfigint("vfdbrightness", NULL));
    7879
    79         if(status.aktservice->fedev != NULL && voltoff == 1)
    80         {
    81                 status.aktservice->fedev->felasttransponder = NULL;
    82                 status.aktservice->fedev->feaktpolarization = 0;
    83                 status.aktservice->fedev->feakttransponder = NULL;
    84         }
     80        tmpstr = ostrcat(status.lastservice->channellist, NULL, 0, 0);
     81        if(voltoff == 1)
     82                servicestart(status.lastservice->channel, tmpstr, NULL, 4);
     83        else
     84                servicestart(status.lastservice->channel, tmpstr, NULL, 0);
     85        free(tmpstr); tmpstr = NULL;
    8586
    86         tmpstr = ostrcat(status.lastservice->channellist, NULL, 0, 0);
    87         servicestart(status.lastservice->channel, tmpstr, NULL, 0);
    88         free(tmpstr); tmpstr = NULL;
    8987        subtitlepause(0);
    9088        status.standby = 0;
Note: See TracChangeset for help on using the changeset viewer.