[mythtv] More scheduling scheduler

Max Barry mythtv at maxbarry.com
Mon Apr 17 03:50:31 UTC 2006


Here are my test results from the new "softpad" branch.

WHAT WORKED
-----------

Most of the time, it worked as advertised. That is, the scheduler would
move recordings to idle tuners and even later showings in order to
capture the soft padding. If that wasn't possible, it would drop the
soft padding before and/or after the show. Yay!

"Upcoming Recordings" also displayed the exact time that MythTV would be
recording, including any soft pad.

CONDITIONS
----------

I used the following settings:
* start-early soft pad of 60 seconds
* end-late soft pad of 120 seconds
* no pre-roll
* no post-roll
* no individual hard start-early or soft-late
* 2 tuner cards (IDs 6 and 7)
* no tuner/input priority

I tested scheduling only. That is, I did not actually record any
programs. I just scheduled different shows and watched what happened.

BUGS
----

I found three situations in which the program didn't act as I expected.

BUG #1: Setting or clearing a soft pad in "Setup" didn't trigger a
reschedule. That is, when I set my soft pad for the first time, nothing
happened until I changed one of my recordings.

I think all that's needed to fix this is to add:
   ScheduledRecording::signalChange(0);
... in mythfrontend/main.cpp after settings.exec().

BUG #2: The soft padding was sometimes mysteriously dropped when it
could have been preserved. I couldn't figure out why.

Example 1:

Title - Subtitle                    Chan Start  End   C I  T N   Pri
ABC News                               2 18:59-19:30  6 5  T 6   0/0
The Biggest Loser                      1 19:00-19:30  7 6  A 7   0/0
The 7.30 Report                        2 19:30-20:02  7 6  C 7   0/0
20 to 1 - "Great Aussie Ideas, Icon    9 19:30-20:35  6 5  A 6   0/0

Here THE BIGGEST LOSER has no 1-minute start-early pad, even though
tuner 7 is idle before that.

When I added an override to prevent ABC NEWS from being recorded, THE
BIGGEST LOSER's start-early pad mysteriously re-appeared:

Title - Subtitle                    Chan Start  End   C I  T N   Pri
The Biggest Loser                      1 18:59-19:30  7 6  A 7   0/0
ABC News                               2 19:00-19:30  0 0  O X   0/0
The 7.30 Report                        2 19:29-20:02  6 5  C 6   0/0
20 to 1 - "Great Aussie Ideas, Icon    9 19:30-20:35  7 6  A 7   0/0

Example 2:

Title - Subtitle                    Chan Start  End   C I  T N   Pri
The Biggest Loser                      1 18:59-19:30  7 6  A 7   0/0
The 7.30 Report                        2 19:29-20:02  6 5  C 6   0/0
20 to 1 - "Great Aussie Ideas, Icon    9 19:30-20:35  7 6  A 7   0/0

Here 20 TO 1 has no soft padding. For some reason its end-late padding
has been dropped, even though there's nothing scheduled after it.

When I changed the schedule so that 20 TO 1's start-early buffer could
be preserved (e.g. move its start time forward by a few minutes), its
end-late buffer mysteriously re-appeared also.

Example 3:

Title - Subtitle                    Chan Start  End   C I  T N   Pri
Survivor: Panama - Exile Island - "    9 19:29-20:32  7 6  A 7   0/0
Thank God You're Here                  1 19:30-20:30  6 5  A 6   0/0
House - "Dnr"                          1 20:30-21:32  6 5  A 6   0/0
ER - "Two Ships"                       9 21:30-22:30  7 6  A 7   0/0

"ER" has no soft padding, even though tuner 7 is idle before and afterward.

BUG #3: When a recording has a higher priority, its soft buffer turns
hard, causing conflicts with other shows.

Title - Subtitle                    Chan Start  End   C I  T N   Pri
ABC News                               2 18:59-19:30  7 6  T 7   0/0
The Biggest Loser                      1 18:59-19:32  0 0  A C   0/0
Survivor: Panama - Exile Island - "    9 19:29-20:32  6 5  A 6   2/0
Thank God You're Here                  1 19:30-20:30  7 6  A 7   0/0

Note that THE BIGGEST LOSER is conflicted, but it could be recorded if
its end-late padding and SURVIVOR's start-early padding was dropped.

When I removed SURVIVOR's raised priority, this problem went away.
Similarly, if I elevated the priority of the other shows so they were
all +2, soft buffers were dropped in order to resolve conflicts.

SUGGESTIONS
-----------

The following are mere ideas. Softpad will work perfectly well without
them. I hesitate to suggest them, because I would much rather have a
basic, working softpad in the trunk than a full-featured one stuck in a
branch. But I know other users want at least some of these, so I might
as well mention them as things to possibly consider in the future.

SUGGESTION #1: In "Upcoming Recordings," recordings for which MythTV is
planning to drop the soft pad could be shown in a different color.

Also, when a recording is highlighted, the lower information box could
show more detailed information. E.g. instead of just "Mon Apr 17, 8:29pm
- 9:32pm", it could display:
(a) Mon Apr 17, 8.29pm - 9:32pm (+1/+2)
... or...
(b) Mon Apr 17, 8:30pm - 9:30pm (8:29pm - 9:32pm)
... or something similar.

These would help users identify recordings that will not have soft
buffers, and distinguish the guide data time from the padded time.

SUGGESTION #2: When a program is conflicted, and the user views which
shows are conflicting it, MythTV could not list shows that only overlap
because of the soft padding. At present, it misleadingly suggests that
the conflict could be resolved by removing soft pads, which is not true.

SUGGESTION #3: In "Setup," soft pads should be specified in minutes, not
seconds. Soft pads are "just in case" buffers, for which it's not
important to specify a time that is precise to the second.

SUGGESTION #4: There are now two sets of buffer settings in "Setup",
distinguished only by the fact that one is called "soft" and the other
isn't called anything. However, it's backwards: pre-roll, being more
likely to be abandoned by the scheduler than this new system, is thus
actually softer.

Perhaps pre-roll can be actually called "pre-roll" in the UI. Or I know
devs were considering limiting pre-roll/post-roll to less than a minute:
if this was done, and soft pad was specified in minutes as per
Suggestion #3, this would provide an even clearer distinction between
the two.

SUGGESTION #5: Users could cancel or modify the soft padding of
individual recordings/showings. Because fine-grained control is nice. :)

Hope this helps! I'm happy to do more testing.

Max.



More information about the mythtv-dev mailing list