XBMC (xbox media center) als front-end für VDR (Bugs and Features)

  • Zumindest mich hat du nicht verjagt. Ich dachte nur immer die Tage soll ein neues patchset kommen. Mit den bisherigen war unter jaunty auch mit viel Geschick nicht ganz viel zu machen zwischen 2 xbmc hardlocks ;)


    Spannend :)

    - HTPC mit zerbasteltem Yavdr 0.6 , Origen ae X15e, MCE Remote, Asus P5N7A-VM, 1x Digibit R1, Kodi und vdr an Pana 46PZ85E
    - Diverse HTPCs im Umfeld bei Familie und Freundenm die sich vor mir fürchten, mit allen möglichen gruseligen Konfigurationen.
    Auch gern Debian, aber wehe jemand kommt mir mit Suse.

  • Ich habe mir mal den Code in bool VTPTransceiver::ReadResponse(int &code, vector<string> &lines) angesehen und habe vermutlich den Fehler gefunden.
    Die Routine liest eine Antwort des Streamdev-Servers und verarbeitet sie. Es werden maximal 256 Bytes pro Read in einen Buffer mit 256 Bytes gelesen, soweit noch kein Problem. Dann wird noch hinter die gelesenen Bytes ein terminierendes 0 Byte in den Buffer geschrieben. Wenn allerdings 256 Bytes gelesen wurden ist aber leider kein Platz mehr im Buffer für ein weiteres Byte, und xbmc fällt auf die Schnauze. Bei älteren GCCs findet wohl keine Prüfung statt, hier wird vermutlich die Variable cont mit der 0 überschrieben, was höchstens dazu führen kann, dass nachfolgende Teile der Antwort vom Streamdev-Server nicht mehr gelesen werden. [UPDATE]Ich muss mich hier korrigieren, die Logik ist andersherum. Es könnte sein, dass XBMC denkt es kommt noch mehr obwohl alles schon gelesen wurde und deshalb hängt.[/UPDATE]
    Anbei ein Patch, testen konnte ich es noch nicht.


    Gerald



    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

    2 Mal editiert, zuletzt von gda ()

  • Zitat

    Original von _akku_
    Und welches Problem soll der Patch lösen?


    Hallo akku,


    Einen Bug in pingpongs Patch in VTPTransceiver::ReadResponse fixen, der zu einem Buffer Overflow führt, der XBMC zum Absturz bringt mit folgendem Backtrace:


    Dieses Problem ist in pingpongs Bugliste am Anfang dieses Threads aufgelistet als "- Abstürz durch zu kleien String Speicher im VTPTransceiver (Danke aelo)", und es tritt nach Reports in diesem Thread vor allem unter Jaunty i386 auf, meist dann, wenn man im Hauptmenü von XBMC "TV" auswählt und die gesamte Channelliste von streamdev angefordert wird.


    Die Jaunty-User haben da gerade einen hohen Leidensdruck, weil sie XBMC deshalb quasi nicht benutzen können. Ich habe das Problem selbst noch nicht reproduzieren können, weil ich kein Jaunty i386 installiert habe. Ich habe den Patch noch nicht getestet, werde das aber tun.


    Ich bin mit gda in Kontakt und seine Problemanalyse erscheint mir auf den ersten Blick schlüssig. Vielleicht könnte pingpong was dazu sagen?


    Gruß
    hepi

  • Zitat

    Original von _akku_
    Und welches Problem soll der Patch lösen?


    Ich dachte die Überschrift würde reichen, aber Hepi hat mein Versäumnis ja nachgeholt.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • juhu, es ist Weihnachten :D


    so dann werde ich das mal sofort ausprobieren :D



    mfg
    aelo


    edit:
    bin gerade dabei am rev 19559 kompilieren, thx@ hepi + gda habe eure Änderungen manuell eingepflegt :D


    melde mich dann später mit dem ergebnis :D


    edit:


    Code
    michael@michael-pc:~$ xbmc
    The XBMC_HOME environment variable is not set.
    *** stack smashing detected ***: /usr/local/share/xbmc/xbmc.bin terminated
    ======= Backtrace: =========
    /lib/tls/i686/cmov/libc.so.6(__fortify_fail+0x48)[0xb752fda8]
    /lib/tls/i686/cmov/libc.so.6(__fortify_fail+0x0)[0xb752fd60]


    zu früh gefreut :D
    naja werde es mit 64bit Jaunty testen...

  • aelo


    Dein Backtrace ist zu früh zu Ende, ist das wirklich in der selben Routine? Dann gibt es noch einen
    Fehler. Meine Änderung ist auf jeden Fall erforderlich.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • sorry, dachte ich kopiere nur die paar Zeilen damit man sieht welche Library betroffen ist.
    kann jetzt leider nicht mehr mit dem ganzen Log dienen da bei mir gerade XBMC unter Jautny x64 kompiliert (ist hoffenltich gleich fertig :D )


    ja deine Änderung klingt auch völlig nachvollziehbar, die -1 gehört da sicher hinein! (habe die unter Jaunty vorsichtshalber vor dem kompilieren auch eingefügt


    mfg
    aelo

  • Nabend zusammen.


    So habe bei mir jetzt unter jaunty xbmc-9.04~alpha1svn19559 mit dem PAtch von gda am laufen.
    Nvidia ist 180.51.
    Was mir allerdings nicht so zusagt ist die Bild qualität. Habe einen heftigen Kammefekt im Bild.
    Kann das einer bestätigen?
    Als Ausgabe habe ich VDPAU Zeitnah ausgewählt.
    Gibt es vielleicht nen Tip von euch?


    Mit xineliboutput ist das bild der Hammer.
    Xine ist xine-lib-1.2 mit dem r260 patch.
    VDR ist 1.7.0


    System ist kein 64x


    Danke und nochmals Danke vorallem an pingpong


    Gruß
    der spacy

    1. VDR Ubuntu 12.04, Ausgabe Softhddevice
    2. VDR RPI mit Openelec

    Einmal editiert, zuletzt von spacy ()

  • wow, das ist auch gut zu hören, dann muss ich dass doch auch noch mal ausprobieren, muss aber zuerst noch speicherplatz freibekommen für eine zweite Installation



    juhu, bei mir läufts nun auch:


    [Blockierte Grafik: http://www.abload.de/thumb/bildschirmfoto-26v6p.png]


    Ist es normal dass nichts passiert wenn man auf TXT/EPG oder PORTAL klickt?
    Bug oder sind diese Features einfach noch nicht implementiert?



    BTW, Details:


    XMBC Rev. 19559 + hepi, gda und pingpong Patch
    VDR 1.6.0 + Patches inkl h264-Patch
    Streamdev 0.3.4 + Patch
    Ubuntu 9.04 64bit
    Nvidia GeForce 185.19


    VDPAU funktioniert hier -> gestetet mit ORF1 HD, h264


    mfg
    aelo

  • aelo,


    du schreibst "VDPAU funktioniert hier -> gestetet mit ORF1 HD, h264"
    kannst du den Kammefekt bei dir nicht bestätigen?
    Ich habe kein HD sondern nur mit SD getestet und wie gesagt das war nicht das beste was ich so gsehen habe mit VDPAU.
    Was aber auch noch ist, auf deinem Bild eine Seite zuvor hast du die Zeitleiste nur teilweise zu sehen.Das ist auch bei mir so.


    gruß

    1. VDR Ubuntu 12.04, Ausgabe Softhddevice
    2. VDR RPI mit Openelec

  • Was meinst du mit aktuellem Treiber ? Nvidia? den habe ich drauf.
    Habe auch die sourcen von XBMC von ppa


    Mit Kammefekt meine ich das das Bild bei Bewegungen so zackig an den kanten wird. Sieht halt aus wie bei einem Kamm.


    hmm

    1. VDR Ubuntu 12.04, Ausgabe Softhddevice
    2. VDR RPI mit Openelec

  • Ich hatte jetzt auch mal die Gelegenheit meinen Patch auszuprobieren und es geht auch bei mir. Kammartefakte habe ich nicht. IIRC bekommt man die bei Problemen mit dem Deinterlacing.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • na gut dann muss ich bei mir noch mal schauen.


    gda
    hast du nen 64x system?
    Wenn nicht, hast du das prob mit der Zeitleiste in der Programmübersicht auch?

    1. VDR Ubuntu 12.04, Ausgabe Softhddevice
    2. VDR RPI mit Openelec

  • Hi,


    damit wir hier etwas tiefgründiger über VDPAU diskutieren können:


    1) Woran kann man erkennen, ob das gerade gerenderte TV-Bild (oder die abgespielte Aufnahme) mit Hilfe von VDPAU gerendert wird?
    Antwort: Man blende die Codec-Infos ein: Dazu auf der Tastatur 'o' drücken (oder auf der alten XBOX-Fernbedienung 'Title'). Das funktioniert übrigens auch außerhalb des TV-Modus, also im MyVideo-Modus zum Beispiel.


    (Wenn man große Bilder cleverer einbinden kann, sage man es mir bitte.)
    [Blockierte Grafik: http://www.henningpingel.de/fi…mc_tv_with_codec_info.jpg]


    Da werden dann (wie auf dem Screenshot zu sehen ist) eine Menge Infos angezeigt, viele davon kann ich auch nicht genau erklären. Hier ist eine etwas knappe Dokumentation zu finden: http://xbmc.org/wiki/?title=Codecinfo


    Wichtig ist meines Erachtens, was in der zweiten Zeile rechts hinter "P" steht: "dc: libmpeg2". Aha: Hier wird beispielsweise gerade kein VDPAU genutzt. Denn sonst würde dort die Zeichenfolge "vdpau" da auftauchen, wie im folgenden Beispiel:


    [Blockierte Grafik: http://www.henningpingel.de/fi…64_artbeats_demo_h264.jpg]


    2) Wann wird VDPAU genutzt?
    Das hängt a) von den XBMC-Settings ab, und b) vom Videomaterial und c) davon, welche XBMC-SVN-Version man benutzt, d) welchen Nvidia-Treiber und e) [kicher], ob man überhaupt eine neuere Nvidia-Karte hat. Im XBMC-Trac kann man in der Timeline sehr schön sehen, dass motd2k regelmäßig am Werkeln ist. Weil irgendwas mit den Subtitle-Overlays momentan noch nicht mit VDPAU funktioniert, wird - soweit ich weiß - VDPAU für SD-Content momentan absichtlich nicht genutzt.


    3) Wie konfiguriert man sich das beste De-Interlacing?
    Die Frage kann ich momentan wirklich nicht beantworten. Das hängt von vielen Faktoren ab. Die Frage ist für diesen Thread auch momentan gar nicht so wichtig. Was nützt das beste De-Interlacing, wenn XBMC alle drei Minuten crasht? :lehrer1


    Sorry, musste mal meinen Senf dazu geben. :unsch


    Viele Grüße
    hepi

  • Zitat

    Original von spacy
    gda
    hast du nen 64x system?


    Nein

    Zitat

    Original von spacy
    Wenn nicht, hast du das prob mit der Zeitleiste in der Programmübersicht auch?


    Ich weiß nicht genau was du meinst. Im Moment bekomme ich immer einen Absturz nach "Programm: Nächstes"


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Hallo Leute,


    sorry das ich erst jetzt mich wieder melde, wollte eigentlich letzen Samstag einen Patch bringen, kam nur was dazwischen.


    Unter:
    http://trac.xbmc.org/ticket/5595
    können wie immer die neuesten Patches gezogen werden.


    Änderungen sind:


    Beachtet bitte das diese Version nicht unter Windows funktioniert, hab leider keine Ahnung wie ich eine DLL dazu bringen kann Funktionen aus xbmc aufzurufen, bekomme unter Windows da immer Linker Fehler bezüglich fehlender Symbole beim übersetzten der VDR-PVR DLL, wenn da also jemand eine Idee hat.


    Wie schon gesagt der PVR Teil wird jetzt unter linux als shared library geladen, diese muß unter Einstellungen->Video->TV->Klienten verwalten über Hinzufügen ausgewählt werden.


    In dem vorher erwähnten Addon Fenster müssen auch die Einstellungen vorgenommen werden. Wie IP Addresse, port, UTF8 konvertierung usw.


    Beste Grüße,


    Alwin

Jetzt mitmachen!

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