[mythtv-users] 2 mux on same time

Josu Lazkano josu.lazkano at gmail.com
Wed Feb 9 15:10:53 UTC 2011


2011/2/9 Adam Juraszek <juriad at gmail.com>:
> I might have found another solution, but it requires patching the source code.
>
> every channel change triggers
> void TV::ChangeChannel(PlayerContext *ctx, uint chanid, const QString
> &chan) in tv_play.cpp:
> but in some situations (direct number input in livetv), chanid is not
> set, so I must do I manually:
>
> // added because I need to force calling ShouldSwitchToAnotherCard;
> WORKS ONLY IN MY CASE: I have all channels available on all cards, so
> there is a bijection between channum and chanid
> else if (!channum.isEmpty() && !chanid) {
>
>                MSqlQuery query(MSqlQuery::InitCon());
>                query.prepare("SELECT chanid "
>                        "FROM channel "
>                        "WHERE channum = :CHANNUM");
>                query.bindValue(":CHANNUM", channum);
>                if (!query.exec()) {
>                        MythDB::DBError("select chanid by channum failed ", query);
>                }
>                if (query.next()) {
>                        chanid = query.value(0).toUInt();
>                }
>        }
>
> the ShouldSwitchToAnotherCard request goes through network and is implemented by
> bool TVRec::ShouldSwitchToAnotherCard(QString chanid) in tv_rec.cpp
> it will try to find channel on current card first, but it doesn't
> check if the channel is tunable on that card
>
> // this will try to check tunability on current card as well
> else if (query.size() > 0) {
>                msg
>                                = "Found channel (%1) on current card(%2). and checking if it is tunable";
>                VERBOSE(VB_RECORD, LOC + msg.arg(channelname).arg(cardid));
>
>                if (channel->IsTunable(channel->GetCurrentInput(), channelname)) {
>                        VERBOSE(VB_RECORD, "is tunable!, return false");
>                        return false;
>                }
>                VERBOSE(VB_RECORD, "is *not* tunable!, will check other cards");
>        }
>
> I think some of these changes could be ported in git, especially the second one.
>
> hope this will help somebody with the same problem.
>
> Adam Juraszek

Thanks for your help, I am not an expert and I don't know how to add
this code on MythTV. It will be great to upload to the source for the
next release.

Thanks for the help and best regards.

-- 
Josu Lazkano


More information about the mythtv-users mailing list