movieplayer patch zum Testen mit IDE

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

movieplayer patch zum Testen mit IDE

Beitrag von gmo18t »

Hi,

leider hab ich im Moment keine Möglichkeit, ein neutrino auf der Box zu testen.
Trotzdem hab ich mal einen patch gemacht, der den Movieplayer beim "TS Abspielen" veranlasst, ohne Puffer-Queue (also so wie früher) zu arbeiten.
Jedoch ist das Coding im neuen Design, also schön mit OO realisiert, so daß "mit" oder "ohne Queue" jetzt über eine einzige Codingzeile umschaltbar ist. Im Moment hab ich nur mal das "ohne Queue" aktiviert. Aber mit entspr. if-Statement und einer passenden neutrino-config Erweiterung läßt sich das auch zum Schalten während der Laufzeit ganz leicht implementieren (dazu komm ich aber nicht mehr).

Anstelle von

Code: Alles auswählen

	TPtrQueue *q;
	if ( (q = new TPtrQueue(ctx)) != NULL ) 
		...
sieht die entscheidende Stelle im Coding nach dem Patch dann so aus

Code: Alles auswählen

	TIOBuffer *q;
	//if ( (q = (TIOBuffer *)new TPtrQueue(ctx)) != NULL ) 
	if ( (q = new TIOBuffer(ctx)) != NULL ) 
		...

sollte aber dann konfigurierbar in etwa noch so (o.ä.) verschönert werden :-)

Code: Alles auswählen

	TIOBuffer *q;
	if (neutrino-config-mit-queue)
		q = (TIOBuffer *)new TPtrQueue(ctx);
	else
		q = new TIOBuffer(ctx);

	if (q != NULL )
		...
that's all

Hier der Patch zum heutigen CVS-Stand und das fertige "movieplayer.cpp": http://lvempeg.sf.net/test/mp/mp-060825.tar

Das mit/ohne "Puffern" ist dank OO völlig über entspr. Klassen (TIOBuffer und TPtrQueue) gekapselt. Beim "ohne" wird aber kein extra "reader-thread" erzeugt, sondern - so wie damals - einfach erst ein Happen gelesen und dann ins DVR geschrieben.

Wenn sich nun noch jemand dazu findet, der das Ganze mal einbaut, compiliert und testet speziell im Hinblick auf IDE, wäre fein.
Kann zwar sein, daß noch der ein oder andere Kompilierfehler vorkommt, aber das ist dann sicher leicht korrigierbar.

Wenn ich nochmal mehr Zeit hab und dazu komme ein IDE-If zu ordern, werd ich auch mal Timeshift unter die Lupe nehmen ...

- GMo -
Günther
Developer
Beiträge: 587
Registriert: Freitag 9. September 2005, 21:48

Beitrag von Günther »

Hallo gmo,

ich könnte das die Tage mal einpflegen, bin gerade sowiso am movieplayer dran (ich hatte die gleiche Idee, aber mit dem alten buffer wegem dem AC3 problem). Menü habe ich schon erstellt (mit buffer segment auswahl).
Ich werde das mal alles noch mal genaustens testen. (beim letzten mal hat die buffer queue mot AC3 funktioniert, vielleicht was es aber auch zufall). Aufjedenfall ist Dein Weg natürlich die Zukunft, ich habe das jetzt nur gemacht um besser das Problem einzugrenzen. Ein paar wenige Stellen - gerade nach Sprung/pause -werden ein wenig anders behandelt (bei Wabber wird nur gefreezed, bei der alten aus/ein). Irgendwie muss man das jetzt halt mal eingrenzen.

Habe soeben auch das AC3-Sprung/Pause-16:9 Problem gefunden ;)

Günther
JtG-Riker
Image-Team
Beiträge: 1015
Registriert: Freitag 7. Februar 2003, 18:37

Beitrag von JtG-Riker »

Wenn jemand was fertiges zum testen hat mach ich gerne einen JTG Test-Snapshot

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

Beitrag von gmo18t »

Hi,

hab noch in Klasse TIOBuffer ein "memleak" entfernt.
Hier ein neues Paket: http://lvempeg.sf.net/test/mp/mp-060826.tar

- GMo -
Günther
Developer
Beiträge: 587
Registriert: Freitag 9. September 2005, 21:48

Beitrag von Günther »

Der patch bringt nach dem Starten eines Films den Fehler

Code: Alles auswählen

[mp] mp_playFileThread terminated
*** glibc detected *** malloc(): memory corruption: 0x10228ca8 ***
und danach ist schluss (mit und ohne buffer)

Muss ich mir mal genauer anschauen (ich mußte ein paar kleine Syntax Fehler beheben, sollte aber nicht das Problem gewesen sein)

Trotzdem habe ich schonmal meinen Fix zur Auswahl der wabber queue oder der alten Movieplayer unbuffered queue eingefügt. Damit klappt auch AC3 wieder einwandfrei. Einstellbar in den Movieplayer Settings. Default ist Wabber-Queue mit 24 Segmenten. Das fliegt wieder aber wieder raus wenn gmos non-buffer mit AC3 funktioniert. Deshalb habe ich die if-Abfrage wie bei #defines nicht eingerückt, damit man die Änderungen besser sieht.

So, und jetzt kommt erstmal der Ac3-stop/pause-16:9-Problem fix ;)

und danach schau ich mir nochmal gmos non-buffer version genauer an

Ich hoffe erstmal nichts anderes zerstört zu haben 8)
Spooky
Einsteiger
Einsteiger
Beiträge: 338
Registriert: Sonntag 24. Februar 2002, 10:43

Beitrag von Spooky »

@Günther,

mit dem 16:9 Problem konnte ich bei mir noch nicht nachvollziehen. Wenn ich im Movieplayer (mit Queue) 16:9 (anamorph) abspiele, auf Pause schalte und dann mit OK wieder starte, schalte der SONY TV brav wieder auf 16:9. Und das klappt(e) bei Dir nicht ? :gruebel:

Nokia AVIA 500 2xI

Was meinst Du mit "AC3 Problem" ?
Wenn ich den seit einiger Zeit existierenden SPTS fix im JtG Image aktiviere, ist das Zirpen/Knacken beim Senderwechsel weg. Allerdings kann ich dann im Movieplayer kein TS File mehr mit AC3 anschauen. Sobald ich die AC3 Spur auswähle, bleibt das Bild schwarz. Meinst Du diesen Fehler?
Momentan habe ich deshalb den SPTS fix wieder ausgeschalten.

Spooky
Günther
Developer
Beiträge: 587
Registriert: Freitag 9. September 2005, 21:48

Beitrag von Günther »

Spooky hat geschrieben:Und das klappt(e) bei Dir nicht ? :gruebel:

Nokia AVIA 500 2xI
genau, bei mir Sagem Avia 600, habe das Problem aber schon auf den AVIA Treiber eingekreist (der Treiber sagt immer 4:3, obwohl 16:9 Sendung wiedergegeben wird, wenn ich den Treiber per Hand auf 16:9 Format einstelle stimmt nämlich wieder alles.
http://tuxbox-forum.dreambox-fan.de/for ... hp?t=42536
Spooky hat geschrieben: Was meinst Du mit "AC3 Problem" ?
Spooky
Bei AC3 kommt es des öfteren zum Absturz - manchmal geht es aber auch, aber immer erst wenn ich Pause gedrückt habe. Gut möglich das das auch ein AVIA-Sagem-Problem ist.
gmo18t
Erleuchteter
Erleuchteter
Beiträge: 553
Registriert: Freitag 27. Februar 2004, 14:30

Beitrag von gmo18t »

Hi,

bevor sich nun im CVS durch Zurückpatchen wieder die alten Fehler festsetzen, möchte ich auf folgenden Sachverhalt hinweisen:

Das DVR Device benutzt immer einen Puffer fixer Länge (im Treiber selbst codiert) !

der "ioctl (ctx->dmxv, DMX_SET_BUFFER_SIZE, ...)"-Aufruf ändert daran gar nix, außer daß unnötig RAM vernichtet wird,
da das DVR-device den so allocierten Speicher gar nicht benutzt !


Weiterhin ist ja aus vergangenen Diskussionen herauszulesen, daß AVIA-500er Boxen mit dem MP in Zusammenhang mit Pause, Springen und AC3 deutlich mehr Probleme haben als AVIA-600er Boxen. Leider hatte ich nie eine 500er-Box verfügbar, so daß ich die dafür günstigsten Einstellungen nicht rausfinden konnte.
Auch die verwendete Firmwareversion hat gewissen Einfluß auf dieses Verhalten (sowohl bei 500er als auch 600er-Boxen).
Letzendlich muß man für jede Konstellation herausfinden, mit welchen Treiber-Aufrufsequenzen und Timings die jeweilige Box vernünftig läuft. Ich hatte dies halt nur für 600er-Boxen (mit ucode vb28) optimieren können...

- GMo -
JtG-Riker
Image-Team
Beiträge: 1015
Registriert: Freitag 7. Februar 2003, 18:37

Beitrag von JtG-Riker »

Hm Günter, da is aber was schrott nun im Neutrino, LCD wird nicht mehr aktualisiert und man kann es nicht mehr zwischen sendungsfortschritt umstellen, da kommt " internal error" - Please report
Zuletzt geändert von JtG-Riker am Montag 28. August 2006, 19:49, insgesamt 1-mal geändert.
Gorcon
Tuxboxer
Tuxboxer
Beiträge: 5873
Registriert: Samstag 23. Februar 2002, 22:46

Beitrag von Gorcon »

Weiterhin ist ja aus vergangenen Diskussionen herauszulesen, daß AVIA-500er Boxen mit dem MP in Zusammenhang mit Pause, Springen und AC3 deutlich mehr Probleme haben als AVIA-600er Boxen.
Den Fehler habe ich mit einer Nokia als auch mit einer Sagem exakt genauso.
Mit AC-3 hat das aber nichts zu tun, ich konnte da keinen zusammenhang sehen.

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

Beitrag von gmo18t »

Gorcon hat geschrieben: Den Fehler habe ich mit einer Nokia als auch mit einer Sagem exakt genauso.
Mit AC-3 hat das aber nichts zu tun, ich konnte da keinen zusammenhang sehen.
... war vielleicht etwas missverständlich ausgedrückt, hab halt einfach mal nur so die Themen aufgezählt und meinte damit nicht unbedingt, daß die Probeleme nur mit AC3-Streams auftauchen ...

Wie auch immer, leider hat man beim MP nie die Gewissheit, daß das Coding auf anderen Boxen genauso gut läuft wie auf der Eigenen.
Ab und zu kann man aus den Diskussionen im Forum ein paar Erkenntnisse ziehen und es geht ein Licht auf, was man noch mit ein paar Tricks verbessern könnte. Ganz wichtig sind dazu dann aber präzise Problembeschreibungen und viel "Glück und Zufall".

- GMo -
Sagem 1x Kabel, AVIA600_vb028, cam-alpha 01_02_105D, int. ucode, .sp_ts + .hw_sections
Rebel1
Interessierter
Interessierter
Beiträge: 87
Registriert: Montag 14. August 2006, 09:10

Beitrag von Rebel1 »

JtG-Riker hat geschrieben:Hm Günter, da is aber was schrott nun im Neutrino, LCD wird nicht mehr aktualisiert und man kann es nicht mehr zwischen sendungsfortschritt umstellen, da kommt " internal error" - Please report
Hatte ich auch. Ich habe dann mal die Neutrino.conf gelöscht (hatte in meinem Image meine alte neutrino.conf),
danach ist das bei mir, bis jetzt nicht mehr aufgetreten.
Günther
Developer
Beiträge: 587
Registriert: Freitag 9. September 2005, 21:48

Beitrag von Günther »

JtG-Riker hat geschrieben:Hm Günter, da is aber was schrott nun im Neutrino, LCD wird nicht mehr aktualisiert und man kann es nicht mehr zwischen sendungsfortschritt umstellen, da kommt " internal error" - Please report
Mhhh, da hatte ich auch :roll: . Da stand in der neutrino.config der Eintrag lcd_show_volume auf 3, wobei es drei nicht gibt. Nachdem ich das zurückgesetzt habe ging es wieder. Hatte gedacht das läge an einer config aus meinem Audioprojekt (da hatte ich zu Versuchzwecken den Wert 3 eigeführt. Aber wenn es bei Euch auch vorkommt - werde mal eben schauen .....
Günther
Developer
Beiträge: 587
Registriert: Freitag 9. September 2005, 21:48

Beitrag von Günther »

gmo18t hat geschrieben:
Das DVR Device benutzt immer einen Puffer fixer Länge (im Treiber selbst codiert) !

der "ioctl (ctx->dmxv, DMX_SET_BUFFER_SIZE, ...)"-Aufruf ändert daran gar nix, außer daß unnötig RAM vernichtet wird,
da das DVR-device den so allocierten Speicher gar nicht benutzt !
OK, dann kann das ja schon mal vereinheitlicht werden, werde ich bei nächster Gelegenheit mal machen...
denis4er
Interessierter
Interessierter
Beiträge: 43
Registriert: Mittwoch 21. Dezember 2005, 11:13

Beitrag von denis4er »

Hallo Dev's,

wie ich gerade lese, seid ihr Fest am coden vom MP! Endlich wird der Puffer über GUI einstellbar! ;-) Danke! Das händische Patchen ist etwas müsam.

Noch eine Frage bzw. Bitte. Wäre es nicht möglich den Puffer nach oben noch etwas mehr Einstellmöglichkeit zu geben, also nicht auf 128 zu beschränken?

Habe in meine Sagem-Box noch zusätzlich 32MB Speicher gekauft, gerade in der Hoffnung, das es dann möglich sein könnte es beim Abspielen von Filmen zu Füllen. Da das Netz bei sehr hohen Datenraten schon an manchen Stellen des Filmes etwas überfordert ist.

Die meisten Filme laufen zwar nach dem patchen mit genpsi auf 128 recht gut, nur bei einer sehr hohen Datenrate kommt es dann zum Puffern.
Dies könnte man aber bestimmt auch umgehen wenn der Puffer noch etwas erhöht werden könnte und in meinem Fall mit 64MB ist auch genügend Speicher vorhanden.
Das es am Anfang eventuell 1-2 sec länger Puffert würde ist viel weniger stören als wärend des Filmes.

Der "Wabber-Queue" MP ist für meine Box und Netz jetzt schon viel besser als der alte war, mit eine frei einstellbare obere Grenze wäre es wohl noch etwas besser, denke ich.

Wenn technisch nichts dagegen spricht und die Umsetzung auch keine große Arbeit macht, bitte darüber nachdenken obs realisierbar! :-)

Danke für eure Mühe! Klasse arbeit!

Gruß

Denis4er
JtG-Riker
Image-Team
Beiträge: 1015
Registriert: Freitag 7. Februar 2003, 18:37

Beitrag von JtG-Riker »

Günther hat geschrieben:
JtG-Riker hat geschrieben:Hm Günter, da is aber was schrott nun im Neutrino, LCD wird nicht mehr aktualisiert und man kann es nicht mehr zwischen sendungsfortschritt umstellen, da kommt " internal error" - Please report
Mhhh, da hatte ich auch :roll: . Da stand in der neutrino.config der Eintrag lcd_show_volume auf 3, wobei es drei nicht gibt. Nachdem ich das zurückgesetzt habe ging es wieder. Hatte gedacht das läge an einer config aus meinem Audioprojekt (da hatte ich zu Versuchzwecken den Wert 3 eigeführt. Aber wenn es bei Euch auch vorkommt - werde mal eben schauen .....
Jepp, genau soweit hab ich es nachvollzogen, irgendwo im code wird da was falsch gesetzt.
Rebel1
Interessierter
Interessierter
Beiträge: 87
Registriert: Montag 14. August 2006, 09:10

Beitrag von Rebel1 »

So,
mir ist es soeben wieder passiert, diesmal ist aber definitiv der Wert in meiner Config auf lcd_show_volume 0 .
Ein Neutrino Neustart über das Servicemenu hat diesmal abhilfe geschaffen.
Günther
Developer
Beiträge: 587
Registriert: Freitag 9. September 2005, 21:48

Beitrag von Günther »

Gefixt! Dank an Houdini der das int entdeckt hat ;)
palace
Erleuchteter
Erleuchteter
Beiträge: 441
Registriert: Dienstag 11. März 2003, 03:42

Beitrag von palace »

Hi, dank JTG-Rikers aktuellem Testsnap konnte ich kurz testen:

(Nokia Avia500 mit IDE)

Ohne WabberQueue fällt mir angenehm auf, das das "Puffern" entfällt.
Mehr kann ich dazu im Moment noch nicht sagen (CPU Bedarf usw).

Bei mir geht nicht: Bild im MP anzeigen; dann hab ich nur Fehrnsehbild.
Genauer: Ich komme in den Filebrowser (Sender im Hintergrund) und wähle ein .ts aus -> "OK".
Nun kommt keine Audioauswahl, sondern das Fernsehbild läuft nach einem kurzen Knack einfach weiter :(

Eine Frage wäre noch, ob sich jemand mit dem MP in zusammenhang mit dem Avia500 SPTS Fix annehmen könnte in EINEM Punkt: Nach Pause/Wiedergabe steht das Bild, der Ton läuft weiter; Ein Sync ("0") hilft.

Ohne SPTS Fix läuft bis auf diverse Knackser soweit alles sehr vielversprechend!!!

Eines noch: Wenn ich während einer Aufnahme in den MP gehe und wieder raus, gibts kein Bild mehr bis Aufnahmeende und umschalten.

Grüsse,

C.
MOhlmann
Einsteiger
Einsteiger
Beiträge: 205
Registriert: Montag 19. April 2004, 21:09

Beitrag von MOhlmann »

palace hat geschrieben:Bei mir geht nicht: Bild im MP anzeigen; dann hab ich nur Fehrnsehbild.
Genauer: Ich komme in den Filebrowser (Sender im Hintergrund) und wähle ein .ts aus -> "OK".
Nun kommt keine Audioauswahl, sondern das Fernsehbild läuft nach einem kurzen Knack einfach weiter :(
Geht bei mir auch net. Hier der Log

Code: Alles auswählen

[movieplayer.cpp] actionKey=tsplayback
[movieplayer.cpp] executing /var/tuxbox/config/movieplayer.start.
sh: /var/tuxbox/config/movieplayer.start: not found
Datei /var/tuxbox/config/movieplayer.start fehlt. Bitte erstellen, wenn gebraucht.
File /var/tuxbox/config/movieplayer.start not found. Please create if needed.
: Success
[mp] setting parental to (0)
[mp] Startplay
[mp] PlayFileThread starts
[mp] error opening some DVB devices
[mp] mp_playFileThread terminated due to error
[movieplayer.cpp] executing /var/tuxbox/config/movieplayer.end.
sh: /var/tuxbox/config/movieplayer.end: not found
Datei /var/tuxbox/config/movieplayer.end fehlt. Bitte erstellen, wenn gebraucht.
File /var/tuxbox/config/movieplayer.end not found. Please create if needed.
: No such file or directory
[controld] setting VideoFormat to auto
**** Edit ****

Bei den Menü-Option Puffersegmente steht in der beschreibung max. 124, das sollte aber 128 sein.

**** Edit ****

Gruß Michael
DrStoned
Tuxboxer
Tuxboxer
Beiträge: 2614
Registriert: Montag 20. Mai 2002, 10:49
Image: JTG-Image [IDE] Version 2.4.4
Image: (7025SS) Merlin

Beitrag von DrStoned »

Habe gerade den neuen JtG-Snapshot vom 29.08.2006 auf meine Nokia-Box AVIA 500 2x Intel Kabel geflasht. Jetzt gibts da folgendes Problem:
Wenn ich das neue Feature in den Movieplayereinstellungen TV-Bild im Browser aktiviere, so wird nach dem Aufrufen eines Films über den Movieplayer mit der Funktion TS Abspielen dieser nicht abgespielt, sondern gleich zum TV-Bild zurückgeschaltet. Beim Abspielen über TS Filmarchiv funktioniert das aber ohne Probleme. Wird diese Funktion abgeschaltet gehts auch wieder über TS abspielen.

Übrigens, super dass man jetzt den alten Movieplayer ohne Wabber-Queue wieder aktivieren kann. Jetzt funktioniert das Spulen wieder einwandfrei mit der eingebauten Festplatte. Und das ohne die blöden Puffern Einblendungen.

Greetz von DrStoned :lol: :lol: :lol:
Greetz von DrStoned :lol: :lol: :lol:
amiga23
Einsteiger
Einsteiger
Beiträge: 238
Registriert: Sonntag 14. November 2004, 23:44

Beitrag von amiga23 »

das Problem kann ich auch mit meiner Sagem 2xI und IDE reproduzieren.

Vielen Dank an Günther und gmo18t für die Arbeit, die sie in den Player stecken!!!
petb
Erleuchteter
Erleuchteter
Beiträge: 785
Registriert: Samstag 6. August 2005, 03:39

Beitrag von petb »

DrStoned hat geschrieben:Übrigens, super dass man jetzt den alten Movieplayer ohne Wabber-Queue wieder aktivieren kann. Jetzt funktioniert das Spulen wieder einwandfrei mit der eingebauten Festplatte. Und das ohne die blöden Puffern Einblendungen.
Greetz von DrStoned :lol: :lol: :lol:
Hi,
und ich sage Danke das man die Wabber-Queue aktivierbar gelassen hat.
ich habe ja jetzt den direkten Vergleich:

Ich gehe richtig davon aus das ich keinen Neustart machen muss nach dem aktivieren/deaktivieren der Queue ?

Bei einer Nokia 500er, mit JTG Snap 29.08.06
Ohne Wabber:
immer mal wieder Hacklen, Resyncs notwendig, Stop auf gelber Taste und Start auf gelber Taste geht genauso gut/schlecht wie mit aktiver Wabber......
Jede Menge zwitschen und ploppen beim springen.
Im Gegenteil passiert es immer mal wieder das ich nach dem springen einen Resync machen muss.

Mit Wabber:
einzig ab und zu mal ein springen Problem, sonst ist eigentlich alles besser als ohne Queue.
Je mehr Boxen im Netz aktiv sind, desto mehr bringt mir die Queue und desto schlimmer wird es ohne Queue.

In dem Sinne, also Danke das mit der jetzigen Konfig Möglichkeit die Verfechter gegen die Queue, wie z.B. gorcon :D :D
als auch die Befürworter, wie z.B. ich zufrieden sein können. :D :D
Jetzt macht es jeder so wie er mag, DANKE.
Bye
PetB
1 x DBOX2 Phillips, 1 x DBOX2 Nokia, 1 x DBOX2 Sagem, 100er Gibertini (Astra / Hotbird), NFS Server