[mythtv] Recordings Sports Feature Wish/Development

Michael Rice mikerice1969 at gmail.com
Wed Feb 20 19:01:51 UTC 2008


On 2/20/08, David Engel <david at istwok.net> wrote:
> On Tue, Feb 19, 2008 at 07:10:06PM -0800, Michael Rice wrote:
> > Somewhere along the line it stopped working... I never was able to
> > determine the cause... but it would extend the recording for awhile
> > then stop without reason (i.e. the event was not over according to
> > MRE).  I think it was some kind of timing issue but I never completely
> > debugged it.
>
> For how lone and how often are you extending the recording?  If the
> recording ends before you extend it, it's too late.  Any extension
> after a recording has already stopped is ignored.

If I recall (it's been awhile since I played with this) if it sees a
recording will end in say 15 minutes and isn't over it will add 5
minutes and reschedule.

> Also, do you extend recordings multiple times by creating new
> overrides each time?  That's not supported.  kSingleRecords and
> kOverrideRecords can only be extended by editing the ending time for
> the existing rule.  Doing it any other way can produce erratic
> results.

This is probably what is going wrong.  I remember looking at the
record table and seeing many overrides corresponding to the recording
that was being extended.  But looking at the code it looks like it is
trying to do the right thing and just changing the endtime for single
and override rules:

         $rule = new RecordingRule($this->getVal('recordid'));
         if($rule->getVal('type') != RecordingRule::RECTYPE_OVERRIDE
&& $rule->getVal('type') != RecordingRule::RECTYPE_SINGLE)
         {
            $override = clone $rule;
            $override->setVal('parentid', $rule->getVal('recordid'));
            $override->fillOverride($this);
            $rule = $override;
         }
         ...

         else if($timeLeft <= $conf->getOpt('sleep'))
         {
            if(($end - $progend) < ($conf->getOpt('length') * 3600))
            {
               $rule->setVal('endoffset', $rule->getVal('endoffset') +
$conf->getOpt('sleep'));
               $rule->setChanged(TRUE);
               echo "Event isn't over.  Recording extended.\n";
            }
            else
               echo "Event isn't over, but it's already been extended
beyond the specified limit so doing nothing.\n";
         }

Unfortunately the last I heard the guy that wrote this didn't have a
working Myth box so we're probably on our own fixing it.

Thanks for the info David.  I will reinstall MRE and add some test
power search rules and see what's going on.  At least I have an idea
how it should work now.  Unforntunately it takes awhile to debug since
you have to wait for a sporting event that goes over it's scheduled
time.

I guess the rule can end the recordings early... not sure how that
will react with overrides...

And I wonder what happens if there are two recordings active using the
same power rule... can there be two overrides for one rule?


More information about the mythtv-dev mailing list