[mythtv] [PATCH] DTVRecorder::HandleKeyframe - SetPositionMap/Delta

John Patrick Poet john at BlueSkyTours.com
Wed Dec 29 15:13:29 UTC 2004


On Wed, 29 Dec 2004, Daniel Thor Kristjansson wrote:

> On Wed, 29 Dec 2004, John Patrick Poet wrote:
> ]I finally discovered why I cannot record three HD shows while watching a
> ]fourth, for more than an hour.
> ]In the DTV processing of keyframes, it was calling SetPositionMap instead of
> ]SetPositionMapDelta.  This means that it was trying to delete/insert the
> ]position map data for the *entire* show, each time!
>
> Ah! This explains why this only happens late in the recordings, and not
> for everyone. If your DB can keep up with these mad inserts after 2
> hours, the problem is unlikely to ever be triggered. I'm impressed that
> this worked as well as it did, mysql must be pretty speedy.
>
> -- Daniel
>

While a ringbuffer is still necessary to prevent the overruns, this fix does
mean that the ringbuffer size can be much smaller.  In a preliminary test, I
saw a maximum of 4.7MB used after an hour of recording three shows.  These
shows were just upconverts and not true HD, but that is promising.

I will go back and rework the hdtv ringbuffer code (again), to use a fixed,
single 10MB buffer.  That should give it enough breathing space to handle
just about any situation.

I admit that I feel greatly relieved now that this problem has been tracked
down.  It was really irritating me!

John


More information about the mythtv-dev mailing list