Beiträge von Urig

    Als Browser-Basis wäre Minimo von mozilla.org vielleicht nicht schlecht.
    http://www.mozilla.org/projects/minimo/


    Da sind schon einige Anpassungen an knappe Ressourcen drin, unter Anderem Navigation per Pfeiltasten.
    Der knappe OSD-Speicher könnte sich als echtes Problem erweisen, mit den 4 Farben kommt man jedenfalls nicht weit. Alternativ könnte man das ganze als mpeg-Stream packen und als Vollbild-Video anzeigen, allerdings leidet dann garantiert die Detailschärfe.


    Tiefer hab ich mich mit dem Thema aber auch noch nicht beschäftigt.


    Gruß,


    Udo

    fighter 01:


    Anleitung zum Installieren von Plugins:
    http://www.vdr-wiki.de/wiki/index.php/Plugin_Installation


    torsten:
    > ein neustart des Plugins reicht ja vollkommen


    Ein 'Neustart' des Plugins kann nur zusammen mit dem Neustart von VDR erfolgen. Was du meinst, ist einen neuen OSD-Viewer über das Hauptmenü zu starten. Der ist aber unabhängig vom reinen Seitenempfang implementiert, der permanent auf dem aktuellen Kanal mit läuft.


    Deswegen verstehe ich es ja auch nicht: Ob du nochmal die Seitennummer eingibst, oder ob du über das Hauptmenü einen neuen Teletext-Viewer öffnest, das Ergebnis muss das gleiche sein.


    Ist bei dir eigentlich die Option "Seiten aktualisieren" an?


    Gruß,


    Udo

    > Fixed handling lifetime when deciding whether to delete a recording


    Betrifft das automatische Löschen von alten Aufnahmen bei Plattenüberlauf.


    Aufnahmen mit lifetime=01...98 wurden einen Tag zu lange aufbewahrt, dh. lifetime=01 wurde mindestens 2 tage (48 Stunden) aufbewahrt.


    Aufnahmen mit lifetime=00 sollten laut Dokumentation nur von Aufnahmen höherer Priorität gelöscht werden können, wurden aber nach einem Tag auch von niedrigeren Prioritäten gelöscht.


    Gruß,


    Udo

    Wirf einen Blick in die History, ein paar Dinge sind nur da aufgeführt. Die Hilfe zu den osdteletext-Kommandozeilenoptionen wird von vdr --help mit ausgegeben.


    Der Default-Speicherort ist /vtx, kann aber über die Kommandozeilenoption -d auch in ein anderes Verzeichnis verlegt werden.


    Gruß,


    Udo

    Hmmm, seltsam.
    Das Einlesen neuer Seiten in den Cache passiert unabhängig von der Anzeige, der Speicher sollte sich in jedem Fall auch bei offenem Teletext-Browser aktualisieren.


    Ich kenne die Situation: Während der Testphase kam es oft vor, dass kaum eine Sekunde zwischen VDR-Start und öffnen des Browser-OSD lag, normalerweise fehlt dann noch Seite 100. Nach einigen Sekunden (und weiter offenem OSD) kamen die fehlenden Seiten nach.


    Gruß,


    Udo

    Teletext nutzt normalerweise keine ISO-Zeichensätze. Der Standard sieht für Teletext "Level-1" 8 verschiedene lateinische Zeichensätze vor. Die sind derzeit auch fast vollständig: EN, DE, FR, IT, PT/ES und SV/FI. Für den generischen Latin und für CZ/SK fehlen ein paar Zeichen.


    Ab "Level-1.5" sind 24 verschiedene Text-Zeichensätze vorgesehen, u.a. Estonisch, Lettisch/Litauisch, Polnisch, Rumänisch, Serbisch/Kroatisch/Slovenisch, Türkisch (alle lateinisch), sowie einige Kyrillische, Griechische, Arabische und Hebräische Zeichensätze. Dafür fehlen im Moment aber noch die Zeichensätze und ein paar Level-1.5 Anpassunegn.


    Gruß,


    Udo

    Ich hab über das Problem in letzter Zeit auch nachgedacht, und bin mir nicht sicher, ob das so ohne Probleme klappt. Die Plugins existieren ja in separaten Modulen, und ein direkter Zugriff auf die Exporte eines anderen Plugins sollte eigentlich nicht möglich sein...


    VDR lädt die Plugins über dlopen() und ohne RTLD_GLOBAL, daher sind die exportierten Symbole der Plugins nur über dlsym() erreichbar. Umgekehrt erbt das Plugin natürlich alle Symbole von VDR.


    Und auch der Zugriff über dlsym() von einem Plugin zum anderen ist verwehrt, da VDR das Modul-Handle nicht ohne weiteres heraus rückt. Man könnte natürlich das andere Plugin nochmal in den Kontext des ersten Plugins einbinden, müsste dazu aber den Pfad zur Datei kennen. Leider ist auch cPluginManager::directory privat.


    Es wäre auch möglich, den kompletten Code für die gemeinsamen Funktionen in beiden Plugins einzubinden, nicht nur die Header. Dann wäre der Programmcode aber doppelt vorhanden, und ich bin mir nicht sicher, ob die entstehenden Objekte dann auch noch wirklich den gleichen Typ haben.


    Ganz katastrophal wird es natürlich, wenn die Plugins nicht exakt die gleiche Quelltextversion verwenden. Wenn sich der Speicheraufbau geändert hat, ist das Chaos vorprogrammiert.


    Einen Trick hab ich aber noch ausgemacht: cPlugin::SetupParse() ist Public, kann also auch von anderen Plugins aufgerufen werden. Da liesse sich ein Interface durchtunneln. Und da unbekannte Setup-Variablennamen normalerweise ignoriert werden, kann noch nicht mal etwas schief gehen, wenn das angesprochene Plugin das Interface nicht unterstützt.


    Klasse wäre es natürlich, wenn VDR so ein Interface von sich aus anbieten würde, in etwa virtual bool cPlugin::CustomInterface(char *InterfaceName, void *Data).


    Gruß,


    Udo

    ?


    Wenn man sehr schnell ist, kriegt man ein "Seite 100 nicht gefunden". In dem Fall wird die Seite auch nicht angezeigt, wenn sie empfangen wurde, man kann zb. kurz danach nochmal 100 eingeben. (wird wohl in der nächsten Version behoben sein)
    Wenn aber erst mal die Seite gezeigt wurde, wird sie (sofern die Option aktiviert ist) automatisch auf dem aktuellen Stand gehalten.


    Gruß,


    Udo

    > Wenn ich das so lese, ist der Eintrag in der /etc/fstab ja überflüssig?


    Nur, wenn du die Daten wo anders speichern willst. Das ist wohl Geschmackssache, ob man /vtx, /tmp/vtx, /var/vtx, oder /var/cache/vtx lieber mag.


    > Was bedeutet denn diese Option -s genau?


    Damit wird festgelegt, ob lieber viele kleine Dateien oder wenige große Dateien angelegt werden sollen. Verbessert die Ausnutzung des Platzes, insbesondere bei tmpfs.


    > Das Plugin ist ja inzwischen so schnell, braucht man da überhaupt noch einen großen cache?


    Der Cache dient dazu, dass du nicht 30s warten musst, bis die Seite, die du sehen willst, endlich wieder gesendet wird. Bei Seiten mit sehr vielen Unterseiten kann das sogar bis zu 10 Minuten dauern. Ohne Cache wäre die Bildaufbau-Zeit dein kleinstes Problem.


    Gruß,


    Udo

    > endlich gute Neuigkeit für mich:
    > Ab und zu mal mit OSDTeletext mit Untertitel in VBI!


    ... auch wenn mich die Besitzer der 4Mb-Karten wohl steinigen werden...
    Momentan bleibt das Datum und die Uhrzeit in der obersten Zeile sichtbar. Bei 2Mb-Karten egal, da im 4bpp-Modus eh nur noch die untere Hälfte des Bilds in den Speicher passt. Bei 4Mb-Karten bleibt die Zeile dagegen sichtbar... ?(


    Langfristig muss eine Logik rein, die die Zeile bei Bedarf ein- und ausblenden kann.


    Gruß,


    Udo

    common.h? Welche VDR-Version verwendest du, in der eine common.h existiert? Oder meinst du config.h?


    Generell sollte es zu keinen Konflikten kommen, wenn #include "config.h" verwendet wird - der Präprozessor nimmt dann immer die Version aus dem gleichen Verzeichnis.
    Allerdings sollte man bei der üblichen #ifndef-Sequenz am Anfang des Headers aufpassen. Verwendet man da auch #ifndef __CONFIG_H, dann würde meisst nichts eingebunden, da in der Regel ja schon VDR's config.h geladen wurde. Sinnvoller ist es, statt dessen __MYPLUGIN_CONFIG_H o.ä. zu verwenden.


    > Es wäre schön, wenn die Konfiguration über Make.config verbessert werden könnte.


    Ich wäre eher dafür, dass statt dessen lokale Make.config Dateien im Plugin-Verzeichnis unterstützt würden. Oder alternativ Make.Pluginname.config im VDR-Verzeichnis. Aber das ist eher eine Forderung an die Plugin-Entwickler.
    Auch störend: Bei den meissten Plugins steht das Default-Target nicht auf 'all'.


    > Plugin-spezifische Variablen sollten auch einen Plugin-spezifischen Namen bekommen usw.
    Wieder eine Frage der Disziplin der Entwickler. Ein allgemeines Konzept, dass den Plugin-Namen abschneidet, dürfte auf Basis von Make.config nur schwer machbar sein.


    Gruß,


    Udo

    Hi.


    Da der Seitenaufbau von osdteletext auf meinem C3-600 etwas lahm ist, hab ich mal ein wenig nachgeforscht, woran das liegt. Die durchschnittliche Render-Zeit ist 0.74s, aufgeteilt in 0.11s Zeichnen, 0.45s Skalierung, 0.09s OSD Zeichnen und 0.11s Bildschirm-Update. (Werte können etwas zu hoch sein, da mit Debugausgabe)


    Nach einem Umschreiben des Skalier-Codes ist die Skalierzeit auf 0.1s runter, womit der Seitenaufbau von 0.74s auf 0.39s beschleunigt wird - das lohnt doch schon. ;)


    Den Patch für den neuen Skalier-Code hab ich angehängt.


    Update unten!


    Gruß,


    Udo

    Nun bin ich aber doch mal Neugierig: Die Karte hast du nicht zufällig von einem gewissen Ad*** Bl**** ersteigert, oder? Gerade die Behauptung, die Karte wäre unter Windows getestet worden und würde einwandfrei laufen, kenne ich zu Genüge.


    Das kann ich auch sicher ausschliessen: Mit den Windows-Treibern läuft eine solche Karte genauso wenig wie mit den Linux-Treibern. Was nicht heisst, dass der gewisse Herr Bl**** das glauben würde, wenn man es ihm erklärt...


    Gruß,


    Udo