EPG nach abspielen eines TS im Movieplayer tot.

Das Original Benutzerinterface Neutrino-SD incl. zapit, sectionsd, yWeb etc...
kroki
Einsteiger
Einsteiger
Beiträge: 166
Registriert: Dienstag 22. Juni 2004, 22:12

EPG nach abspielen eines TS im Movieplayer tot.

Beitrag von kroki »

Hi all,

ich hab grad mal angefangen mit Direktaufnahme mit der Box und einem NAS. Funktioniert auch alles super.

Das einzigste Problem was ich habe : Nach dem abspielen eines TS mit dem Movieplayer ist der EPG tot! EPG-Reset oder aus und einschalten des selbigen bringt nichts. Nur ein Neustart hilft.

Image aktuelles CVS. Box : Sat Nokia 2xIntel, Sat Sagem 1xIntel, Sat Phillips 2xIntel

Kann sich das mal ein Dev angucken ........

Hab grad mal auf einer Kabel Nokia getestet, da scheint das Problem nicht aufzutreten.


Gruß Kroki
kroki
Einsteiger
Einsteiger
Beiträge: 166
Registriert: Dienstag 22. Juni 2004, 22:12

Beitrag von kroki »

So hier mal ein paar nähere Details .....

Stream wird über NFS-Share (unfs3-Server) abgespielt, nach einiger Zeit (oder wie hier, wenn man jumped sofort) kommt Folgende Meldung im Log :

[movieplayer.cpp] actionKey=tsplayback
[mp] Startplay
[mp] PlayFileThread starts
[mp] found pida[0]: 0x0200, ac3=0
[mp] plain TS file with vpid=(0x01FF) apid=(0x0200) ac3=(0)
[mp] entering player loop
SPTS, queue 0 extended.
[controld] VIDEO_EVENT_SIZE_CHANGED 704x576 (4:3 -> 4:3)
not clipmode: queue 5 pid: 0x0012
not clipmode: queue 5 pid: 0x0012
not clipmode: queue 5 pid: 0x0012
not clipmode: queue 5 pid: 0x0012
not clipmode: queue 5 pid: 0x0012
not clipmode: queue 5 pid: 0x0012
not clipmode: queue 5 pid: 0x0012
not clipmode: queue 5 pid: 0x0012
not clipmode: queue 5 pid: 0x0012
not clipmode: queue 5 pid: 0x0012
[mp] jump to pos (160657280) of total (3084910592)
SPTS, queue 0 extended.
not clipmode: queue 5 pid: 0x0012
[controld] VIDEO_EVENT_SIZE_CHANGED 704x576 (4:3 -> 16:9)
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe

usw. bis das Abspielen gestoppt wird.

Dann ist der EPG tot. Neustart der Neutrino-Komponenten und von zapit bringt nicht es. Nur ein Neustart der ganzen Box wirkt.
Ich denke mal das sich irgendwie der Demuxer aufhängt !

Gruß Kroki
kroki
Einsteiger
Einsteiger
Beiträge: 166
Registriert: Dienstag 22. Juni 2004, 22:12

Beitrag von kroki »

So hier nochmal ein Log-Auszug, diesmal mit Kernel-Panic :

[basicsocket] send_data: Broken pipe
[mp] leaving reader loop
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[basicsocket] send_data: Broken pipe
[mp] mp_playFileThread terminated
[controld] setting VideoFormat to auto
[basicsocket] send_data: Broken pipe
[basicsocket] send_data select: Bad file descriptor
[CBasicClient] send failed: /tmp/zapit.sock
Oops: kernel access of bad area, sig: 11
NIP: C3B4230C XER: 20000000 LR: C3B42304 SP: C0126DC0 REGS: c0126d10 TRAP: 0300
Not tainted
MSR: 00001032 EE: 0 PR: 0 FP: 0 ME: 1 IR/DR: 11
DAR: 00000068, DSISR: 00000009
TASK = c0125050[0] 'swapper' Last syscall: 120
last math 00000000 last altivec 00000000
GPR00: 00006026 C0126DC0 C0125050 0000211D C3A63F0B 00000003 C1C60002 00000000
GPR08: 00000000 00000000 00000000 00003F09 84343482 1003595C 01FFBA00 00000001
GPR16: FFFFFFFF C3B40000 00000000 C3B4C000 00001032 0000211D C3B40000 0000211D
GPR24: C38C536C 00000193 00000012 C0110000 0000FFFF 00000000 C38C5360 00000000
Call backtrace:
C3B422B8 C38BD740 C00148AC C00161C0 C0014784 C001460C C00142E0
C0003A78 C00027C0 C0003F40 C0003F5C C0002258 C013656C C0002138
Kernel panic: Aiee, killing interrupt handler!
In interrupt handler - not syncing
<0>Rebooting in 180 seconds..

Vielleicht interessiert es ja doch mal jemanden .... :wink:


Gruß Kroki
kroki
Einsteiger
Einsteiger
Beiträge: 166
Registriert: Dienstag 22. Juni 2004, 22:12

Beitrag von kroki »

So ich glaub ich hab das Problem gefunden ..........

In der gui/movieplayer.cpp ist das scanning der Eit während des Abspielens nicht abgeschaltet. Sollte wohl so sein, ist aber auskommentiert worden. Hab ich mal wieder aktiviert und nun stürzt der EPG auch nicht mehr ab.

Steckt in Zeile 259:

// set zapit in standby mode
g_Zapit->setStandby (true);

// tell neutrino we're in ts_mode
CNeutrinoApp::getInstance ()->handleMsg (NeutrinoMessages::CHANGEMODE, NeutrinoMessages::mode_ts);

// remember last mode
m_LastMode =
(CNeutrinoApp::getInstance ()->
getLastMode () | NeutrinoMessages::norezap );

// Stop sectionsd
g_Sectionsd->setPauseScanning (true);
<- Dies war auskommentiert
isBookmark=false;
startfilename = "";
g_startposition = 0;
isTS=false;
isPES=false;

Gruß Kroki
gmo18t
Erleuchteter
Erleuchteter
Beiträge: 553
Registriert: Freitag 27. Februar 2004, 14:30

Beitrag von gmo18t »

Hi,

@kroki:
hattest Du in den Einstellungen für die Aufnahme eigentlich "sectionsd anhalten" auf "nein" stehen, als das Problem auftrat ?

- GMo -
Sagem 1x Kabel, AVIA600_vb028, cam-alpha 01_02_105D, int. ucode, .sp_ts + .hw_sections
kroki
Einsteiger
Einsteiger
Beiträge: 166
Registriert: Dienstag 22. Juni 2004, 22:12

Beitrag von kroki »

@gmo18t

Ja ist auf ein gewesen, aber diese Einsteluungen sind bei Direktaufnahme deaktiviert und werden somit, glaube ich, auch nicht ausgewertet. Jedenfalls ist im Movieplayer.cpp nichts drin was wie eine Auswertung aussieht.

Ich habe den sectionsd im Debug-Mode laufen gelassen und mir das dann mal angeschaut. Das scanning wird nicht abgeschaltet, aber am ende wieder angeschaltet. Dann habe ich mal in den Sourcen gesucht und hab dann die erwähnte stelle gefunden. Neu Compiliert und jetzt wird das Scanning auch angehalten. Macht ja auch irgendwie Sinn.....

Seit dem hatte ich noch kein EPG-Problem wieder.....

Gruß Kroki
gmo18t
Erleuchteter
Erleuchteter
Beiträge: 553
Registriert: Freitag 27. Februar 2004, 14:30

Beitrag von gmo18t »

@kroki:
ups, heut werf ich ja einiges durcheinander ...
das Abspielen hat ja gar nix mit dem Aufnehmen zu tun, sorry wegen der "dummen Frage"., die tut hier eigentlch nichts zur Sache.

Aber das mit dem sectionsd hab ich schonmal vor langer Zeit festgestellt, da hat sich aber niemand dazu geäußert.
gmo18t hat geschrieben: Verfasst am: So Feb 29, 2004 11:04 am Titel: Antworten mit Zitat Beitrag bearbeiten oder löschen
Hi,

@gagga:
so, hab noch ein paar Tests gemacht mit folgendem Ergebnis:

1. Nach Abschiessen (killall -TERM) des sectionsd process konnte ich mit dem Movieplayer
soviele Start/Stops machen wie ich wollte und verschiedene TS Files wählen sowie Vor
und Zurückspulen ohne Absturz !
Beim Spulen kommt's manchmal zu dem Phänomen, daß er irgendwie nicht mehr richtig
aufsetzen kann: Ton wird immer wieder kurz angespielt aber kein Bild usw.
Abbrechen mit Home-Taste geht aber ...

2. Danach hab ich noch .hw_sections angelegt und dasselbe wieder getestet. Im Prinzip
lief der movieplayer auch klaglos, aber nach dem 2.mal Stop kam "Kanal nicht gefunden"
aber das Abspielen der TS Files funktionierte weiter (nur halt dann bei jedem Stopp
das "Kanal nicht gefunden).
Auch nach dem Verlassen von Movieplayer hat sich daran nix geändert, egal welchen
Sender ich zappte ...

3. Gleiches wie 2., aber vorher Abschalten des sectionsd über http Interface, danach scheint
das Problem mit "Kanal nicht gefunden" nicht mehr aufzutauchen.

Im Quellcode des movieplayers ist der Aufruf zum Abschalten des "sectionsd" auskommentiert
soweit ich das im Kopf habe (das Anschalten wird aber gemacht) -> vielleicht hat das was damit
zu tun ? (aber bitte nicht schlagen, wenn ich falsch liege).

Ich hab jetzt nicht stundenlang getetestet und 100mal START/STOP gemacht, aber so ca. 10 mal
hintereinander hat's geklappt ohne Totalausfall, wo es früher schon nach dem 2.mal gehängt
hat. Denke also der Zusammenhang ist feststellbar.

Das serielle Interface kann ich im Moment nicht anschliessen, da der Laptop im Büro liegt
Auch ist das ein gefummel weil ich nicht so leicht an der Anschluß0 der Box rankomme, muß
wohl da ein Kabel fest installieren für die Zukunft ...

Ach so, hab ne Kabelbox !

- GMo -
der thread dazu ist:
http://forum.tuxbox-cvs.sourceforge.net ... highlight=

Wäre halt mal interessant, warum das Abschalten schon mal drin war und dann auskommentiert wurde (oder es war gleich mit Kommentar eingepflegt worden ?).

- Gmo -
kroki
Einsteiger
Einsteiger
Beiträge: 166
Registriert: Dienstag 22. Juni 2004, 22:12

Beitrag von kroki »

Su nun nochmal ....

Der Fehler tritt nur beim Abspielen auf. Aus meiner Sicht auch irgendwie logisch : Wenn ich einen TS abspiele, dann wird ja der Stream zum Demuxer gepumpt. Nur hier wird ja sicherlich keine Eit usw drinnen sein, also kann der sectionsd hier auch keine Daten rauskriegen. Er verliert dann irgendwann die Verbindung (Broken Pipe). Wenn das Abspielen dann beendet ist kann der sectionsd irgendwie keine Verbindung mehr zum demuxer aufnehmen und der EPG wird nicht mehr aktualisiert. Nur ein Neustart hilft hier weiter.

Es sollte mal ein Dev sagen ob es mit dem nicht Abschalten des Scanning ein Versehen war, oder ob es aus irgendeinem anderen Grund nicht abgeschaltet wird.

Jedenfalls hab ich noch keine anderen Auswirkungen gesehen, seit dem ich das Abschalten des Scanning wieder aktiviert habe. Der EPG läuft jetzt ohne Probleme wieder an.


Gruß Kroki
WinniePoow
Einsteiger
Einsteiger
Beiträge: 155
Registriert: Montag 20. September 2004, 14:33

Beitrag von WinniePoow »

Kann das Problem bestätigen,gilt aber definiiv für den aufgenommenen Sender....
Und wie kann man das nun ändern???Oder wird das in einem neuen Image erst geändert???

:gruebel:
gagga
Senior Member
Beiträge: 782
Registriert: Dienstag 25. Februar 2003, 21:35

Beitrag von gagga »

Wurde das mittlerweile wieder geändert?
HEAD
Einsteiger
Einsteiger
Beiträge: 313
Registriert: Freitag 14. Februar 2003, 15:59

Beitrag von HEAD »

gagga hat geschrieben:Wurde das mittlerweile wieder geändert?
immer noch nicht
//g_Sectionsd->setPauseScanning (true);