Changeset 14280


Ignore:
Timestamp:
02/24/12 18:40:13 (10 years ago)
Author:
nit
Message:

[titan] fixtime poweroff (if rec is running, don't stop box, increase timer and check again every 15 min

Location:
titan/titan
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • titan/titan/powerofftimer.h

    r14271 r14280  
    3030void checkshutdowntimer()
    3131{
     32        int mode = 0;
    3233        if(status.standby != 0) return;
    3334
     
    3738        time_t akttime = time(NULL);
    3839
    39         if((status.sd_timer != NULL && status.sd_timer->active && status.sd_timer->shutdown_time < akttime) || (status.fixpowerofftime > 1 && status.fixpowerofftime > akttime - 180 && status.fixpowerofftime < akttime))
     40        if(status.sd_timer != NULL && status.sd_timer->active && status.sd_timer->shutdown_time < akttime)
     41                mode = 1;
     42               
     43        if(status.fixpowerofftime > 1 && status.fixpowerofftime > akttime - 180 && status.fixpowerofftime < akttime)
     44                mode = 2;
     45               
     46        if(mode > 0)
    4047        {
    41                 status.fixpowerofftime += 86400;
     48                if(status.fixpowerofftime > 1) status.fixpowerofftime += 86400;
    4249                status.sd_timer->active = 0;
    4350                if(getconfigint("shutdowntimetype", NULL) == 0)
    44                         oshutdown(1, 3);
     51                {
     52                        if(mode == 2)
     53                        {
     54                                mode = 0;
     55                                oshutdown(1, 4);
     56                        }
     57                        else
     58                        {
     59                                mode = 0;
     60                                oshutdown(1, 3);
     61                        }
     62                }
    4563                else
    4664                {
     65                        mode = 0;
    4766                        status.standby = 2;
    4867                        screenstandby();
  • titan/titan/titan.c

    r14207 r14280  
    192192//flag: 2 check record / do write config
    193193//flag: 3 check record with timeout
     194//flag: 4 check record with increase fixpowerofftime
    194195void oshutdown(int exitcode, int flag)
    195196{
     
    202203
    203204        //check if record running
    204         if((flag == 1 || flag == 2 || flag == 3) && (status.recording > 0 || getrectimerbytimediff(300) != NULL))
    205         {
     205        if((flag == 1 || flag == 2 || flag == 3 || flag == 4) && (status.recording > 0 || getrectimerbytimediff(300) != NULL))
     206        {
     207                if(flag == 4 && status.fixpowerofftime > 1)
     208                {
     209                                status.fixpowerofftime = time(NULL) + 900; //check powerofftimer again in 15min
     210                                return;
     211                }
    206212                int timeout = 0;
    207                 if(flag == 3) timeout = 15;
     213                if(flag == 3 || flag == 4) timeout = 15;
    208214                if(textbox(_("Message"), _("Found running record\nor record is starting in next time.\nRealy shutdown ?"), _("OK"), getrcconfigint("rcok", NULL), _("EXIT"), getrcconfigint("rcexit", NULL), NULL, 0, NULL, 0, 600, 200, timeout, 1) == 2)
    209215                        return;
Note: See TracChangeset for help on using the changeset viewer.