[mythtv] Ticket #6438: maxEpisodes is not respected with back-to-back recordings

Chris Pinkham cpinkham at bc2va.org
Tue Apr 14 02:25:45 UTC 2009


* On Mon Apr 13, 2009 at 01:35:10PM -0500, David Engel wrote:
> On Sun, Apr 12, 2009 at 01:48:49PM -0400, Shane wrote:
> > Not 100% sure but setting preserve=1 looks like it would protect the recording
> > from being bumped off due to maxepisodes but still eligible for autoexpire?
> 
> That's the way I read the code.

Ditto.  I don't think that's an issue though.  Preserve was meant to be
a way to get around maxepisodes.  So for instance I could keep that
special Brady Bunch Christmas Special/Reunion In Hawaii episode around
without having it count against my maxepisodes of 5 for the Brady Bunch.
In this case after seeing that there was a freak thunderstorm with the
accompanying weather crawlers at the bottom of the screen during my
recording of the Brady Bunch 4th of July Special/Reunion in Miami, my wife
asks that I try to get a better recording of it.  Now, because the two
of us love our Brady Bunch so much, we have AutoExpire disabled, so
setting preserve = 1 will allow us to have 7 episodes total now
(counting that priceless Hawaii episode with Alice doing the hula
dance).  Now, if this had been the BJ And The Bear episode where Bear
falls in love with the waitress which recorded during the storm and we
had wanted to get a better copy of it, then it would be a little
different.  We're not as fond of this as the Brady's, so autoexpire is
turned on, so there's a chance that we might lose our only copy of
the hilarious Bear/waitress episode if our drives fill up with the
upcoming Family Ties marathon this Saturday, but that's our own fault
because we didn't turn off autoexpire on BJ And The Bear.

> > v3 unconditionally sets preserve=1 in PlaybackBox::doAllowRerecord(),
> > which would make "Forget Old" in mythweb inconsistent with "Forget Previous"
> > in the frontend. :/   There are likely other ramifications I haven't
> > thought of too.
> 
> I wouldn't be the first time mythfrontend and mythweb have differed.
> They can be reconciled when the desired behavior is agreed upon.

I think mythweb was broken and 15808 fixed it, so I don't think it's a
big issue to change things now.  The 'Forget Old' button in MythWeb says
that pressing it will allow the episode to record.  The only reason that
is true now is because we set duplicate = 0 in
ProgramInfo::ForgetHistory() and now honor that in the scheduler
allowing a currently recorded program to be rerecorded.  Prior to 15808,
that button would have not had any real effect until you deleted the
original.

I think the best thing to do is for us to remove the duplicate <> 0
check, update PlaybackBox::doAllowRerecord() to call
pginfo->SetPreserveEpisode(true), and then we can add a way for MythWeb
to set preserve = 0.  Having duplicate = 0 will allow the recording to
rerecord, and having preserve = 0 will allow the original to not count
against the maxepisodes.

Shane, have you tested that reverting the "duplicate <> 0" does fix your
issue?  If so, you can revert that line and reference #3917 in the commit
and then I'll reopen #3917 and commit the SetPreserveEpisode(true) fix
now for mythfrontend and we can get MythWeb fixed in another patch.

--
Chris


More information about the mythtv-dev mailing list