Ticket #9610: zero_byte.diff

File zero_byte.diff, 3.6 KB (added by dl-mythtv@…, 15 years ago)
  • programs/mythbackend/mainserver.cpp

    old new  
    22402240    if (ismaster && recinfo.GetHostname() != gCoreContext->GetHostName())
    22412241    {
    22422242        PlaybackSock *slave = GetSlaveByHostname(recinfo.GetHostname());
     2243        RecStatusType status = recinfo.GetRecordingStatus();
    22432244
    22442245        if (slave)
    22452246        {
     
    22482249            if (num > 0)
    22492250            {
    22502251                (*encoderList)[num]->StopRecording();
    2251                 recinfo.SetRecordingStatus(rsRecorded);
     2252                if (status == rsRecording)
     2253                    recinfo.SetRecordingStatus(rsRecorded);
     2254                else if (status != rsRecorded && status != rsFailed)
     2255                    recinfo.SetRecordingStatus(rsFailed);
    22522256                if (m_sched)
    22532257                    m_sched->UpdateRecStatus(&recinfo);
    22542258            }
     
    22672271            // recording has stopped and the status should be updated.
    22682272            // Continue so that the master can try to update the endtime
    22692273            // of the file is in a shared directory.
    2270             recinfo.SetRecordingStatus(rsRecorded);
     2274            if (status == rsRecording)
     2275                recinfo.SetRecordingStatus(rsRecorded);
     2276            else if (status != rsRecorded && status != rsFailed)
     2277                recinfo.SetRecordingStatus(rsFailed);
    22712278            if (m_sched)
    22722279                m_sched->UpdateRecStatus(&recinfo);
    22732280        }
     
    22952302
    22962303            if (ismaster)
    22972304            {
    2298                 recinfo.SetRecordingStatus(rsRecorded);
     2305                RecStatusType status = recinfo.GetRecordingStatus();
     2306
     2307                if (status == rsRecording)
     2308                    recinfo.SetRecordingStatus(rsRecorded);
     2309                else if (status != rsRecorded && status != rsFailed)
     2310                    recinfo.SetRecordingStatus(rsFailed);
    22992311                if (m_sched)
    23002312                    m_sched->UpdateRecStatus(&recinfo);
    23012313            }
     
    24002412            if (num > 0)
    24012413            {
    24022414                (*encoderList)[num]->StopRecording();
    2403                 recinfo.SetRecordingStatus(rsRecorded);
     2415                if (recinfo.GetRecordingStatus() == rsRecording)
     2416                    recinfo.SetRecordingStatus(rsRecorded);
     2417                else if (recinfo.GetRecordingStatus() != rsFailed)
     2418                    recinfo.SetRecordingStatus(rsFailed);
    24042419                if (m_sched)
    24052420                    m_sched->UpdateRecStatus(&recinfo);
    24062421            }
     
    24412456
    24422457            if (ismaster)
    24432458            {
    2444                 recinfo.SetRecordingStatus(rsRecorded);
     2459                if (recinfo.GetRecordingStatus() == rsRecording)
     2460                    recinfo.SetRecordingStatus(rsRecorded);
     2461                else if (recinfo.GetRecordingStatus() != rsFailed)
     2462                    recinfo.SetRecordingStatus(rsFailed);
    24452463                if (m_sched)
    24462464                    m_sched->UpdateRecStatus(&recinfo);
    24472465            }
  • libs/libmythtv/tv_rec.cpp

    old new  
    874874    VERBOSE(VB_RECORD, LOC + QString("FinishedRecording(%1) in recgroup: %2")
    875875            .arg(curRec->GetTitle()).arg(recgrp));
    876876
    877     if (curRec->GetRecordingStatus() != rsFailed)
     877    RecStatusType status = curRec->GetRecordingStatus();
     878
     879    if (status == rsRecording)
    878880        curRec->SetRecordingStatus(rsRecorded);
     881    else if (status != rsRecorded && status != rsFailed)
     882        curRec->SetRecordingStatus(rsFailed);
    879883    curRec->SetRecordingEndTime(mythCurrentDateTime());
    880884
    881885    if (tvchain)