[mythtv] [PATCH] revised/added protocol extension patch -- ignore
last one
Noone
mythdl at scotch.ssspam.homeip.net
Sun May 1 06:58:25 UTC 2005
On Sun, May 01, 2005 at 12:53:35AM -0400, David Shay wrote:
> OK, I've decided to go ahead and complete the protocol extensions that I would
If it matters much, I think what you're doing is exactly what myth needs. Something I noticed awhile ago is myth's reliance (and blocking) on sql queries. It looks fine on paper until you consider latency.
> need for most playback functions from alternate frontends. Here are the
> additional commands and how they work:
>
> QUERY_SQL [query statement]
> Returns all rows and columns of the resultset in []:[] delimited form
> QUERY_COMMBREAK [chanid] [starttime in seconds since 1/1/1970]
> Returns the set of all commercial breaks. Each set has 3 values:
> [4 or 5] -- commercial break type (4 = start, 5 = stop)
> 2 values representing a long-long encoded in usual fashion
> All values are []:[] delimited
> QUERY_CUTLIST [chanid] [starttime in seconds since 1/1/1970]
> As above, but returns the cutlist. 0 = start, 1 = stop of each section
> QUERY_BOOKMARK [chanid] [starttime in seconds since 1/1/1970]
> Returns a long-long, encoded as usual with 2 values []:[] separated
> SET_BOOKMARK [chanid] [starttime] [long value 1] [long value 2]
> Sets the bookmark, using the 2 values to form one long-long
>
> All commands (except QUERY_SQL) use the ProgramInfo functions to get/set the
> data, so the logic is still in one place.
>
> Comments,thoughts before I proceed? Next steps would be to add functions to
> get guide data, in order to emulate the front-end guide, then add a function
> to schedule a recording. Scheduling the recording is a pretty vital one. If
> we can make that a protocol function, then MythWeb could use it as well, so
> that there would be much less dependence on the database structure for adding
> a scheduled program.
The guide definetly needs help. I count about 11 queries just by changing focus (alt-tab away and back to myth):
- SELECT NULL (these btw POUND the sql server in mini storms for some reason .. I haven't dug much into what the hell causes it or why they are needed)
- Time format
- NULL again
- OldDateFormat? .. does this twice, once with hostname, once with NULL as hostname
- NULL again
- ShortDateFormat
- NULL again
- ChannelFormat
- NULL
- LongChannelFormat
- Channel Icon (another thing that bombards the server for no reason .. should be cached on client)
- NULL
Idealy the frontend would request a snapshot of time, and render the results.
Some of the funner stuff comes from just changing channels:
- NULL
- ShortDateFormat
- NULL
- ChannelOrdering
- NULL
- Big ass query just to get current program data for currently tuned channel
- NULL
- TimeFormat
- NULL
- DateFormat
- OldDateFormat (same as above, one with and one without a hostname nfi why this couldn't have been at least an OR)
- NULL
- ShortDateFormat
- NULL
- ChannelFormat
- NULL
- LongChannelFormat
- NULL
All those .. just to change a channel.. There are other areas that are just as bad (if not worse).
Ultimately the fix for this will be reworking how myth does things internaly.
More information about the mythtv-dev
mailing list