Leider wird sich xine nicht so leicht auf den Raspberry PI portieren lassen.
Mal grundsätzliches. Am PI wird OpenMAX für die Video/Audio decodireung/ausgabe verwendet und GLES fürs Rendering.
In OpenMAX wird eine Kette mit OpenMAX Komponenten für die Bearbeitung der Daten aufgebaut. Dies kann eine reine Decodierung von Audio/Video sein, oder eine komplette Kette bis zur Ausgabe bilden. Für die Synchronisierung von Audio/Video verwendet OpenMAX eine eigene Clock welche unter den Komponenten geshared ist.
Prinzipiell könnte man nur das reine Decodieren am PI verwenden, die Daten aus dem Decoder holen und dann mit GLES rendern. Leider geht das aus Performance gründen nicht. Somit lässt man OpenMAX alles erledigen.
Zum Rendering stehen mehrere Planes zur Verfügung. Wenn man OpenMAX bis zur Ausgabe verwendet, kommen zwei Planes ins spiel :
Plane 1.) Videoausgabe durch die OpenMAX Komponente.
Plane 2.) GLES rendering des OSD.
In xine lässt sich das ganze nun nicht so einfach implementieren. Der Teil zum rendern des OSD ist noch der simple Teil. Die Integration der OpenMAX Komponenten wird schon etwas schwieriger. Die gemeinsam benutze Clock in OpenMAX wird zum eigentlichen Problem. in xine ist es nicht so einfach Daten zwischen dem Video und Audio Decoder zu teilen. Das musste ich schon leidvoll bei der VAAPI implementierung für xine feststellen.
Warum ich nun das ganze weiß ist ganz einfach. Zum einen habe ich schon Erfahrungen mit xine gesammelt ( VAAPI ), zum anderen habe ich den XBMC Port auf den PI ( plus omxplayer ) gemacht.
Der wirklich gangbare weg für den PI ist eine eigenständiges VDR Frontend. Das softhddevice ist ein interessanter Ansatz dem leider eine Trennung in Client/Server fehlt. Was es schon von vorne herein für einen stabilen VDR betrieb disqualifiziert ( meine Persönliche Meinung ).
lg
ebsi