[mythtv-commits] mythtv commits

mythtv at cvs.mythtv.org mythtv at cvs.mythtv.org
Tue May 24 20:20:03 UTC 2005


----------------------------------------------------------------------------
Changes committed by danielk on Tue May 24 20:19:55 2005

Modified Files:
   in mythtv/libs/libmyth:
        mythcontext.h util.cpp util.h 
   in mythtv/libs/libmythtv:
        remoteencoder.cpp remoteencoder.h remoteutil.cpp remoteutil.h 
        tv_rec.cpp tv_rec.h 
   in mythtv/programs/mythbackend:
        autoexpire.cpp autoexpire.h encoderlink.cpp encoderlink.h 
        mainserver.cpp mainserver.h playbacksock.cpp playbacksock.h 
        scheduler.cpp 
   in mythtv/programs/mythfrontend:
        globalsettings.cpp playbackbox.cpp statusbox.cpp statusbox.h 
Log Message:

Please to a "make distclean"...

This adds automagic AutoExpire, that is it will calculate the amount
of space needed free by MythTV and how often space must be cleared.

So there is a little more cleanup of util.cpp, I took four getDiskSpace()
functions and collapsed them into one. This should make it easier port
the backend and frontends to new platforms.

Bumped the Myth protocol version, there is a completely new query
""QUERY_REMOTEENCODER GET_MAX_BITRATE" which gets the maximum bitrate
a recorder/encoder can output. I've also replaced QUERY_FREESPACE
with two queries QUERY_FREE_SPACE and QUERY_FREE_SPACE_LIST. The
first returns the backend's total and used space in kilobytes, and
when called on the master backend QUERY_FREE_SPACE_LIST returns
every backend's disk space stats, prepended with the hostname of each.

In addition to adding the needed GetFreeDiskSpace(), and GetMaxBitrate()
methods, I've also documented encoderlink and done a little cleanup there.
isLowOnFreeSpace() has also been replaced with HasEnoughFreeSpace(),
which checks if there is enough space for a particular program, i.e.
if autoexpire is disabled and you have 2 GiB free you can probably
record a 30 min program, but not a 3 hour one.

For the most part the rest of the changes are just to accomidate these
changes. The exception is in StatusBox where we now query all backends
for space and estimate how many hours of recording we have left. At the
moment only two "profiles" are used for the estimation. "HDTV" or
19.4 Mbps, and "average" or 550 Kbps, where the latter is my actual
average bitrate. But is someone wants to write a SQL query that gets actual
profile bitrates, and/or the user's real 'average' bitrate....

There is one caveat with multiple backends, if you use shared space for
recordings. The master backend must use the same shared space as other
recorders use for this to work automagically. I plan to fix this, but
the workaround is to just set the "Extra Space" high enough. This only
affects you if you share space for some backends use a different 
filesystem for the master backend, which I assume is rare.

----------------------------------------------------------------------------


More information about the mythtv-commits mailing list