Ticket #4807: save_last_chan.diff

File save_last_chan.diff, 2.0 KB (added by Mark Buechler <Mark.Buechler@…>, 16 years ago)

The patch.

  • tv_play.cpp

    old new void TV::HandleStateChange(void) 
    15011501        lockTimerOn = false;
    15021502
    15031503        SET_NEXT();
    1504         recorder->SpawnLiveTV(tvchain->GetID(), false, "");
     1504
     1505        uint chanid = gContext->GetNumSetting("DefaultChanid", 0);
     1506
     1507        if (chanid)
     1508        {
     1509            QStringList reclist;
     1510            QString channum;
     1511
     1512            MSqlQuery query(MSqlQuery::InitCon());
     1513            query.prepare("SELECT channum FROM channel "
     1514                          "WHERE chanid = :CHANID");
     1515            query.bindValue(":CHANID", chanid);
     1516            if (query.exec() && query.isActive() && query.size() > 0 && query.next())
     1517                channum = query.value(0).toString();
     1518            else
     1519                channum = QString::number(chanid);
     1520
     1521            bool getit = activerecorder->ShouldSwitchToAnotherCard(
     1522                QString::number(chanid));
     1523
     1524            if (getit)
     1525                reclist = GetValidRecorderList(chanid, channum);
     1526
     1527            if (reclist.size())
     1528            {
     1529                RemoteEncoder *testrec = NULL;
     1530                testrec = RemoteRequestFreeRecorderFromList(reclist);
     1531                if (testrec && testrec->IsValidRecorder())
     1532                {
     1533                    recorder = testrec;
     1534                    recorder->Setup();
     1535                    recorder->SpawnLiveTV(tvchain->GetID(), false, channum);
     1536                }
     1537            }
     1538            else
     1539                chanid = 0;
     1540        }
     1541
     1542        if (!chanid)
     1543            recorder->SpawnLiveTV(tvchain->GetID(), false, "");
    15051544
    15061545        tvchain->ReloadAll();
    15071546
  • NuppelVideoPlayer.cpp

    old new int NuppelVideoPlayer::OpenFile(bool ski 
    11631163
    11641164    bookmarkseek = GetBookmark();
    11651165
     1166    gContext->SaveSetting("DefaultChanid", m_playbackinfo->chanid);
     1167
    11661168    return IsErrored() ? -1 : 0;
    11671169}
    11681170