[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