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
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
Ich bin auch nicht verjagt. Warte nur auch auf das neue Patchset...
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
--- xbmc/pvrclients/VDR/VTPTransceiver.cpp.orig 2009-04-22 10:26:01.000000000 +0200
+++ xbmc/pvrclients/VDR/VTPTransceiver.cpp 2009-04-22 10:26:23.000000000 +0200
@@ -264,7 +264,7 @@
}
}
- result = recv(m_socket, buffer, sizeof(buffer), 0);
+ result = recv(m_socket, buffer, sizeof(buffer) - 1, 0);
if(result < 0)
{
CLog::Log(LOGDEBUG, "VTPTransceiver::ReadResponse - recv failed");
Alles anzeigen
Und welches Problem soll der Patch lösen?
ZitatOriginal 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:
*** stack smashing detected ***: /usr/share/xbmc/xbmc.bin terminated
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6(__fortify_fail+0x48)[0xb7570da8]
/lib/tls/i686/cmov/libc.so.6(__fortify_fail+0x0)[0xb7570d60]
/usr/share/xbmc/xbmc.bin(_ZN14VTPTransceiver12ReadResponseERiRSt6vectorISsSaISsEE+0x47f)[0x888b6ef]
/usr/share/xbmc/xbmc.bin(_ZN14VTPTransceiver11SendCommandERKSsRiRSt6vectorISsSaISsEE+0x3e)[0x888b78e]
/usr/share/xbmc/xbmc.bin(_ZN12PVRClientVDR14GetAllChannelsEPSt6vectorI17CTVChannelInfoTagSaIS1_EEb+0x11f)[0x888725f]
/usr/share/xbmc/xbmc.bin(_ZN11CPVRManager5StartEv+0x299)[0x85c42f9]
/usr/share/xbmc/xbmc.bin(_ZN12CApplication10InitializeEv+0x100b)[0x82faf0b]
/usr/share/xbmc/xbmc.bin(_ZN16CXBApplicationEx6CreateEPv+0x12)[0x8563b02]
/usr/share/xbmc/xbmc.bin(_ZN12CApplication6CreateEPv+0x1037)[0x82f7f67]
/usr/share/xbmc/xbmc.bin(main+0x14c)[0x85643cc]
/lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe5)[0xb7489775]
/usr/share/xbmc/xbmc.bin[0x82106a1]
Alles anzeigen
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
ZitatOriginal 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
juhu, es ist Weihnachten
so dann werde ich das mal sofort ausprobieren
mfg
aelo
edit:
bin gerade dabei am rev 19559 kompilieren, thx@ hepi + gda habe eure Änderungen manuell eingepflegt
melde mich dann später mit dem ergebnis
edit:
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
naja werde es mit 64bit Jaunty testen...
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 )
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
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ß
https://launchpad.net/~thefirstm/+archive/ppa
probiere mal den aktuellen Treiber
weiß zwar nicht genau was du unter Kammeffekt verstehst aber eine extreme Bildstörhung ist mir bisher nicht aufgefallen
mfg
aelo
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
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
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?
Sorry, musste mal meinen Senf dazu geben.
Viele Grüße
hepi
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:
ZitatAlles anzeigen
- Added alcoheca's shared library support (Broken under windows)
- Fixed special character conversion
- Fixed crash by wrong port
- Fixed refresh of data inside timers and recordings
- Fixed radiochannels not shown by DVB-S/T
- Fixed Replay of Recordings
- Fixed some Translations
- Fixed go Back from settings with back button not possible
- Fixed last channel from VDR always missing
- Fixed End Date inside timer edit
- Fixed "No Programme information available" not shown
- Fixed Crash if TV Channel is switched on 0
- gdachs changes for buffer size inside VTPTransceiver.cpp (Thanks a lot)
- Added Basic OSD-Epgguide
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
DANKE !!!
welcher patch für vdr ? keiner wäre ja ideal.....
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!