[DLNA-Plugin] LiveReceiver kommt ins Stocken

  • Inzwischen läuft das DLNA-Plugin auf einigen Testsystemen schon ganz rund und auch mehrere TV-Geräte sollen mit dem VDR zurechtkommen. Allerdings gibt es immer wieder Aussetzer oder generell kein stabiles TV-Bild. Im Log stehen die von mir erzeugten Fehler, dass zu wenige Daten da sind oder nicht auf den Strom synchronisiert werden konnte. Unten steht die Hauptfunktion des LiveReceivers, welches den Stream analysieren soll:



    Und hier die komplette .cpp-Datei:
    http://de.pastebin.ca/1743971


    Ich hoffe nun auf eure Hilfe. Eventuell hat jemand eine Idee, wieso der Stream mit zu wenig Daten gefüttert wird, obwohl der VDR ständig neue nachwirft. Für mich fraglich ist die Aufgabe des FrameDetectors. Was muss gemacht werden, damit der Stream auch ohne 100%iger Signalqualität gestreamt werden kann?


    Medion Digitainer; AsRock B75 Pro3-M, Celeron G540; Kingston Value 4GB
    Samsung SpinPoint 250GB 2,5"; Samsung WriteMaster DVD-Brenner;
    TT-S2-6400, 2x TT-S2-1600, Ubuntu 12.04 mit YaVDR-Paketen. VDR 1.7.27, UPnP/DLNA-Plugin

  • Mit etwas Hilfe konnte ich jetzt die Action() ausschließen. Der meiste Teil ist von Klaus' cRecorder übernommen und der funktioniert ja tadellos! Das einzige kritische ist der Swap unten vom Livebuffer zum Outputbuffer. Jedoch wirkt sich das Ändern des Sleeptimers fast gar nicht auf die Stromqualität aus.


    Bleibt also nur noch der zweite Teil, hier ist schon mehr improvisiert:



    Die Funktion darf allerdings nicht 0 zurückgeben, solange der Stream aktiv ist, weil sonst der Webserver glaubt, dass die "Datei" zu Ende ist und geschlossen werden kann. Daher prüfe ich, ob die vorhandenen Daten zumindest die Hälfte des Puffers gefüllt haben. Das scheint nicht sehr effektiv zu sein. Allerdings weiß ich nicht, wie ich das dynamisieren kann. Wie groß müsste der Puffer für ein stabiles Streaming mindestens sein? Wenn zu große Lücken sind, wird kein Bild angezeigt.


    Medion Digitainer; AsRock B75 Pro3-M, Celeron G540; Kingston Value 4GB
    Samsung SpinPoint 250GB 2,5"; Samsung WriteMaster DVD-Brenner;
    TT-S2-6400, 2x TT-S2-1600, Ubuntu 12.04 mit YaVDR-Paketen. VDR 1.7.27, UPnP/DLNA-Plugin

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!