sectionsd goes tabled
-
- Erleuchteter
- Beiträge: 646
- Registriert: Mittwoch 16. April 2003, 14:12
sectionsd goes tabled
Ich hab mal wieder was gebastelt. Mich nervt, dass der sectionsd immer sinnlos Events löscht und neu wieder einfügt. Kostet schließlich Rechenzeit und zerhackt den Speicher.
Deshalb merkt sich diese Version welche sections er schon gelesen hat. Testet mal bitte das Verhalten. Kann natürlich sein, dass Fehler drin stecken und bestimmte sections zu Unrecht nicht durchgelassen werden. Kann aber auch an den Sendern liegen, die die Standards relativ frei interpretieren. Dafür spräche wenn es bestimmte Sender beträfe.
Von da aus sollte es nur ein kleiner Schritt Richtung einer echten table Verwaltung sein.
Diff:
http://download.yousendit.com/FD3F7741486A5847
Bin:
http://download.yousendit.com/488C9724293B1665
Deshalb merkt sich diese Version welche sections er schon gelesen hat. Testet mal bitte das Verhalten. Kann natürlich sein, dass Fehler drin stecken und bestimmte sections zu Unrecht nicht durchgelassen werden. Kann aber auch an den Sendern liegen, die die Standards relativ frei interpretieren. Dafür spräche wenn es bestimmte Sender beträfe.
Von da aus sollte es nur ein kleiner Schritt Richtung einer echten table Verwaltung sein.
Diff:
http://download.yousendit.com/FD3F7741486A5847
Bin:
http://download.yousendit.com/488C9724293B1665
-
- Wissender
- Beiträge: 1839
- Registriert: Sonntag 17. August 2003, 01:39
-
- Erleuchteter
- Beiträge: 646
- Registriert: Mittwoch 16. April 2003, 14:12
Welche Sender denn?
RTL2 und Sat1 zählen nicht:
http://www.vdr-portal.de/board/thread.p ... adid=62897
RTL2 und Sat1 zählen nicht:
http://www.vdr-portal.de/board/thread.p ... adid=62897
-
- Wissender
- Beiträge: 1839
- Registriert: Sonntag 17. August 2003, 01:39
ZDF, Pro7 und SAT1 meine ich...Nirvana hat geschrieben:Welche Sender denn?
RTL2 und Sat1 zählen nicht:
http://www.vdr-portal.de/board/thread.p ... adid=62897
War auch nicht so wie jetzt das garnichts kommt, sondern es wurden
nur einige Event teilweise mit Lücken geladen.
-
- Erleuchteter
- Beiträge: 760
- Registriert: Freitag 14. Januar 2005, 12:42
Scheint auf den ersten Blick zu laufen.
Was mir aber spontan aufgefallen ist, ist das Event die nach "now + EPG Cache (Tage)" liegen nicht mehr entfernt werden.
Vorher verschwanden die nach einiger Zeit. Keine Ahnung ob das beabsichtigt ist oder ob das als Bug reingekommen ist.
Das löschen der abgelaufenen Events funktioniert hingegen wie vorher.
Zur Erklärung, ich lasse beim Start, für vier Sender, das EPG aus XML Dateien laden. Diese XML Dateien beinhalten das EPG des Senders für 14 Tage. Da ist also immer ne Menge an Infos die entfernt werden.
Das ganze ist auch nicht so tragisch. Aber es ist immerhin ne Menge an Speicher (so bis 2MB an XML Dateigröße) der so nur für vier Sender verbraucht wird.
cu
usul
Was mir aber spontan aufgefallen ist, ist das Event die nach "now + EPG Cache (Tage)" liegen nicht mehr entfernt werden.
Vorher verschwanden die nach einiger Zeit. Keine Ahnung ob das beabsichtigt ist oder ob das als Bug reingekommen ist.
Das löschen der abgelaufenen Events funktioniert hingegen wie vorher.
Zur Erklärung, ich lasse beim Start, für vier Sender, das EPG aus XML Dateien laden. Diese XML Dateien beinhalten das EPG des Senders für 14 Tage. Da ist also immer ne Menge an Infos die entfernt werden.
Das ganze ist auch nicht so tragisch. Aber es ist immerhin ne Menge an Speicher (so bis 2MB an XML Dateigröße) der so nur für vier Sender verbraucht wird.
cu
usul
-
- Einsteiger
- Beiträge: 281
- Registriert: Mittwoch 8. Dezember 2004, 21:45
das konnte ich bei einem kurzem test nicht feststellen. hast du ein beispielsender, bei dem dir events fehlen?PauleFoul hat geschrieben:War auch nicht so wie jetzt das garnichts kommt, sondern es wurden
nur einige Event teilweise mit Lücken geladen.
das projekt sectionsd goes table finde ich sehr gut - mal ein fettes danke an nirvana für seine arbeit in den letzten monaten.
könnte jemand das wiki zum sectionsd erweitern? es fehlen infos zu mybouquets.xml, bouquets filter (soweit ich weiß noch nicht eingecheckt) etc. die ganze arbeit von nirvana und houdini am sectionsd geht imho irgendwie in vielen foren unter.
innu
-
- Wissender
- Beiträge: 1839
- Registriert: Sonntag 17. August 2003, 01:39
Habe gerade noch einmal frisch getestet... Also so wie es sich jetztInnuendo hat geschrieben: das konnte ich bei einem kurzem test nicht feststellen. hast du ein beispielsender, bei dem dir events fehlen?
darstellt funktionieren alle Sender. Es dauert teilweise nur etwas länger
bis die Events erscheinen. Niw und Next wird aber sehr schnell angezeigt.
Der Rest hat bei ARD über eine Minute gedauert...
Finde die Idee auch sehr gut und möchte mich an dieser Stelle anschließenInnuendo hat geschrieben: das projekt sectionsd goes table finde ich sehr gut - mal ein fettes danke an nirvana für seine arbeit in den letzten monaten.
und ebenfalls meinen Dank für die tolle Arbeit aussprechen.
Sollte doch eigentlich alles drin sein, oder?? Ich meine ich hätte alleInnuendo hat geschrieben: könnte jemand das wiki zum sectionsd erweitern? es fehlen infos zu mybouquets.xml, bouquets filter (soweit ich weiß noch nicht eingecheckt) etc. die ganze arbeit von nirvana und houdini am sectionsd geht imho irgendwie in vielen foren unter.
Änderungen nachgezogen...
Gruß
____Paule
PS: Zum Thema "Speicher" wäre es auch nicht auch möglich, die
Beschreibung aus dem EPG rauszufilteren und diese Optional für
Now und Next einzulesen. Wird doch bestimmt massig Speicher
sparen...
-
- Erleuchteter
- Beiträge: 646
- Registriert: Mittwoch 16. April 2003, 14:12
Also ich konnte den Fehler auch nicht nachvollziehen.
Aber ich habe eine neue Version:
Diff:
http://ulc.tuxbox-cvs.sourceforge.net/i ... tory=Diffs&
Bin:
http://ulc.tuxbox-cvs.sourceforge.net/i ... y=Binaries&
+ liest jede section nur ein Mal => Ressourcenschonend
+ arbeitet die Filter schneller ab. Events stehen schneller zur Verfügung (gerade die Liste...)
- Die Bevorzugung des aktuellen Kanals klappt so natürlich nicht.
Wer hat die Geschichte mit dem update_eit / sectionsd -nu gemacht? Wo ist der Thread dazu? Das funktioniert meines Erachtens nicht richtig. Sobald ein Filter mal wegen Timeout beendet wurde, schläft der sectionsd nicht mehr ein.
Aber ich habe eine neue Version:
Diff:
http://ulc.tuxbox-cvs.sourceforge.net/i ... tory=Diffs&
Bin:
http://ulc.tuxbox-cvs.sourceforge.net/i ... y=Binaries&
+ liest jede section nur ein Mal => Ressourcenschonend
+ arbeitet die Filter schneller ab. Events stehen schneller zur Verfügung (gerade die Liste...)
- Die Bevorzugung des aktuellen Kanals klappt so natürlich nicht.
Wer hat die Geschichte mit dem update_eit / sectionsd -nu gemacht? Wo ist der Thread dazu? Das funktioniert meines Erachtens nicht richtig. Sobald ein Filter mal wegen Timeout beendet wurde, schläft der sectionsd nicht mehr ein.
-
- Wissender
- Beiträge: 1839
- Registriert: Sonntag 17. August 2003, 01:39
Vielleicht weiss Houdini was drüber...Nirvana hat geschrieben: Wer hat die Geschichte mit dem update_eit / sectionsd -nu gemacht? Wo ist der Thread dazu? Das funktioniert meines Erachtens nicht richtig. .
Das hört sich aber nicht gut an...Nirvana hat geschrieben:Sobald ein Filter mal wegen Timeout beendet wurde, schläft der sectionsd nicht mehr ein.
Gruß
____Paule
-
- Developer
- Beiträge: 2183
- Registriert: Mittwoch 10. Dezember 2003, 07:59
-
- Erleuchteter
- Beiträge: 646
- Registriert: Mittwoch 16. April 2003, 14:12
Vorweg: Ich habe das nicht genau nachvollzogen, weil der Programmierer das immer besser erklären kann.
Bei der Version ohne das eit_update war das Verhalten so:
Lese table 0x4e+0x4f
Lese table 0x50-0x5f
Lese table 0x60-0x6f
Schlafe...
An der Stelle wird NIT-Scan und dann SDT-Scan geweckt
Jetzt ist das Verhalten so:
Lese table 0x4e+0x4f
Lese table 0x50-0x5f
Lese table 0x60-0x6f
(wenn hier timeout war, weil der Sender keine 6x sendet, wird der EIT-Thread durch das eit_update sofort wieder geweckt.)
Parallel arbeiten dann NIT und SDT
Das war halt früher nicht, ich weiß aber nicht ob das beabsichtigt ist.
Getestet hatte ich meine neue Version mit sectionsd -d1. Da habe ich den fehlenden Schlaf bemerkt.
Bei der Version ohne das eit_update war das Verhalten so:
Lese table 0x4e+0x4f
Lese table 0x50-0x5f
Lese table 0x60-0x6f
Schlafe...
An der Stelle wird NIT-Scan und dann SDT-Scan geweckt
Jetzt ist das Verhalten so:
Lese table 0x4e+0x4f
Lese table 0x50-0x5f
Lese table 0x60-0x6f
(wenn hier timeout war, weil der Sender keine 6x sendet, wird der EIT-Thread durch das eit_update sofort wieder geweckt.)
Parallel arbeiten dann NIT und SDT
Das war halt früher nicht, ich weiß aber nicht ob das beabsichtigt ist.
Getestet hatte ich meine neue Version mit sectionsd -d1. Da habe ich den fehlenden Schlaf bemerkt.
-
- Erleuchteter
- Beiträge: 441
- Registriert: Dienstag 11. März 2003, 03:42
-
- Erleuchteter
- Beiträge: 450
- Registriert: Sonntag 28. Juli 2002, 01:18
-
- Erleuchteter
- Beiträge: 646
- Registriert: Mittwoch 16. April 2003, 14:12
Diff:
http://ulc.tuxbox-cvs.sourceforge.net/i ... tory=Diffs&
Bin:
http://ulc.tuxbox-cvs.sourceforge.net/i ... y=Binaries&
Small Bugfix. Ich hatte überlegt, das Problem, dass Sat1 über table 60 die Events von Premiere table 50 überschreibt und umgekehrt und dabei die ausführliche Beschreibung tötet zu fixen, aber ich habe beschlossen, dass das doch besser auf Eventebene geht. Mit anderen Worten: falls keiner Einwände hat bin ich fertig damit.
http://ulc.tuxbox-cvs.sourceforge.net/i ... tory=Diffs&
Bin:
http://ulc.tuxbox-cvs.sourceforge.net/i ... y=Binaries&
Small Bugfix. Ich hatte überlegt, das Problem, dass Sat1 über table 60 die Events von Premiere table 50 überschreibt und umgekehrt und dabei die ausführliche Beschreibung tötet zu fixen, aber ich habe beschlossen, dass das doch besser auf Eventebene geht. Mit anderen Worten: falls keiner Einwände hat bin ich fertig damit.
-
- Developer
- Beiträge: 16
- Registriert: Samstag 3. Februar 2007, 15:32
-
- Erleuchteter
- Beiträge: 646
- Registriert: Mittwoch 16. April 2003, 14:12
-
- Einsteiger
- Beiträge: 281
- Registriert: Mittwoch 8. Dezember 2004, 21:45
habs gerade eingebaut - mal schauen, wie es die nächsten tage über läuft.
hat jetzt nix mit nirvanas änderung zu tun:
bekommt noch jemand das log mit diesen einträgen voll?
[qoute]
[sectionsd] readNbytes: received POLLERR
[sectionsd] readNbytes: received POLLERR
[sectionsd] readNbytes: received POLLERR
[sectionsd] read: Value too large for defined data type
[sectionsd] readNbytes: received POLLERR
[sectionsd] readNbytes: received POLLERR
[sectionsd] readNbytes: received POLLERR
[/quote]
ich bekomme die nur weg, wenn ich
static DMX dmxEIT(0x12,384);
vergrößer (0x12, 1024)
innu
hat jetzt nix mit nirvanas änderung zu tun:
bekommt noch jemand das log mit diesen einträgen voll?
[qoute]
[sectionsd] readNbytes: received POLLERR
[sectionsd] readNbytes: received POLLERR
[sectionsd] readNbytes: received POLLERR
[sectionsd] read: Value too large for defined data type
[sectionsd] readNbytes: received POLLERR
[sectionsd] readNbytes: received POLLERR
[sectionsd] readNbytes: received POLLERR
[/quote]
ich bekomme die nur weg, wenn ich
static DMX dmxEIT(0x12,384);
vergrößer (0x12, 1024)
innu
-
- Tuxboxer
- Beiträge: 6044
- Registriert: Montag 17. November 2003, 06:48
Sieht bei mir auch so aus:
PES, queue 0 normal.
[sectionsd] readNbytes: received POLLERR
[sectionsd] readNbytes: received POLLERR
[sectionsd] readNbytes: received POLLERR
[sectionsd] readNbytes: received POLLERR
[sectionsd] readNbytes: received POLLERR
[sectionsd] readNbytes: received POLLERR
[sectionsd] readNbytes: received POLLERR
[sectionsd] read: Value too large for defined data type
[sectionsd] readNbytes: received POLLERR
[sectionsd] readNbytes: received POLLERR
[sectionsd] readNbytes: received POLLERR
[sectionsd] readNbytes: received POLLERR
cu
Jens
PES, queue 0 normal.
[sectionsd] readNbytes: received POLLERR
[sectionsd] readNbytes: received POLLERR
[sectionsd] readNbytes: received POLLERR
[sectionsd] readNbytes: received POLLERR
[sectionsd] readNbytes: received POLLERR
[sectionsd] readNbytes: received POLLERR
[sectionsd] readNbytes: received POLLERR
[sectionsd] read: Value too large for defined data type
[sectionsd] readNbytes: received POLLERR
[sectionsd] readNbytes: received POLLERR
[sectionsd] readNbytes: received POLLERR
[sectionsd] readNbytes: received POLLERR
cu
Jens
-
- Erleuchteter
- Beiträge: 646
- Registriert: Mittwoch 16. April 2003, 14:12
Die POLLERR sind schon "normal". Die sollte jeder haben. Es handelt sich dabei um Pufferüberläufe, die sich wie von Innuendo beschrieben beheben lassen. Die Frage ist, wo der sinnvolle Kompromiss liegt. Reserviere ich mir 1MB Ram als Puffer, das dann dauernd weg ist und verliere keine sections oder akzeptiere ich, dass mal eine kaputt geht und ich warten muss bis sie noch einmal gesendet wird.
Ich bin da eher auf der letzten Seite zumal ja nur wenige Sender den Puffer ausnutzen, aber man kann drüber streiten. Wen es stört, der kann ja den printf auskommentieren.
Ich bin da eher auf der letzten Seite zumal ja nur wenige Sender den Puffer ausnutzen, aber man kann drüber streiten. Wen es stört, der kann ja den printf auskommentieren.
-
- Tuxboxer
- Beiträge: 2331
- Registriert: Donnerstag 24. März 2005, 21:52
-
- Einsteiger
- Beiträge: 281
- Registriert: Mittwoch 8. Dezember 2004, 21:45
-
- Moderator english
- Beiträge: 2458
- Registriert: Donnerstag 20. Dezember 2001, 00:00
-
- Tuxboxer
- Beiträge: 2331
- Registriert: Donnerstag 24. März 2005, 21:52
-
- Moderator english
- Beiträge: 2458
- Registriert: Donnerstag 20. Dezember 2001, 00:00
@Nirvana
Beinhaltet dieses Diff auch die MyBouquets.xml Aenderungen
@ Diff Versteher ...
Beinhaltet dieses Diff auch die MyBouquets.xml Aenderungen
@ Diff Versteher ...
Code: Alles auswählen
patch -p2 < 10_04_2007_tablesectionsd3.diff
missing header for unified diff at line 8 of patch
can't find file to patch at input line 8
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|Index: dmx.cpp
|===================================================================
|RCS file: /cvs/tuxbox/apps/tuxbox/neutrino/daemons/sectionsd/dmx.cpp,v
|retrieving revision 1.27
|diff -u -r1.27 dmx.cpp
|--- a/dmx.cpp 21 Apr 2006 20:41:02 -0000 1.27
|+++ b/dmx.cpp 10 Apr 2007 14:32:42 -0000
--------------------------
File to patch:
-
- Tuxboxer
- Beiträge: 2331
- Registriert: Donnerstag 24. März 2005, 21:52