[mythtv] Making MythTV more OSX Friendly

Jeremiah Morris jm at whpress.com
Tue Jan 25 15:10:22 EST 2005


On 25 Jan 2005, at 2:15 PM, George Nassas wrote:

> Getting back to the topic, has there been an analysis of what parts of 
> the myth backend are incompatible with osx?

This can be split into two issues: what the backend does, and when you 
need a backend. I'll address these as best I can, but I'm not really an 
expert on either topic; I apologize in advance for any misinformation I 
inadvertently dispense.

The backend handles TV program scheduling, reporting on info about 
recorded and upcoming shows, and talking to the TV tuner card. It also 
streams video to remote frontends (I think local or NFS-shared 
frontends read files directly, at least in the "watch recordings" case) 
and coordinates with slave backends running more tuner cards. It 
doesn't stand between the frontend and the database, and it doesn't 
come into play with any plugins, which are either frontend-only or need 
separate daemons.

I haven't looked at the backend code much, but from what I've heard 
it's pretty tied to the V4L2 (Video for Linux 2) API, and would be 
difficult to port to other systems lacking that API. I don't know how 
true that is, or if it would be possible to write a compatibility layer 
to communicate with drivers like the ones at 
http://www.defyne.org/dvb/driver.html.

The frontend always needs a MySQL database, as all of the preferences 
(except those used to find the database) are stored there. It only 
talks to the backend when it needs TV information, basically when you 
enter one of the TV menu options. It can populate an empty database 
with all of the necessary table information. I think all of the 
preferences, including the TV ones, can be examined or changed without 
talking to the backend (I could be wrong on this point). As Donavan 
mentioned, you could remove the TV menu options from the frontend (all 
done in XML, no coding required) and have a frontend that's only 
dependent on MySQL.

I haven't looked at the plugins much, but most of them seem to reside 
solely on the frontend and use the database for preferences or other 
metadata. I don't know if any plugins have their own daemons, but I'm 
pretty sure that no plugin-specific functionality is in mythbackend 
proper.

There's also mfd, which is an intriguing beast I need to learn more 
about. It looks like it's how I imagined mythbackend would be: a 
framework for running background threads and server communication. 
Apparently there are plugins to speak DAAP and other protocols, for 
various media functions.

The TV part of MythTV is rather privileged, as the TV functions are 
integrated into the same codebase as the core framework. Long term, I'd 
like to see this change and have the TV functionality be a plugin, just 
as the music, gallery, etc. functions are now. If the TV scheduler was 
a plugin to mfd or its descendant, alongside server-side music and 
photo sharing, the whole affair would be conceptually cleaner and it'd 
be easier to do the sort of thing that Patrick originally mentioned. If 
the TV functions are problematic to port, you could leave them out 
while porting the framework and any compatible plugins.

- Jeremiah



More information about the mythtv-dev mailing list