Database Subsystem | |
LCD Subsystem | |
MythTV Network Protocol | The MythTV backend process currently opens sockets for three different types of commands; a custom protocol (by default at port 6543), an HTML server (by default http://127.0.0.1:6544/Status for the status, and other services under that, like < HREF="http://127.0.0.1:6544/Myth/GetMusic?Id=1"> http://127.0.0.1:6544/Myth/GetMusic?Id=1 ), and a UPnP media server (several ports that I cannot remember right now that throw around lots of little bits of XML :-) |
MythTV Startup Sequence | Most MythTV programs follow a common sequence: |
MythTV Language Support | There are three sets of language translations in MythTV; source code translation, menus, and MythWeb |
QObject is dangerous for your health | QObject derived classes can be quite useful, they can send and receive signals, get keyboard events, translate strings into another language and use QTimers |
Profiling MythTV | You can use any sampling profiler to profile MythTV, the most popular GPL one is OProfile and this section tells you how to use it to profile MythTV. For Intel also makes VTune, AMD makes CodeAnalyst, and Apple makes Shark. These all work similarly to oprofile, so the MythTV portions are the same |
Testing hints and shortcuts | The internal video playback can be tested by the programs/mythavtest tool: |
MythTV Database Schema | How everything is stored in the MySQL database |
▼MythTV Libraries | The shared libraries that the code base is split up into |
▼libmythbase | |
HouseKeeper | Framework for handling frequently run background tasks |
MThreadPool | Framework for managing threads |
Command Line Processing | Utility responsible for processing arguments from the command line |
▼libmythui | |
LIRC Subsystem | |
▼libmyth | |
Audio Subsystem | |
Plugin Architecture | |
MythTV Media Manager | |
libmythupnp | |
▼libmythtv | |
Recorder Subsystem | |
A/V Player Subsystem | |
Video Subsystem | |
OSD Subsystem | |
▼MythTV User Interface Library | MythUI has multiple components |
MythUI Widget and theme handling | |
MythUI Painters and Renderers | |
MythUI Input handling | |
The zwp_idle_inhibit_manager_v1 interface | This interface permits inhibiting the idle behavior such as screen blanking, locking, and screensaving. The client binds the idle manager globally, then creates idle-inhibitor objects for each surface |
The zwp_idle_inhibitor_v1 interface | An idle inhibitor prevents the output that the associated surface is visible on from being set to a state where it is not visually usable due to lack of user interaction (e.g. blanked, dimmed, locked, set to power save, etc.) Any screensaver processes are also blocked from displaying |