Ich hab mir einfach in den sources in der datei
pctv452e.c
die Zeile
ERR(“I2C error …”)
auskommentiert
Ich hab mir einfach in den sources in der datei
pctv452e.c
die Zeile
ERR(“I2C error …”)
auskommentiert
Mit aktuellen git, ffmpeg 1.2 und aktuellen nvidia treiber 313.30 funzt softhddevice 1a
Keine ruckler, keine aussetzer, bin schwerst begeistert. so gut hat es noch nie funktioniert und ich eiere schon seit 2009 herum
Vielen Dank an Johns!!
ist ein bug im nvidia treiber. Hab auch einen Denon Receiver. Liegt irgendwie an der Startreihenfolge der Geräte. Ich hab alles mögliche probiert, bin dann wieder auf den 295 zurück
Servus,
also mit -D als Starparameter hat es erfolgreich funktioniert! Der VDR ist erfolgreich in den Standby nach der Aufnahme zurückgekehrt.
Was mich noch interessieren würde. Wenn ich das primary device wechsle, welche "Nummer" muss ich angeben?
Bei drei DVB devices, kann ich zB 3 angeben? Wir dadurch der Dummyplayer beendet?
Hat der Parameter MakePrimaryDevice: 1 einen Einfluss?
Danke Danke für die Antworten
Ich habe softhddevice mit xineliboutput verglichen.
Xineliboutput ruft den ShutdownHandler im vdr eigentlich nur für den Emergency Exit auf.
find -exec grep -H "ShutdownHandler." \{\} \;
./frontend_local.c: ShutdownHandler.RequestEmergencyExit();
Softhddevice hingegen ruft den ShutdownHandler mehrfach auf:
find -exec grep -H "ShutdownHandler." \{\} \;
./softhddevice.cpp: if (ShutdownHandler.GetUserInactiveTime()) {
./softhddevice.cpp: ShutdownHandler.SetUserInactive();
./softhddevice.cpp: if (0 && SuspendMode == NOT_SUSPENDED && ShutdownHandler.IsUserInactive()) {
./softhddevice.cpp: if (ShutdownHandler.GetUserInactiveTime()) {
./softhddevice.cpp: ShutdownHandler.SetUserInactiveTimeout();
./softhddevice.cpp: if (ShutdownHandler.GetUserInactiveTime()) {
./softhddevice.cpp: ShutdownHandler.SetUserInactiveTimeout();
Warum? Was ist der tiefere Grund dahinter? Was passiert wenn ich den ShutdownHandler auskommentiere?
Kann es sein, dass das detachen auch eine Benutzeraktivität triggert? Hab im Code gesucht und nichts gefunden.
Mir ist es egal ob ich softhddevice detache oder suspende. Probiere jetzt eine Woche damit herum, beides fährt den VDR nicht herunter ... Auch nicht die -D Option.
Ich hab mir aktuell ein Script gebaut, dass das softhddevice nach 10 min detached, sofern nicht eine spezielle Taste auf der FB gedrückt wurde (lässt sich leicht mit der Harmony realisieren). Aber selbst das war erfolglos....
Hi,
verwende jetzt seit ca. 2 wochen softhddevice und bin schwer davon begeistert!
Das einzige was mich stört, ist dass der VDR nach einer Timeraufnahme nicht mehr runterfährt.
Suchfunktion hab ich benutzt, einige Threads gefunden aber die Lösung habe ich immer noch nicht durchschaut. Ich denke in YaVDR wurden eigene workarounds eingebaut.
Egal was ich mache, softhddevice fährt nach einer Timeraufnahme nicht herunter. Mit xine und xineliboutput funktionierts, es liegt definitiv am plugin. Manuell ausgeführter shutdown funktioniert immer,
Vielleicht könntet Ihr mir die Parameter nennen, mit denen ich softhddevice starte muss. zB funktioniert bei mir -s auch nicht
Danke
Nur zur info: So ganz kompatibel mit dem Jumpplay Patch dürfte dieser Patch nicht sein. Vielleicht hast ja Zeit das bei Gelegenheit mal anzupassen ...
g++ -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses -c -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DUSE_TTXTSUBS -DUSE_WAREAGLEICON -DUSE_YAEPG -DUSE_JUMPPLAY -DREMOTE_KBD -DREMOTE_LIRC -DLIRC_DEVICE=\"/dev/lircd\" -DRCU_DEVICE=\"/dev/ttyS1\" -D_GNU_SOURCE -DVIDEODIR=\"/video\" -DCONFDIR=\"/video\" -DPLUGINDIR=\"./PLUGINS/lib\" -DLOCDIR=\"./locale\" -I/usr/include/freetype2 -I/usr/src/v4l-dvb/linux/include dvbplayer.c
dvbplayer.c: In member function ‘virtual void cDvbPlayer::Action()’:
dvbplayer.c:433: error: ‘LastMarkPause’ was not declared in this scope
dvbplayer.c:524: error: ‘cutIn’ was not declared in this scope
dvbplayer.c:599: error: ‘LastMarkPause’ was not declared in this scope
make: *** [dvbplayer.o] Fehler 1
ZitatAn allen die kein yavdr nutzen, hab ich ein diff erstellt gegen einem vanilla vdr-1.7.7
Er enthält der extp version 1beta9, und zwei Patches von Klaus / Udo aus der ML
Vielen Dank!!!
Leider bekomme ich folgenden Fehler beim Livebuffer:
g++ -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses -c -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DUSE_JUMPPLAY -DUSE_LIVEBUFFER -DUSE_TTXTSUBS -DUSE_WAREAGLEICON -DREMOTE_KBD -DREMOTE_LIRC -DUSE_LIVEBUFFER -DLIRC_DEVICE=\"/dev/lircd\" -DRCU_DEVICE=\"/dev/ttyS1\" -D_GNU_SOURCE -DVIDEODIR=\"/video\" -DCONFDIR=\"/video\" -DPLUGINDIR=\"./PLUGINS/lib\" -DLOCDIR=\"./locale\" -I/usr/include/freetype2 -I/usr/src/v4l-dvb/linux/include menu.c
menu.c: In member function ‘virtual eOSState cReplayControl::ProcessKey(eKeys)’:
menu.c:6100: error: duplicate case value
menu.c:6065: error: previously used here
menu.c:6101: error: duplicate case value
menu.c:6063: error: previously used here
make: *** [menu.o] Fehler 1
Und ohne Livebuffer:
g++ -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses -rdynamic audio.o channels.o ci.o config.o cutter.o device.o diseqc.o dvbdevice.o dvbci.o dvbplayer.o dvbspu.o dvbsubtitle.o eit.o eitscan.o epg.o filter.o font.o i18n.o interface.o keys.o lirc.o menu.o menuitems.o nit.o osdbase.o osd.o pat.o player.o plugin.o rcu.o receiver.o recorder.o recording.o remote.o remux.o ringbuffer.o sdt.o sections.o shutdown.o skinclassic.o skins.o skinsttng.o sourceparams.o sources.o spu.o status.o svdrp.o themes.o thread.o timers.o tools.o transfer.o vdr.o videodir.o vdrttxtsubshooks.o iconpatch.o -ljpeg -lpthread -ldl -lcap -lrt -lfreetype -lfontconfig ./libsi/libsi.a -o vdr
device.o: In function `cDevice::SetChannel(cChannel const*, bool)':
/usr/local/src/vdr/device.c:975: undefined reference to `cRecordControls::SetLiveChannel(cDevice*, cChannel const*)'
dvbplayer.o: In function `cDvbPlayer':
/usr/local/src/vdr/dvbplayer.c:297: undefined reference to `cRecordControls::GetLiveIndex(char const*)'
/usr/local/src/vdr/dvbplayer.c:297: undefined reference to `cRecordControls::GetLiveIndex(char const*)'
collect2: ld returned 1 exit status
make: *** [vdr] Fehler 1
Habs auf einen frisch entpackten VDR 1.7.17 versucht
Hallo,
die letzten zwei Wochen habe ich das Verhalten genauer beobachtet. Ich muss sagen, dass ich mit den höheren Bufferwerten schon wesentlich weniger Aussetzer habe. Trotzdem treten sporadische Aussetzer immer noch auf.
Interessant ist, dass die Buffers über Zeit immer weniger werden. Also von
video_out: (vo_frame_draw:450) vi: (2200, 1055, 1144), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 20, 12)
geht es im Verlauf des Zusehens runter auf
video_out: (vo_frame_draw:450) vi: (2200, 806, 1393), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 9, 23)
Irgendwann tritt dann folgender Fehler auf:
video_out: (vo_frame_draw:450) vi: (2200, 824, 1375), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 8, 24)
video_out: (vo_frame_draw:450) vi: (2200, 809, 1390), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 8, 24)
liba52:a52 frame failed crc16 checksum.
video_out: (vo_frame_draw:450) vi: (2200, 812, 1387), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 8, 24)
video_out: (vo_frame_draw:450) vi: (2200, 818, 1381), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 7, 25)
video_out: (vo_frame_draw:450) vi: (2200, 804, 1395), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 7, 25)
liba52:a52 frame failed crc16 checksum.
video_out: (vo_frame_draw:450) vi: (2200, 824, 1375), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 6, 26)
video_out: (vo_frame_draw:450) vi: (2200, 824, 1375), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 7, 25)
video_out: (vo_frame_draw:450) vi: (2200, 822, 1377), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 5, 27)
liba52:a52 frame failed crc16 checksum.
video_out: (vo_frame_draw:450) vi: (2200, 816, 1382), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 5, 27)
video_out: (vo_frame_draw:450) vi: (2200, 821, 1378), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 4, 28)
video_out: (vo_frame_draw:450) vi: (2200, 812, 1387), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 4, 28)
liba52:a52 frame failed crc16 checksum.
video_out: (vo_frame_draw:450) vi: (2200, 828, 1371), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 3, 29)
video_out: (vo_frame_draw:450) vi: (2200, 838, 1361), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 4, 28)
video_out: (vo_frame_draw:450) vi: (2200, 825, 1374), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 2, 30)
video_out: (vo_frame_draw:450) vi: (2200, 832, 1367), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 3, 29)
liba52:a52 frame failed crc16 checksum.
video_out: (vo_frame_draw:450) vi: (2200, 849, 1350), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 0, 32)
video_out: (vo_frame_draw:450) vi: (2200, 857, 1342), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 0, 32)
video_out: (vo_frame_draw:450) vi: (2200, 841, 1358), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 0, 32)
liba52:a52 frame failed crc16 checksum.
video_out: (vo_frame_draw:450) vi: (2200, 839, 1360), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 0, 32)
video_out: (vo_frame_draw:450) vi: (2200, 834, 1365), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 0, 32)
video_out: (vo_frame_draw:450) vi: (2200, 814, 1385), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 0, 32)
video_out: (vo_frame_draw:450) vi: (2200, 809, 1390), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 0, 32)
video_out: (vo_frame_draw:450) vi: (2200, 804, 1395), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 0, 32)
Alles anzeigen
und dann ist es ganz vorbei....
Ich habe Dir das komplette Log unter:
http://benet.at/vdr-xine.log.gz
gespeichert.
Ich habe ORF2 HD geschaut und irgendwann auf ORF1 HD gewechselt.
Danke für die Infos! Ich werde testen und berichten....
Interessant ist, dass die Tonaussetzer idR beim Fussball auftreten. Das dürfte einerseits an ständigen Tonkulisse liegen (und man es sofort merkt wenn es Aussetzer gibt) und andererseits dass wahrscheinlich die ÖRs den Versatz auch nicht ordentlich hinbekommen.
bei mir schaut das wie folgt aus. Warum und Wann die Tonaussetzer kommen ist zufall aus meiner Sicht. Es hat weder etwas mit Empfang oder dem System zu tun.
Anhand der Logs ist es absehbar, wann es passiert:
video_out: (vo_frame_draw:450) vi: (1800, 707, 1092), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 10, 22)
video_out: (vo_frame_draw:450) vi: (1800, 706, 1093), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 8, 24)
video_out: (vo_frame_draw:450) vi: (1800, 724, 1075), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 9, 23)
video_out: (vo_frame_draw:450) vi: (1800, 716, 1083), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 8, 24)
video_out: (vo_frame_draw:450) vi: (1800, 732, 1067), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 9, 23)
video_out: (vo_frame_draw:450) vi: (1800, 740, 1059), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 7, 25)
video_out: (vo_frame_draw:450) vi: (1800, 734, 1065), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 8, 24)
video_out: (vo_frame_draw:450) vi: (1800, 730, 1069), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 7, 25)
video_out: (vo_frame_draw:450) vi: (1800, 726, 1073), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 7, 25)
video_out: (vo_frame_draw:450) vi: (1800, 648, 1151), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 6, 26)
video_out: (vo_frame_draw:450) vi: (1800, 644, 1155), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 6, 26)
video_out: (vo_frame_draw:450) vi: (1800, 640, 1159), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 4, 28)
video_out: (vo_frame_draw:450) vi: (1800, 629, 1170), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 4, 28)
video_out: (vo_frame_draw:450) vi: (1800, 626, 1173), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 3, 29)
video_out: (vo_frame_draw:450) vi: (1800, 623, 1176), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 3, 29)
video_out: (vo_frame_draw:450) vi: (1800, 608, 1191), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 3, 29)
video_out: (vo_frame_draw:450) vi: (1800, 605, 1194), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 2, 30)
video_out: (vo_frame_draw:450) vi: (1800, 602, 1197), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 2, 30)
video_out: (vo_frame_draw:450) vi: (1800, 592, 1207), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 0, 32)
video_out: (vo_frame_draw:450) vi: (1800, 589, 1210), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 0, 32)
video_out: (vo_frame_draw:450) vi: (1800, 586, 1213), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 0, 32)
video_out: (vo_frame_draw:450) vi: (1800, 507, 1292), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 0, 32)
video_out: (vo_frame_draw:450) vi: (1800, 504, 1295), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 0, 32)
video_out: (vo_frame_draw:450) vi: (1800, 501, 1298), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 0, 32)
video_out: (vo_frame_draw:450) vi: (1800, 490, 1309), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 0, 32)
video_out: (vo_frame_draw:450) vi: (1800, 487, 1312), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 0, 32)
video_out: (vo_frame_draw:450) vi: (1800, 484, 1315), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 0, 32)
video_out: (vo_frame_draw:450) vi: (1800, 472, 1327), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 0, 32)
video_out: (vo_frame_draw:450) vi: (1800, 468, 1331), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 0, 32)
Alles anzeigen
dann baut es sich wieder auf:
video_out: (vo_frame_draw:450) vi: (1800, 614, 1185), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 1, 31)
video_out: (vo_frame_draw:450) vi: (1800, 624, 1175), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 2, 30)
video_out: (vo_frame_draw:450) vi: (1800, 646, 1153), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 2, 30)
video_out: (vo_frame_draw:450) vi: (1800, 668, 1131), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 3, 29)
video_out: (vo_frame_draw:450) vi: (1800, 607, 1192), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 4, 28)
video_out: (vo_frame_draw:450) vi: (1800, 625, 1174), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 5, 27)
video_out: (vo_frame_draw:450) vi: (1800, 681, 1118), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 7, 25)
video_out: (vo_frame_draw:450) vi: (1800, 710, 1089), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 8, 24)
video_out: (vo_frame_draw:450) vi: (1800, 717, 1082), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 8, 24)
video_out: (vo_frame_draw:450) vi: (1800, 715, 1084), ai: ( 700, 0, 700), vo: (22, 4, 1), ao: (32, 8, 24)
Meine Einstellungen:
engine.buffers.audio_num_buffers:700
engine.buffers.video_num_buffers:1800
engine.buffers.video_num_frames:22
xine.modeLiveTV.prebufferFramesAudio = 4
xine.modeLiveTV.prebufferFramesVideoHD = 8
xine.modeLiveTV.prebufferFramesVideoSD = 4
xine.modeLiveTV.prebufferHysteresis = 8
Tonausgabe über HDMI
Alsa Version 1.0.24
Aktuelles Xine-Lib aus dem Git mit Branch vdpau-extensions-patch-xine-lib-patch
ja leider ein sehr unschönes Thema ...
Bei mir tritts auch nur bei Live Tv auf. Bei Aufnahmen läufts wunderbar. Habe auch schon verschiedene Buffer Einstellungen und NVidia Treiber ausprobiert.
Habe dann von HDMI auf optisches Kabel gewechselt, dadurch wurde es merklich besser.
Bin jetzt allerdings wieder auf HDMI zurück-gewechselt, da ich bei optischen Kabel sehr störende Knackser beim Kanalwechsel habe und es dafür eigentlich auch keine Lösung gibt.
Habe auch sehr viel mit den Buffer Einstellungen herumprobiert. Dadurch kann man das Problem höchstens verzögern. Ich habe auch mit den cpufreq-utils und verschiedenen Takteinstellungen herumprobiert ohne merliche Besserung. Eigentlich haben alle bis jetzt gelesen Tips nichts gebracht.
Derzeit probiere ich gerade mit Alsa 1.0.24 herum, langzeit Ergebnisse kann ich noch keine posten.
Wenn ich diese Tonaussetzer nicht hätte, wäre mein VDR eeendlich perfekt
bei mir treten mit der neuen version unter xbmc die weißen aufblitzer auf dunklen oberflächen auf
Ich habs getestet und installiert.
Hat leider immer noch das Problem, dass ab und zu das Bild hängen bleibt und dann im Schnelldurchlauf durchgespielt wird. In Summe dauert das ca. 2-3 "Schreck"-sekunden.
Mit dem 195.30 gibt es dieses Problem nicht.
Tritt sowohl mit xine als auch mit xineliboutput auf. In den Logs sehe ich keine Fehlermeldung...
leider habe ich das SPDIF nicht zum laufen bekommen.
Ich konnte aber den Tonaussetzern exterm verringern, indem ich die Buffer für HD und Audio in der .xine/config stark erhöht habe
Werde es mal mit xineliboutput probieren ...
Habe bei meinem Subwoofer auch ein Auto Ein/Aus. Das schaltet sich bei normalen TV auch immer nach eigenem Belieben ein und aus und das war auf Dauer ziemlich nervig.
Ich habe mir deshalb eine Infrarot Funksteckdose zwischengehängt. Bei meiner Harmony Fernbedienung habe ich einen zusätzlichen Befehl für den Infrarot Einschalter angelernt. Sobald ich den Fernseher einschalte oder Musik höre, wird der Subwoofer mit Strom versorgt und bleibt eingeschalten, bis ich das ganze System wieder herunterfahre. Habe natürlich das Auto Ein/Aus am Subwoofer selbst deaktiviert.
Ohne Werbung zu machen - diese Gerät habe ich mir zugelegt (http://tinyurl.com/2vhk4g5)