| 1945 | |
| 1946 | uint chanid = gCoreContext->GetNumSetting("DefaultChanid", 0); |
| 1947 | |
| 1948 | if (chanid && !IsTunable(ctx, chanid)) |
| 1949 | chanid = 0; |
| 1950 | |
| 1951 | QString channum = ""; |
| 1952 | |
| 1953 | if (chanid) |
| 1954 | { |
| 1955 | QStringList reclist; |
| 1956 | |
| 1957 | MSqlQuery query(MSqlQuery::InitCon()); |
| 1958 | query.prepare("SELECT channum FROM channel " |
| 1959 | "WHERE chanid = :CHANID"); |
| 1960 | query.bindValue(":CHANID", chanid); |
| 1961 | if (query.exec() && query.isActive() && query.size() > 0 && query.next()) |
| 1962 | channum = query.value(0).toString(); |
| 1963 | else |
| 1964 | channum = QString::number(chanid); |
| 1965 | |
| 1966 | bool getit = ctx->recorder->ShouldSwitchToAnotherCard( |
| 1967 | QString::number(chanid)); |
| 1968 | |
| 1969 | if (getit) |
| 1970 | reclist = ChannelUtil::GetValidRecorderList(chanid, channum); |
| 1971 | |
| 1972 | if (reclist.size()) |
| 1973 | { |
| 1974 | RemoteEncoder *testrec = NULL; |
| 1975 | testrec = RemoteRequestFreeRecorderFromList(reclist); |
| 1976 | if (testrec && testrec->IsValidRecorder()) |
| 1977 | { |
| 1978 | ctx->SetRecorder(testrec); |
| 1979 | ctx->recorder->Setup(); |
| 1980 | } |
| 1981 | } |
| 1982 | else if (getit) |
| 1983 | chanid = 0; |
| 1984 | } |
| 1985 | |