[mythtv-users] All tuners are equal, but some tuners are more equal than others

Yeechang Lee ylee at pobox.com
Sun Jul 5 05:59:03 UTC 2009


[Starting a new thread]

Michael T. Dean <mtdean at thirdcontact.com> says:
> > I agree that it would be nice to be able to tell the scheduler
> > that multiple tuners are identical in recording quality and thus
> > completely fungible (such as in my case, where all
> > programs--whether cable or over-the-air--are written directly to
> > disk in pure MPEG-2 streams directly from the providers).
> 
> In the case described (a couple of identical inputs), the LiveTV
> user should just enable, "Avoid conflicts..." and Myth will
> generally do the right thing.

This isn't a comprehensive solution beyond Live TV, though. Since the
scheduler always thinks the lowest-numbered tuner is the highest
quality, it always wants to use it even if another tuner is
equivalent. This causes the scheduler to be dumber than it should be.

Consider the following scenario:

Tuner 1, FireWire
Tuner 2, FireWire (so, identical in quality to 1)
Each tuner's input priority is set to 0, the default.

Movie A, today at 8-10pm (only airing within the scheduling data)
Movie B, today at 8-10pm (only airing within the scheduling data)

Result:

Today at 8pm:
Tuner 1->Movie A
Tuner 2->Movie B

Now, consider:

Movie A, today at 8-10pm (only airing within the scheduling data)
Movie B, today at 8-10pm, and again in three days at 1-3pm

Result:

Today at 8pm:
Tuner 1->Movie A
Tuner 2->unused

In three days at 1pm:
Tuner 1->Movie B
Tuner 2->unused

Since the scheduler believes that the lower-numbered tuner 1 is
superior to 2, and since it knows that B happens to air again, the
scheduler records A at 8-10pm but delays B until the later airing so
it can use tuner 1, even though 2 is available today. We now see that
the scheduler only happened to do the right thing in the first
scenario by accident.

Now, consider:

Movie A, today at 8-10pm (only airing within the scheduling data)
Movie B, today at 8-10pm, and again in three days at 1-3pm
TV show C, in three days at 1:30-2pm (only airing within the
scheduling data)

Result:
Today at 8pm:
Tuner 1->Movie A
Tuner 2->Movie B

In three days at 1pm:
Tuner 1->TV show C
Tuner 2->unused

In this scenario the scheduler again does the right thing, but again
only by accident, because it is forced to by tuner 1 not being
available for the later airing.

I tried to compensate for the scheduler's behavior by increasing each
successive tuner's input priority by 1 (e.g., 0 for tuner 1, 1 for
tuner 2, etc.). The scheduler then simply uses those priorities and
seemingly ignores the tuners' order, however, which defeats the
purpose of the compensation in the first place.

-- 
Frontend/backend:	P4 3.0GHz, 1.5TB software RAID 5 array
Backend:		Quad-core Xeon 1.6GHz, 6.6TB sw RAID 6
Video inputs:		Four high-definition over FireWire/OTA
Accessories:		47" 1080p LCD, 5.1 digital, and MX-600


More information about the mythtv-users mailing list