[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