[mythtv] Merging cards and inputs, testing help needed

David Engel david at istwok.net
Sat Jan 17 06:29:28 UTC 2015

I am starting a series of changes that will eventually lead to
supporting multirec without the need for virtual tuners.  While
virtual tuners work, they have a couple of problems.  First, the extra
tuners create more combinations the scheduler has to check.  In most
cases when there is a conflict with one virtual tuner, the other
tuners for the same physical card will also conflict and checking them
is just a waste of time.  Second, because each tuner is limited to one
recording at a time, the scheduler can still run into cases where it
runs out of tuners.  Currently when that happens, the only solution is
to add more virtual tuners which only exacerbates the first problem.

Note that virtual tuners won't be going away completely.  As I
understand it, there are some tuners which have hardware limits as to
how many simultaneous recordings they can handle.  For those cases,
virtual tuners will still be used.

The first major change is this series is to merge cards and inputs in
the MythTV recording model so that there are only cards.  While this
isn't strictly necessary to support multirec without virtual tuners,
the developers agreed that it was a long overdue simplification.
Analog cards with multiple, physical, mutually exclusive inputs such
as Television, Composite and S-Video were the original reason for the
two-level card and input model.  Those type of cards are in declining
use, and when they are used, typically only one input is used and the
others are left unconfigured and unused.  Consequently, we can
eliminate that two-level model altogether and use input groups for the
rare cases where multiple, physical inputs on a card are actually
still used.

I just pushed the first step in merging cards and inputs to the
devel/scheduler branch in git.  These changes primarily contain a
schema update to move the contents of the cardinput table into the
capturecard table.  Accompanying that schema update are the fairly
limited code changes needed to keep things working.  After these
changes, the card and input model is still very prevalent in the code,
but cardid and inputid are essentially synonymous.  After these
changes have been sufficiently tested, I will begin changing the
internal and external interfaces to just have cards.

I have tested these changes on the tuners that I have available and
things seem to work as intended.  The tuners I have are single input
DVB cards and an HDHR Prime and a Ceton ETH6.  That leaves many other
things I can't test myself and now need others with different tuners
and setups to help me out.

Here are some general things I need tested by anyone who is willing to

1. Verify that the schema update results in a correct and working

2. Verify that cards and inputs can still be added, modified and

Here are some more specific things that I need tested by anyone with
the right hardware.

3. Verify that multiple inputs on V4L and HD-PVR tuners still work
when they are configured as separate cards.

4. Verify that multiple inputs on a DVB card still work.  I don't
fully understand what having multiple inputs on such a card really
means, but MythTV appeared to have some support for it and I tried not
to break it.

If anyone can help out with this testing, please do and post your
results back here.

David Engel
david at istwok.net

More information about the mythtv-dev mailing list