[mythtv] Documentation
Daniel Thor Kristjansson
danielk at mrl.nyu.edu
Mon Feb 7 14:24:57 UTC 2005
On Sun, 6 Feb 2005, Nav Jagpal wrote:
]Is there a need for any type of documentation, manuals, etc?
There is a need for developer documentation. Starting with a guide to
theming and a guide to producing a debug build and a backtrace for bug
reporting. But we also need an overview of the classes and how they
interact and something like doxygen for the code itself.
]I do not see a TODO list on the site for new-comers, so if anyone can
]throw something my way that a newcomer to the project should be able
]to handle, I would greatly appriciate it.
Wade through http://www.mythtv.org/bugs/
]I'm a newcomer to the project, not to the world of coding. However, I
]would prefer to work on documentation or light coding projects to
]start with.
That's not a bad idea. People have written architecture overviews and
there is a Wiki at mythtv.info, some of the information in them could be
used to improve the official docs. But there is nothing out there that
tells you how say LiveTV works:
TVPlay on the frontend requests a recorder from the backend via the
RemoteRequestNextFreeRecorder function in remoteutil.cpp. It opens a
socket and sends a "GET_NEXT_FREE_RECORDER" to the master backend. The
recorder number, hostname and port is used to create a RemoteEncoder
class. This RemoteEncoder in turn represents a TVRec on a backend with
which TVPlay communicates. First TVPlay ensures that it is valid and
working, and then changing its internal state to
kState_WatchingLiveTV. When TVPlay enters the kState_WatchingLiveTV
step it tells TVRec to reset its internal state and setup a
ringbuffer, it then sets up its own ringbuffer on the same file. Once
this is done it calls SpawnLiveTV() in TVRec, this simply attempts to
change the TVRec's state to kState_WatchingLiveTV. TVPlay now disables
the screensaver and attempts to start the NuppelVideoPlayer, and if
starting the player is successful waits for the recorder to start.
What TVRec does when it enters WatchingLiveTV could be covered
separately. As could the NuppelVideoPlayer, which actually plays all
video files and not just NuppelVideo files.
I just got this from reading the code just now, but I can see this being
useful to someone getting started with MythTV. I glossed over some
details but basically described what goes on.
-- Daniel
More information about the mythtv-dev
mailing list