Ticket #8856: StartRecording-WaitForTune.patch

File StartRecording-WaitForTune.patch, 1.7 KB (added by jpoet, 14 years ago)

Wait for tune before setting rsRecording status

  • libs/libmythtv/tv_rec.cpp

     
    122122      stateChangeLock(QMutex::Recursive),
    123123      pendingRecLock(QMutex::Recursive),
    124124      internalState(kState_None), desiredNextState(kState_None),
    125       changeState(false), pauseNotify(true),
     125      changeState(false), m_isTuned(true), pauseNotify(true),
    126126      stateFlags(0), lastTuningRequest(0),
    127127      triggerEventLoopLock(QMutex::NonRecursive),
    128128      triggerEventLoopSignal(false),
     
    16181618        stateChangeLock.lock();
    16191619
    16201620        // verify that we were triggered.
    1621         ok = (tuningRequests.empty() && !changeState);
     1621        ok = (tuningRequests.empty() && m_isTuned && !changeState);
    16221622    }
    16231623    return ok;
    16241624}
     
    35073507
    35083508        // The dequeue isn't safe to do until now because we
    35093509        // release the stateChangeLock to teardown a recorder
     3510        m_isTuned = false;
    35103511        tuningRequests.dequeue();
    35113512
    35123513        // Now we start new stuff
     
    35423543    if (HasFlags(kFlagWaitingForSignal) && !(streamData = TuningSignalCheck()))
    35433544        return;
    35443545
     3546    m_isTuned = true;
     3547
    35453548    if (HasFlags(kFlagNeedToStartRecorder))
    35463549    {
    35473550        if (recorder)
  • libs/libmythtv/tv_rec.h

     
    355355    TVState        internalState;
    356356    TVState        desiredNextState;
    357357    bool           changeState;
     358    bool           m_isTuned;
    358359    bool           pauseNotify;
    359360    uint           stateFlags;
    360361    TuningQueue    tuningRequests;