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 )
...
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 )
...
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 -