Nirvana's sectionsd Testecke
-
- Erleuchteter
- Beiträge: 646
- Registriert: Mittwoch 16. April 2003, 14:12
Einlesen ist commandreadSIfromxml im sectionsd.cpp. Der Aufruf kommt aus InitZapper von neutrino.cpp.
Aber wenn das Abspeichern geht, klappt auch das Einlesen. Warst du vielleicht zu ungeduldig?
Auf MTV (sender ohne EPG) schalten.
Dann Runterfahren.
EPG.xml löschen.
Dann Booten. Auf RTL schalten. Warten bis Events gelsen.
Dann auf MTV.
Dann runterfahren und neu starten.
Du solltest nach spätestens einigen Minuten auch die Events von RTL wieder sehen, obwohl du auf MTV geblieben bist.
Aber wenn das Abspeichern geht, klappt auch das Einlesen. Warst du vielleicht zu ungeduldig?
Auf MTV (sender ohne EPG) schalten.
Dann Runterfahren.
EPG.xml löschen.
Dann Booten. Auf RTL schalten. Warten bis Events gelsen.
Dann auf MTV.
Dann runterfahren und neu starten.
Du solltest nach spätestens einigen Minuten auch die Events von RTL wieder sehen, obwohl du auf MTV geblieben bist.
-
- Tuxboxer
- Beiträge: 2331
- Registriert: Donnerstag 24. März 2005, 21:52
ok ish teste mal auf einen non epg sender. Das Vierte hat ja auch keinen epg . also beim abspeichern seh ich ja die netzwerk leds leuchten. nur beim start sehe ich da nichts werden beim start alle epg daten eingelesen ??
PS Danke großer Meister. es geht nun wunderbar. ich bin eben ein ungedulduger kerl
Fehlt nur noch die fehlerbereinigung, das shutdownbild zerstückelt wird. es legt sich irgendwie das neutrino menü drüber
dann noch das ganze sectionsd/epg zeugs in eine sectionsd.conf paken. das wäre der oberhammer
PS Danke großer Meister. es geht nun wunderbar. ich bin eben ein ungedulduger kerl
Fehlt nur noch die fehlerbereinigung, das shutdownbild zerstückelt wird. es legt sich irgendwie das neutrino menü drüber
dann noch das ganze sectionsd/epg zeugs in eine sectionsd.conf paken. das wäre der oberhammer
-
- Erleuchteter
- Beiträge: 646
- Registriert: Mittwoch 16. April 2003, 14:12
Geil, wa?
Nur:
Nur:
kann ich alles bestätigen. Hab aber voraussichtlich nicht die Zeit mich demnächst drum zu kümmern. Schade.Papst hat geschrieben:So, habs jetzt hinbekommen nachdem ich ein paar Sachen gecleant hab.
1. Der Speicherverbrauch nach einem Start mit vorhandenem File steigt schnell auf fast 50%. Bei nicht vorhandenem File ist der Speicherverbrauch wie ohne den Patch.
2. Beim Runterfahren durch langes drücken der Standby Taste schaltet die Box während des Fileschreibens in Standby und führt auch das Standby.on Script aus. Ist so sicherlich nicht gedacht.
3. Beim Runterfahren durch DBoxTaste-StandbyTaste scheinen das Shutdownbild und das Hauptmenü merkwürdig vermischt dargestellt zu werden. Allerdings geht die Box nicht in Standby, sondern fährt ganz normal runter.
-
- Wissender
- Beiträge: 1839
- Registriert: Sonntag 17. August 2003, 01:39
-
- Erleuchteter
- Beiträge: 646
- Registriert: Mittwoch 16. April 2003, 14:12
-
- Wissender
- Beiträge: 1839
- Registriert: Sonntag 17. August 2003, 01:39
Und was passiert wenn ich in dieser Zeit auf Sender mit EPG zappe??Nirvana hat geschrieben:Ich glaube das bringt nix. Die CPU ist eh dicht. Ich habe es ausprobiert auf höherer Priorität einlesen zu lassen, aber dann ist die Box unbedienbar lahm.PauleFoul hat geschrieben:Auch das Einlesen der daten funktioniert wunderbar... Könnte allerings
etwas schneller sein...
Werden die epg.xml Daten dann verworfen / gelöscht / aktualisiert??
Gruß
____Paule
-
- Erleuchteter
- Beiträge: 646
- Registriert: Mittwoch 16. April 2003, 14:12
Immer wer als Letzter kommt gewinnt. D.h. wenn dasselbe Event vom Sat kommt (früher oder später) ist das vom Sat drin. Das macht sectionsd sowieso permanent: Event mit der aktuellenNummer raus. Event mit der aktuellen Nummer rein. Das ist ja gerade der etwas dumme aber schnelle Algorithmus, der dazu führt, dass schon mal eine ausführliche Beschreibung gelöscht wird.
Eigentlich müsste man tatsächlich aktualisiseren. Extended Event dazu oder Zeiten aktualisiert. Aber da sind dann möglicherweise viele Vergleiche zu machen...
Eigentlich müsste man tatsächlich aktualisiseren. Extended Event dazu oder Zeiten aktualisiert. Aber da sind dann möglicherweise viele Vergleiche zu machen...
-
- Tuxboxer
- Beiträge: 2331
- Registriert: Donnerstag 24. März 2005, 21:52
ich hab ein sectionsd.conf menü fertig. es ist bestimmt nicht perfekt. es wird eine sectionsd.conf gespeichert, die vom sectionsd eingelesen wird bei jeden start und bei epg-reset.
-zeitaktualisierung über DVB/NTP
-zeitserver
-Intervall bei NTP einstelbar, bei DVB bleibt es 30minuten
-EPG cache in Tagen einstellbar (tage)
-EPG datenerhalt nach ende des events einstellbar (stunden)
-maxevents to cache einstellbar (6000)
mir fehlt noch das sectionsd scan (aus der scan.conf raus)
und das neue epg_speichern (aus neutrino.conf raus)
-ein/aus als option
-speicherort in mountverzeichnis
wenn ich das noch hinbekomme, das neutrino damit nichts mehr zu tun hat. mal sehn ob mir das gelingt. timerd, neutrino,controld,nhttpd haben configs. also wird es zeit, das der sectionsd auch eine bekommt. und nicht alles verstreut irgendwo rumliegt
ich benötige nur von Nirvana noch paar genauere angaben. eventuell kann man ja im chat sowas mal abklären, wenn ich reinkomm
PS.
soweit ich das überblicken kann, macht neutrino nur eine abfrage, ob ein eintrag mountpfad in der neutrino.conf da ist ?
oder hab ich da was übersehen ?
wie kann ich das aus der sectionsd.conf, die ich ja in der sectionsd.cpp auslese hier in neutrino eintragen ? ich steh da bischen aufn schlauch.
auch der einfachheit der neutrino source, solte da nicht so viel neues reinkommen. darüber war man sich ja einig.
-zeitaktualisierung über DVB/NTP
-zeitserver
-Intervall bei NTP einstelbar, bei DVB bleibt es 30minuten
-EPG cache in Tagen einstellbar (tage)
-EPG datenerhalt nach ende des events einstellbar (stunden)
-maxevents to cache einstellbar (6000)
mir fehlt noch das sectionsd scan (aus der scan.conf raus)
und das neue epg_speichern (aus neutrino.conf raus)
-ein/aus als option
-speicherort in mountverzeichnis
wenn ich das noch hinbekomme, das neutrino damit nichts mehr zu tun hat. mal sehn ob mir das gelingt. timerd, neutrino,controld,nhttpd haben configs. also wird es zeit, das der sectionsd auch eine bekommt. und nicht alles verstreut irgendwo rumliegt
ich benötige nur von Nirvana noch paar genauere angaben. eventuell kann man ja im chat sowas mal abklären, wenn ich reinkomm
PS.
soweit ich das überblicken kann, macht neutrino nur eine abfrage, ob ein eintrag mountpfad in der neutrino.conf da ist ?
Code: Alles auswählen
if (strcmp(g_settings.epg_file, "") != 0)
g_Sectionsd->readSIfromXML(g_settings.epg_file);
...
...
if (strcmp(g_settings.epg_file, "") != 0) {
waitforshutdown = true;
g_Sectionsd->writeSI2XML(g_settings.epg_file);
wie kann ich das aus der sectionsd.conf, die ich ja in der sectionsd.cpp auslese hier in neutrino eintragen ? ich steh da bischen aufn schlauch.
auch der einfachheit der neutrino source, solte da nicht so viel neues reinkommen. darüber war man sich ja einig.
-
- Erleuchteter
- Beiträge: 547
- Registriert: Mittwoch 30. Juni 2004, 16:06
Hi,
ich habe es mit dem JTG Testsnap auch nach einigem Suchen hinbekommen.
Wichtig ist anscheinend nur das man den "EPG-File" in der neutrino.conf auch wirklich editiert und anlegt. Läßt man den Leer oder einen falschen Pfad bzw keinen Dateinamen gibt es tatsächlich kein EPG mehr.
Nur muß ich leider bemäkeln, dass es viel zu langsam ist. Bis das EPG erscheint, habe ich schon längst die Sender duchgezappt Und das periodische Speichern fehlt halt noch.
Generell denke ich, dass es u.U. nicht schneller gehen kann, da
- nicht sequentiell gespeichert wird sondern immer alles
- die Datei zu groß ist
- es keine Datenbank ist und unkomprimiert ist
Gedankenanstoß:
Was wäre, wenn beim Starten der Box beim ersten Aufruf de Sectionsd es eine Meldung gäbe, "EPG wird eingelesen", während dieser Zeit geht dann wirklich nichts anderes, weil höchste Prozessprio. Denn jetzt passiert übers Netzwerk kaum etwas, die Daten werden im schneckentempo ausgelesen.
Wie lange würde dann das Rebuild vom EPG dauern?
Cu
Torsten
ich habe es mit dem JTG Testsnap auch nach einigem Suchen hinbekommen.
Wichtig ist anscheinend nur das man den "EPG-File" in der neutrino.conf auch wirklich editiert und anlegt. Läßt man den Leer oder einen falschen Pfad bzw keinen Dateinamen gibt es tatsächlich kein EPG mehr.
Nur muß ich leider bemäkeln, dass es viel zu langsam ist. Bis das EPG erscheint, habe ich schon längst die Sender duchgezappt Und das periodische Speichern fehlt halt noch.
Generell denke ich, dass es u.U. nicht schneller gehen kann, da
- nicht sequentiell gespeichert wird sondern immer alles
- die Datei zu groß ist
- es keine Datenbank ist und unkomprimiert ist
Gedankenanstoß:
Was wäre, wenn beim Starten der Box beim ersten Aufruf de Sectionsd es eine Meldung gäbe, "EPG wird eingelesen", während dieser Zeit geht dann wirklich nichts anderes, weil höchste Prozessprio. Denn jetzt passiert übers Netzwerk kaum etwas, die Daten werden im schneckentempo ausgelesen.
Wie lange würde dann das Rebuild vom EPG dauern?
Cu
Torsten
-
- Tuxboxer
- Beiträge: 2331
- Registriert: Donnerstag 24. März 2005, 21:52
das mit den meldungen ist bestimmt machbar später.
priorität hat für mich:
-komisches shutdownbild
-erstellung einer sectionsd.conf, und alle sachen sectionsd betreffend da rein.
-das periodische abspeichern ist so ne sache, denn dann ist die box net so gut bedienbar garantiert.
ich hab ein eigenen reboot aufruf eingebastelt, damit das abspeichern nur beim shutdown passieren soll. ich teste weiter.
priorität hat für mich:
-komisches shutdownbild
-erstellung einer sectionsd.conf, und alle sachen sectionsd betreffend da rein.
-das periodische abspeichern ist so ne sache, denn dann ist die box net so gut bedienbar garantiert.
ich hab ein eigenen reboot aufruf eingebastelt, damit das abspeichern nur beim shutdown passieren soll. ich teste weiter.
-
- Tuxboxer
- Beiträge: 2331
- Registriert: Donnerstag 24. März 2005, 21:52
-
- Erleuchteter
- Beiträge: 785
- Registriert: Samstag 6. August 2005, 03:39
Probier dann mal die blaue Taste und geh ins shellexec menü.mb405 hat geschrieben:ich hab grad paar printfs mal eingebaut.
mit aufruf dessen.kommt der komische endbildschirm (neutrino menü kann man umrisshaft erkennen).g_Sectionsd->writeSI2XML(g_settings.epg_file);
Bei mir kommt dann wieder Bild und Menü
bye
PetB
1 x DBOX2 Phillips, 1 x DBOX2 Nokia, 1 x DBOX2 Sagem, 100er Gibertini (Astra / Hotbird), NFS Server
-
- Tuxboxer
- Beiträge: 2331
- Registriert: Donnerstag 24. März 2005, 21:52
-
- Tuxboxer
- Beiträge: 2331
- Registriert: Donnerstag 24. März 2005, 21:52
so es geht mit einer extra config. ich teste mal weiter.
logausgaben auf DasErste
logausgaben auf DasErste
[sectionsd] readNbytes: received POLLERR
[sectionsd] readNbytes: received POLLERR
before removeoldevents
after removeoldevents
before removeoldevents
after removeoldevents
[sectionsd] readNbytes: received POLLERR
[sectionsd] readNbytes: received POLLERR
before removeoldevents
after removeoldevents
[sectionsd] readNbytes: received POLLERR
[sectionsd] readNbytes: received POLLERR
before removeoldevents
after removeoldevents
[sectionsd] readNbytes: received POLLERR
[sectionsd] readNbytes: received POLLERR
before removeoldevents
after removeoldevents
[sectionsd] readNbytes: received POLLERR
[sectionsd] readNbytes: received POLLERR
before removeoldevents
after removeoldevents
-
- Tuxboxer
- Beiträge: 2331
- Registriert: Donnerstag 24. März 2005, 21:52
also prinzipiell funktioniert das ganze mit den sectionsd scan, und epg speichern wunderbar. nur eben wie gesagt hat sich wohl wieder ein speicherfresser eingeschlichen. ich hab nach ca. 1-2 stunden beim sectionsd locker 40-45%MEM nutzung. die box bleibt bedienbar. nur streamen ist dann nicht mehr drin.
-
- Erleuchteter
- Beiträge: 646
- Registriert: Mittwoch 16. April 2003, 14:12
Die Debugmeldungen sind harmlos.
Und der Memverbrauch dürfte normal sein. Dass irgendwann Streamen/Movieplayer nicht mehr geht ist bei mir schon immer so. Deshalb soll ja die Funktion freemem genutzt werden, bevor die anderen Speicherfresser gestartet werden. Das wäre schön wenn das mal jemand einbauen würde. Ansonsten: schmeiß doch mal eine Testversion ins Gelände.
Und der Memverbrauch dürfte normal sein. Dass irgendwann Streamen/Movieplayer nicht mehr geht ist bei mir schon immer so. Deshalb soll ja die Funktion freemem genutzt werden, bevor die anderen Speicherfresser gestartet werden. Das wäre schön wenn das mal jemand einbauen würde. Ansonsten: schmeiß doch mal eine Testversion ins Gelände.
-
- Tuxboxer
- Beiträge: 2331
- Registriert: Donnerstag 24. März 2005, 21:52
ähhh freemem ist ja drin. oder hab ich da was falsch gesehen. ??
wenn du mir kurz sagst was man machen muss, und wie und woo . teste ich gerne mit. ich liebe Nirvana + Barf patche.
THX euch beiden
PS
muss ich mir das so vorstellen ??
g_Sectionsd->freeMemory()
im movieplayer.cpp aufrufen=für wiedergabe
im ???????????.cpp aufrufen=für streaming
wenn du mir kurz sagst was man machen muss, und wie und woo . teste ich gerne mit. ich liebe Nirvana + Barf patche.
THX euch beiden
PS
muss ich mir das so vorstellen ??
g_Sectionsd->freeMemory()
im movieplayer.cpp aufrufen=für wiedergabe
im ???????????.cpp aufrufen=für streaming
-
- Erleuchteter
- Beiträge: 646
- Registriert: Mittwoch 16. April 2003, 14:12
-
- Tuxboxer
- Beiträge: 2331
- Registriert: Donnerstag 24. März 2005, 21:52
-
- Tuxboxer
- Beiträge: 2331
- Registriert: Donnerstag 24. März 2005, 21:52
-
- Einsteiger
- Beiträge: 226
- Registriert: Mittwoch 22. August 2001, 00:00
-
- Tuxboxer
- Beiträge: 2331
- Registriert: Donnerstag 24. März 2005, 21:52
-
- Erleuchteter
- Beiträge: 646
- Registriert: Mittwoch 16. April 2003, 14:12
Ich hoffe es sind noch nicht alle erschöpft vom testen des hervorragenden Movieplayers.
http://s48.yousendit.com/d.aspx?id=3NWD ... 1XTD7LMDI0
Das ist die fehlerbereinigte Version des EPG-Speicher-Features. (diff gg. aktuelles CVS)
Zur Wdh.: Beim Shutdown der Box werden (optional natürlich) die gespeicherten Events auf ein NFS Laufwerk ausgelagert. Beim Starten werden sie von dort gelesen. Vorteile: Man hat EPG auf allen Sendern ohne mühsam durchzuzappen. Man könnte EPG aus dem Internet importieren, etc.
Fehler der ersten Version waren:
- rätselhafter Speicherverbrauch
- komisches Bild beim Ausschlten über Menü (wer macht denn sowas)
- langes Drücken der Austaste bei aktiviertem Standby machte Fehler (Leute, lasst den Standby sein, das kostet zu viel Strom - so viel zu meiner missionarischen Ader für heute...)
Diese Fehler sollten gefixed sein, wobei der erste wohl durch den XML-Parser bei großen Dateien auftrat. Immer wenn ich parseXMLfile() die 2MB Datei aufgemacht habe, war der Speicher futsch.
Änderungen:
Es gibt nicht mehr eine XML-Datei, die die gesammelten Events enthält, sondern jeder Sender hat seine Datei. Damit kann der xml-Parser kleine Dateien öffnen ohne Speicher zu versemmeln und außerdem wollten wir das sowieso so haben, um evtl. gezielt Events im laufenden Betrieb zu speichern oder nachzuladen. Zusätzlich wird eine index.xml Datei angelegt, die die Dateinamen der einzelnen Event-Dateien enthält. Standardmäßig haben die Eventdateien Namen nach ONIDTSIDSID.xml.
Weil es sich jetzt nicht mehr um eine Datei handelt, muss in der Neutrino.conf folgerichtig auch ein Verzeichnis angegeben werden. (epg_dir=/mnt/bla/) Bitte den letzten "/" nicht vergessen.
Status:
Ich bin mal wieder äußerst zufrieden und halte das ganze für CVS-reif. Jetzt seid ihr dran und dürft wieder für Unzufriedenheit sorgen.
http://s48.yousendit.com/d.aspx?id=3NWD ... 1XTD7LMDI0
Das ist die fehlerbereinigte Version des EPG-Speicher-Features. (diff gg. aktuelles CVS)
Zur Wdh.: Beim Shutdown der Box werden (optional natürlich) die gespeicherten Events auf ein NFS Laufwerk ausgelagert. Beim Starten werden sie von dort gelesen. Vorteile: Man hat EPG auf allen Sendern ohne mühsam durchzuzappen. Man könnte EPG aus dem Internet importieren, etc.
Fehler der ersten Version waren:
- rätselhafter Speicherverbrauch
- komisches Bild beim Ausschlten über Menü (wer macht denn sowas)
- langes Drücken der Austaste bei aktiviertem Standby machte Fehler (Leute, lasst den Standby sein, das kostet zu viel Strom - so viel zu meiner missionarischen Ader für heute...)
Diese Fehler sollten gefixed sein, wobei der erste wohl durch den XML-Parser bei großen Dateien auftrat. Immer wenn ich parseXMLfile() die 2MB Datei aufgemacht habe, war der Speicher futsch.
Änderungen:
Es gibt nicht mehr eine XML-Datei, die die gesammelten Events enthält, sondern jeder Sender hat seine Datei. Damit kann der xml-Parser kleine Dateien öffnen ohne Speicher zu versemmeln und außerdem wollten wir das sowieso so haben, um evtl. gezielt Events im laufenden Betrieb zu speichern oder nachzuladen. Zusätzlich wird eine index.xml Datei angelegt, die die Dateinamen der einzelnen Event-Dateien enthält. Standardmäßig haben die Eventdateien Namen nach ONIDTSIDSID.xml.
Weil es sich jetzt nicht mehr um eine Datei handelt, muss in der Neutrino.conf folgerichtig auch ein Verzeichnis angegeben werden. (epg_dir=/mnt/bla/) Bitte den letzten "/" nicht vergessen.
Status:
Ich bin mal wieder äußerst zufrieden und halte das ganze für CVS-reif. Jetzt seid ihr dran und dürft wieder für Unzufriedenheit sorgen.
-
- Tuxboxer
- Beiträge: 4332
- Registriert: Dienstag 7. Mai 2002, 17:04
mal ne dumme Frage zum patchen - ich gehe in mein cdk verzeichnis und mache an der console wird der pfad und das zu patchende file durch patch von alleine gefunden? Wenn man den diff sich im editor anguckt steht ja der Pfad drin
Code: Alles auswählen
patch -b /home/irgendwas/nirvana_epg2b.diff
-
- Tuxboxer
- Beiträge: 2331
- Registriert: Donnerstag 24. März 2005, 21:52