[mythtv] Datadirect patch approach
Derek Atkins
warlord at MIT.EDU
Tue Feb 14 20:22:07 UTC 2006
Hi David,
"David Shay" <david at shay.net> writes:
> I am planning on submitting a patch to avoid hitting datadirect
> redundantly if you have multiple videosources. There are two basic
> approaches I could use, and I was looking for guidance before I coded
> something up. [Also, I wanted to note that I did make an error in a
> previous post in saying that mythtv did current day, tomorrow, and +13
> -- I now realize that it only does tomorrow and +13, however for 3 data
> sources, this still results in 6 calls to datadirect when only 2 are needed]
I would think that in general you could write the logic to limit it
to at most two but sometimes one; a grouping at the beginning and
another grouping at the end. For example, today I need days 1,2 and
10,11,12,13; I think this could still be done in two queries.
> With approach 1, I would change the general looping structure in
> filldata.cpp to iterate over days first, and videosources second. This
> is probably the more difficult of the 2 approaches, but the changes
> would be contained to filldata.cpp and not over to datadirect.cpp in
> libmythtv.
>
> With approach 2, I would keep the looping strucure intact (videosources
> first, days second), but keep temp files around for each call to
> datadirect, then before doing each retrieval determine whether or not
> that retrieval had been done yet for that day. This is probably easier
> to code up, but would need to make changes to both filldata.cpp and
> datadirect.cpp in order to keep the temp files around for longer, and
> not delete them until the program exits.
>
> If there is general indifference, I will just go with approach 2.
I think I prefer the first approach. It both limites your changes to
a single file, and it doesn't use tempfiles. Yes, it's more
difficult, but I think doing it without tempfiles is a much better
approach.
-derek
--
Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
Member, MIT Student Information Processing Board (SIPB)
URL: http://web.mit.edu/warlord/ PP-ASEL-IA N1NWH
warlord at MIT.EDU PGP key available
More information about the mythtv-dev
mailing list