Entwicklung - Schnittstellen

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
K (Links)
K (uuml ...)
 
Zeile 2: Zeile 2:
 
Der VDR bietet ein C++ Interface zur Entwicklung eigener Erweiterungen, sowohl funktional ([[Plugins]]) und seit 1.3 auch rein optisch ([[Text2skin-plugin#Skins|Skins]]).
 
Der VDR bietet ein C++ Interface zur Entwicklung eigener Erweiterungen, sowohl funktional ([[Plugins]]) und seit 1.3 auch rein optisch ([[Text2skin-plugin#Skins|Skins]]).
  
Für Entwickler ist es zunächst notwendig, die grundlegende Struktur und Arbeitsweise des VDR zu kennen. Für einen schnellen Überblick werden die verschiedenen Schnittstellen-Dateien im VDR-Verzeichnis zu den Grundfunktionen in Beziehung gesetzt. Anschließend wird die Plugin-Schnittstelle dokumentiert.
+
Für Entwickler ist es zunächst notwendig, die grundlegende Struktur und Arbeitsweise des VDR zu kennen. Für einen schnellen Überblick werden die verschiedenen Schnittstellen-Dateien im VDR-Verzeichnis zu den Grundfunktionen in Beziehung gesetzt. Anschließend wird die Plugin-Schnittstelle dokumentiert.
  
 
==Grundfunktionen des VDR==
 
==Grundfunktionen des VDR==
*Empfangen von Datenströmen per Schnittstelle(device.h)
+
*Empfangen von Datenströmen per Schnittstelle(device.h)
 
**Tuner(dvbdevice.h, sections.h, pat.h, nit.h, eit.h, sdt.h, filter.h, ci.h),  
 
**Tuner(dvbdevice.h, sections.h, pat.h, nit.h, eit.h, sdt.h, filter.h, ci.h),  
 
**Plugin
 
**Plugin
*Wandeln und Weiterleiten der Datenströme(ringbuffer.h, remux.h, transfer.h, receiver.h)
+
*Wandeln und Weiterleiten der Datenströme(ringbuffer.h, remux.h, transfer.h, receiver.h)
*Speichern von Datenströmen
+
*Speichern von Datenströmen
 
**Aufnahme(recorder.h )
 
**Aufnahme(recorder.h )
*Ausgabe von Datenströmen per Schnittstelle
+
*Ausgabe von Datenströmen per Schnittstelle
 
**Dekoder(audio.h, spu.h, dvbspu.h, dvbdevice.h),
 
**Dekoder(audio.h, spu.h, dvbspu.h, dvbdevice.h),
 
**Plugin
 
**Plugin
Zeile 21: Zeile 21:
 
*Steuerlogik(menu.h, menuitems.h, thread.h, status.h, diseqc.h, keys.h, tools.h)
 
*Steuerlogik(menu.h, menuitems.h, thread.h, status.h, diseqc.h, keys.h, tools.h)
 
*Verwaltung von
 
*Verwaltung von
**Kanälen(channels.h, sources.h, eitscan.h),  
+
**Kanälen(channels.h, sources.h, eitscan.h),  
 
**Timern(timers.h),  
 
**Timern(timers.h),  
 
**Aufnahmen(recording.h, videodir.h, cutter.h),  
 
**Aufnahmen(recording.h, videodir.h, cutter.h),  
Zeile 34: Zeile 34:
  
 
==Plugin Schnittstelle==
 
==Plugin Schnittstelle==
Für eine grundlegende Beschreibung der Plugin-Schnittstelle hat Klaus eine HTML-Datei im VDR-Verzeichnis hinterlegt. Hier soll deshalb nur eine Art Referenz-Handbuch entstehen.
+
Für eine grundlegende Beschreibung der Plugin-Schnittstelle hat Klaus eine HTML-Datei im VDR-Verzeichnis hinterlegt. Hier soll deshalb nur eine Art Referenz-Handbuch entstehen.
  
 
Das Plugin Interface gliedert sich in verschiedene Bereich bzw. Klassen:
 
Das Plugin Interface gliedert sich in verschiedene Bereich bzw. Klassen:

Aktuelle Version vom 12. August 2010, 16:59 Uhr

Inhaltsverzeichnis

[Bearbeiten] Motivation

Der VDR bietet ein C++ Interface zur Entwicklung eigener Erweiterungen, sowohl funktional (Plugins) und seit 1.3 auch rein optisch (Skins).

Für Entwickler ist es zunächst notwendig, die grundlegende Struktur und Arbeitsweise des VDR zu kennen. Für einen schnellen Überblick werden die verschiedenen Schnittstellen-Dateien im VDR-Verzeichnis zu den Grundfunktionen in Beziehung gesetzt. Anschließend wird die Plugin-Schnittstelle dokumentiert.

[Bearbeiten] Grundfunktionen des VDR

  • Empfangen von Datenströmen per Schnittstelle(device.h)
    • Tuner(dvbdevice.h, sections.h, pat.h, nit.h, eit.h, sdt.h, filter.h, ci.h),
    • Plugin
  • Wandeln und Weiterleiten der Datenströme(ringbuffer.h, remux.h, transfer.h, receiver.h)
  • Speichern von Datenströmen
    • Aufnahme(recorder.h )
  • Ausgabe von Datenströmen per Schnittstelle
    • Dekoder(audio.h, spu.h, dvbspu.h, dvbdevice.h),
    • Plugin
  • Wiedergabe von Aufnahmen(player.h, dvbplayer.h)
  • Empfangen von Steuerbefehlen per Schnittstelle(interface.h, rcu.h, keys.h)
    • Fernbedienung(lirc.h, remote.h),
    • Tastatur,
    • Netz(svdrp.h)
  • Steuerlogik(menu.h, menuitems.h, thread.h, status.h, diseqc.h, keys.h, tools.h)
  • Verwaltung von
    • Kanälen(channels.h, sources.h, eitscan.h),
    • Timern(timers.h),
    • Aufnahmen(recording.h, videodir.h, cutter.h),
    • EPG-Daten(epg.h),
    • Skins(skins.h, skinclassic.h, themes.h, skinsttng.h),
    • Plugins(plugin.h),
    • Konfiguration(config.h)
  • Ausgabe von Informationen
    • OSD(osd.h, dvbosd.h, osdbase.h, font.h, i18n.h),
    • Terminal,
    • Log

[Bearbeiten] Plugin Schnittstelle

Für eine grundlegende Beschreibung der Plugin-Schnittstelle hat Klaus eine HTML-Datei im VDR-Verzeichnis hinterlegt. Hier soll deshalb nur eine Art Referenz-Handbuch entstehen.

Das Plugin Interface gliedert sich in verschiedene Bereich bzw. Klassen:

  • Ein-/Ausgabe
    • osd ??
    • interface ??
  • Bild/Ton
    • ac3 ??
    • player ??
    •  ???

[Bearbeiten] Links

  1. Entwicklung - Source Code Dokumentation