Ticket #8491: 8491-v1.patch

File 8491-v1.patch, 4.8 KB (added by danielk, 10 years ago)

Possible fix

  • libs/libmythtv/recordinginfo.h

     
    102102
    103103        uint findid,
    104104
     105        bool commfree,
    105106        uint subtitleType,
    106107        uint videoproperties,
    107108        uint audioproperties);
     
    139140        RecordingDupInType dupin,
    140141        RecordingDupMethodType dupmethod,
    141142
    142         uint findid);
     143        uint findid,
    143144
     145        bool commfree);
     146
    144147    // Create ProgramInfo that overlaps the desired time on the
    145148    // specified channel id.
    146149    typedef enum {
  • libs/libmythtv/recordinginfo.cpp

     
    9090
    9191    uint _findid,
    9292
     93    bool _commfree,
    9394    uint _subtitleType,
    9495    uint _videoproperties,
    9596    uint _audioproperties) :
     
    121122    programflags |= _repeat ? FL_REPEAT : 0;
    122123    programflags &= ~FL_REACTIVATE;
    123124    programflags |= _reactivate ? FL_REACTIVATE : 0;
     125    programflags &= ~FL_CHANCOMMFREE;
     126    programflags |= _commfree ? FL_CHANCOMMFREE : 0;
    124127
    125128    oldrecstatus = _oldrecstatus;
    126129
     
    183186    RecordingDupInType _dupin,
    184187    RecordingDupMethodType _dupmethod,
    185188
    186     uint _findid) :
     189    uint _findid,
     190
     191    bool _commfree) :
    187192    ProgramInfo(
    188193        _title, _subtitle, _description, _category,
    189194        _chanid, _chanstr, _chansign, _channame, QString(),
     
    204209    dupmethod = _dupmethod;
    205210
    206211    findid = _findid;
     212
     213    programflags &= ~FL_CHANCOMMFREE;
     214    programflags |= _commfree ? FL_CHANCOMMFREE : 0;
    207215}
    208216
    209217/** \brief Fills RecordingInfo for the program that air at
  • libs/libmyth/programinfo.cpp

     
    790790    clear();
    791791
    792792    MSqlQuery query(MSqlQuery::InitCon());
    793     query.prepare("SELECT chanid, channum, callsign, name "
    794                   "FROM channel "
    795                   "WHERE chanid=:CHANID");
     793    query.prepare(
     794        "SELECT chanid, channum, callsign, name, outputfilters, commmethod "
     795        "FROM channel "
     796        "WHERE chanid=:CHANID");
    796797    query.bindValue(":CHANID", _chanid);
    797798    if (query.exec() && query.next())
    798799    {
    799800        chanstr  = query.value(1).toString();
    800801        chansign = query.value(2).toString();
    801802        channame = query.value(3).toString();
     803        chanplaybackfilters = query.value(4).toString();
     804        set_flag(programflags, FL_CHANCOMMFREE,
     805                 query.value(5).toInt() == COMM_DETECT_COMMFREE);
    802806    }
    803807
    804808    chanid = _chanid;
  • programs/mythbackend/scheduler.cpp

     
    34183418
    34193419            result.value(34).toUInt(),//findid
    34203420
     3421            result.value(23).toInt() == COMM_DETECT_COMMFREE,//commfree
    34213422            result.value(39).toUInt(),//subtitleType
    34223423            result.value(38).toUInt(),//videoproperties
    34233424            result.value(40).toUInt());//audioproperties
     
    35483549        "       RECTABLE.dupin,       RECTABLE.dupmethod,   " // 19,20
    35493550        "       RECTABLE.findid,                            " // 21
    35503551        "       RECTABLE.startoffset, RECTABLE.endoffset    " // 22,23
     3552        "       channel.commmethod,                         " // 24
    35513553        "FROM RECTABLE "
    35523554        "INNER JOIN channel ON (channel.chanid = RECTABLE.chanid) "
    35533555        "LEFT JOIN recordmatch on RECTABLE.recordid = recordmatch.recordid "
     
    36573659            RecordingDupInType(result.value(19).toInt()),
    36583660            RecordingDupMethodType(result.value(20).toInt()),
    36593661
    3660             result.value(21).toUInt());
     3662            result.value(21).toUInt(),
    36613663
     3664            result.value(24).toInt() == COMM_DETECT_COMMFREE);
     3665
    36623666        tmpList.push_back(p);
    36633667    }
    36643668
     
    36823686        "       RECTABLE.recordid,    RECTABLE.type,        " // 17,18
    36833687        "       RECTABLE.dupin,       RECTABLE.dupmethod,   " // 19,20
    36843688        "       RECTABLE.findid                             " // 21
     3689        "       channel.commmethod,                         " // 22
    36853690        "FROM RECTABLE "
    36863691        "LEFT JOIN channel ON channel.callsign = RECTABLE.station "
    36873692        "GROUP BY recordid "
     
    37443749            RecordingDupInType(result.value(19).toInt()),
    37453750            RecordingDupMethodType(result.value(20).toInt()),
    37463751
    3747             result.value(21).toUInt()));
     3752            result.value(21).toUInt(),
     3753
     3754            result.value(22).toInt() == COMM_DETECT_COMMFREE));
    37483755    }
    37493756}
    37503757