Autostart-plugin

Aus VDR Wiki
Version vom 23. Januar 2011, 13:56 Uhr von Uli1969 (Diskussion | Beiträge)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Beschreibung

Autor: Ulrich Eckhardt

Ermöglicht das automatische Starten von Plugins beim einlegen von Wechselmedien. Im Gegensatz zum mediad-Plugin ist man nicht auf vorkompilierte Plugins angewiesen, es lassen sich beliebige Plugins starten und ggf. Tastendrücke automatisch erzeugen.



Softwareanforderungen

Installation

Das Plugin wird wie üblich installiert.

Konfiguration

Die Konfiguration des Plugins wird in der Datei $VDRCONFIG/conf/plugins/autostart/autostart.conf vorgenommen. Hier werden die Zuordnungen zwischen Medien und aufzurufenden Plugins konfiguriert.

Beispiel für eine autostart.conf

Eine Audio-CD soll mit dem CD-Player Plugin abgespielt werden, eine Video-DVD via externalplayer-Plugin, ein USB-Stick oder Wechselplatte mit MP3-Files sollte mit dem Music Plugin abgespielt werden und bei Grafik-Dateien soll das Image Plugin verwendet werden.

; The global section contains definitions global to all detectors                                                  
[GLOBAL]
; exclude the given devices from media detection, e.g. the root hard drives                                        
filterdev = sda sdb hda hdb                                                                                        
[DVD]
type = dvd   ; DVD Media tester
keys = @externalplayer OK                                                                                          
[CD]
type = cd           ; CD Media tester
keys = @cdplayer    ; Start CD-Player plugin
[MP3]                                                                                                              
type = file             ; File Media tester
files = mp3             ; Suffix to match 
keys = @music YELLOW    ; If a file ending with .mp3 is found, start music plugin
linkpath = /video/mount/mp3
[IMG]
type = file             ; File Media tester
files = jpg gif bmp     ; If a file ends with .jpg .gif or .bmp, start image plugin
keys = @image YELLOW DOWN RED RED
linkpath = /video/mount/image

Keywords für alle Media Tester.

TYPE definiert eine Instanz eines Media-Testers. Derzeit stehen folgende Media-Tester zur Verfügung:

DVD Erkennt Video DVDs mittels libdvdread.
CD Erkennt Audio CDs mittels libcdio.
FILE Mountet Wechselmedien und versucht anhand der Endung den Dateityp zu erkennen.

Parameter

Parameter (kurz) Parameter (lang) Beschreibung
-c <directory> --configdir=<directory> Konfigurationsverzeichnis (derzeit nur für Standbild)

Probleme

Um Probleme und Bugs zu Melden ist es hilfreich möglichst viele Ansatzpunkte zu haben. Entsprechend sollte dann der vdr mittels der Kommandozeilenoption -l 3 möglichst viele Debugging-Infos ins syslog loggen.

Bei Abstürzen ist ein Backtrace äußerst hilfreich. Dazu muß zumindest das Plugin mit Debugging-Informationen compiliert werden. Der Compiler muß mit der -g Option aufgerufen werden. In der Datei Make.config sollte dann folgendes stehen (noch besser ist es, das -O2 noch durch ein -O0 zu ersetzten):

### The C compiler and options:

CC       = gcc
CFLAGS   = -g -O2 -Wall

CXX      = g++
CXXFLAGS = -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses

Dann in einer Shell mittels

ulimit -c unlimited

das schreiben eines Core-Files erlauben und aus der Shell den VDR starten. Nach dem Absturz gibt es dann eine Datei "core", die man mit folgendem Shell-Script auswerten kann:

#!/bin/sh
gdb $1 --core $2  --quiet --batch -ex "thread apply all bt full" -ex "where" -ex "quit"

Das erste Argument ist das VDR-Executable, das zweite Argument das Core-File. Diese Ausgabe kann man dann dem Bugreport noch anhängen.

Aktuelle Version(en)

  1. Version 0.1.0

Mercurial Repository

hg clone http://hg.uli-eckhardt.de/autostart

Links

  1. Homepage des Plugins
  2. Mercurial Repository des Plugins
In anderen Sprachen