16:9-Anzeige in der Infobar des Movieplayers
-
- Interessierter
- Beiträge: 35
- Registriert: Donnerstag 11. Dezember 2003, 20:08
Re: 16:9-Anzeige in der Infobar des Movieplayers
So, hab den Code nochmals überarbeitet.
Jetzt sollte auch die Box-Type Abfrage für die Philips Boxen funktionieren.
Wer traut sich das zu testen? Ich kann derzeit nicht.
Jetzt sollte auch die Box-Type Abfrage für die Philips Boxen funktionieren.
Wer traut sich das zu testen? Ich kann derzeit nicht.
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: 16:9-Anzeige in der Infobar des Movieplayers
Damit wird der controld-code im movieplayer dupliziert.
Unschön.
Unschön.
-
- Interessierter
- Beiträge: 35
- Registriert: Donnerstag 11. Dezember 2003, 20:08
Re: 16:9-Anzeige in der Infobar des Movieplayers
Ich weiß, aber unschön wars vorher auch schon.
So sollte es wenigstens funktionieren.
So sollte es wenigstens funktionieren.
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: 16:9-Anzeige in der Infobar des Movieplayers
Wenn man auf einen Haufen immer weiter draufscheißt, wird er aber nie kleiner
Den movieplayer mag so schon keiner mehr anfassen. Das hat einen Grund.
Den movieplayer mag so schon keiner mehr anfassen. Das hat einen Grund.
-
- Interessierter
- Beiträge: 35
- Registriert: Donnerstag 11. Dezember 2003, 20:08
Re: 16:9-Anzeige in der Infobar des Movieplayers
Ich finds ja auch nicht toll, nur hab ich da einfach keinen Überblick über das Zusammenspiel zwischen den einzellnen Komponenten wie zapit, neutrino, movieplayer usw. und wann wer wie worauf zugreift bzw. Zugriff hat.
Deshalb ists halt fürs erste nur ein "Pflaster" geworden.
Deshalb ists halt fürs erste nur ein "Pflaster" geworden.
Re: 16:9-Anzeige in der Infobar des Movieplayers
Wie soll man da nun aus dem Dilemma rauskommen, wenn's "schön werden soll? Gilt das auch für den MP2?
-
- Interessierter
- Beiträge: 35
- Registriert: Donnerstag 11. Dezember 2003, 20:08
Re: 16:9-Anzeige in der Infobar des Movieplayers
Soweit ich das jetzt gesehen hab, ists im MP2 für die Triple Dragon "schön", und für die anderen genauso wie beim MP1.
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: 16:9-Anzeige in der Infobar des Movieplayers
Ich dachte, für die dreambox wär's auch wie bei der TD. Kann mich aber irren.
-
- Contributor
- Beiträge: 1688
- Registriert: Donnerstag 17. Februar 2005, 20:24
Re: 16:9-Anzeige in der Infobar des Movieplayers
Im JtG-Forum hat mal wieder jemand auf das "checkAspectRatio"-Problem aufmerksam gemacht. Es wäre schön, wenn das mal jemand endgültig fixen würde. Ich blick da zu wenig durch, um das machen zu können.
-
- Contributor
- Beiträge: 1509
- Registriert: Donnerstag 27. Dezember 2007, 12:59
Re: 16:9-Anzeige in der Infobar des Movieplayers
Also im MP1 sehe ich kein Problem.
Videoformat steht auf 'auto'
Sendung läuft im 16:9 Format, Aufnahme ist im 4:3 Format:
Log beim Starten:
Sendung läuft im 4:3 Format, Aufnahme ist im 16:9 Format
Log:
Videoformat steht auf 'auto'
Sendung läuft im 16:9 Format, Aufnahme ist im 4:3 Format:
Log beim Starten:
Code: Alles auswählen
[mp] entering player loop
[controld] VIDEO_EVENT_SIZE_CHANGED 720x576 (16:9 -> 4:3)
[movieplayer.cpp] AR change detected in auto mode, adjusting display format
Log:
Code: Alles auswählen
[mp] entering player loop
[controld] VIDEO_EVENT_SIZE_CHANGED 720x576 (4:3 -> 16:9)
[movieplayer.cpp] AR change detected in auto mode, adjusting display format
-
- Contributor
- Beiträge: 1688
- Registriert: Donnerstag 17. Februar 2005, 20:24
Re: 16:9-Anzeige in der Infobar des Movieplayers
Kannst du denn das Verhalten nicht nachvollziehen, das in folgendem Posting beschrieben wird? Ich kann's sowieso nicht prüfen, da ich noch 'nen 4:3-Röhrenfernseher habe.
http://forum.tuxbox.org/forum/viewtopic ... 94#p375794
http://forum.tuxbox.org/forum/viewtopic ... 94#p375794
-
- Interessierter
- Beiträge: 35
- Registriert: Donnerstag 11. Dezember 2003, 20:08
Re: 16:9-Anzeige in der Infobar des Movieplayers
Das kann man auch mit einem 4:3-Röhrenfernseher testen, solange der in der Lage ist, je nach Signal-Pegel am PIN8 des Scart Steckers, die schwarzen Balken zu generieren.Gaucho316 hat geschrieben:Ich kann's sowieso nicht prüfen, da ich noch 'nen 4:3-Röhrenfernseher habe.
Also der "automatisch"-Modus macht auch bei 4:3 TVs Sinn.
-
- Contributor
- Beiträge: 1509
- Registriert: Donnerstag 27. Dezember 2007, 12:59
Re: 16:9-Anzeige in der Infobar des Movieplayers
Theoretisch schon. Fällt bei meinem Panasonic aber nicht auf.Gaucho316 hat geschrieben:Kannst du denn das Verhalten nicht nachvollziehen, das in folgendem Posting beschrieben wird? Ich kann's sowieso nicht prüfen, da ich noch 'nen 4:3-Röhrenfernseher habe.
http://forum.tuxbox.org/forum/viewtopic ... 94#p375794
Wie kyle_br schon schrieb geht es nicht, weil zapit in Standby ist und damit auch der Videodekoder. Jedenfalls in der Dbox.
Wieso das bei anderen Geräten funktioniert ist klar, dort bleibt der Videodekoder aktiv und kann dadurch das Videoformat ändern.
Sieht man ja in zapit.cpp
Code: Alles auswählen
#ifdef HAVE_DBOX_HARDWARE
// needed in standby to correct aspect ration in movieplayer, but not on dbox...
if (videoDecoder) {
delete videoDecoder;
videoDecoder = NULL;
}
#endif
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: 16:9-Anzeige in der Infobar des Movieplayers
Mach doch einfach mal das "#if dbox" an der stelle weg und lass den videodekoder weiter existieren. Evtl. reicht das schon als fix.
Weil der Aspectratiowatchdog läuft eigentlich weiter, aber......tut nchts, wenn der vdec nicht da ist...
Weil der Aspectratiowatchdog läuft eigentlich weiter, aber...
Code: Alles auswählen
void CControldAspectRatioNotifier::aspectRatioChanged( int newAspectRatio )
{
»·······/* the videodecoder gets initialized after the watchdog thread is started
»······· but we can get an even when zapit is in standby (e.g. movieplayer on
»······· dbox), so set the global aspectRatio values first... */
»·······int activeAspectRatio;
»·······settings.aspectRatio_dvb = newAspectRatio & 0xFF;
»·······settings.aspectRatio_vcr = (newAspectRatio & 0xFF00) >> 8;
»·······if (settings.vcr)
»·······»·······activeAspectRatio = settings.aspectRatio_vcr;
»·······else
»·······»·······activeAspectRatio = settings.aspectRatio_dvb;
»·······/* ...then check for videodecoder and return to not crash later. */
»·······if (!videoDecoder)
»·······»·······return;
-
- Contributor
- Beiträge: 1509
- Registriert: Donnerstag 27. Dezember 2007, 12:59
Re: 16:9-Anzeige in der Infobar des Movieplayers
Hatte ich schon. Dann kommt das.
bzw. er crashed dann, aber es funktioniert mindestens 1x. Man müsste also das Crashen in den Griff bekommen.
Code: Alles auswählen
[mp] PlayFileThread starts
[mp] vdec /dev/dvb/adapter0/video0: Device or resource busy
[mp] error opening some DVB devices
[mp] mp_playFileThread terminated due to error
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: 16:9-Anzeige in der Infobar des Movieplayers
nein, das hilft nicht. der Videodecoder kann nur einmal geöffnet werden... das ist also nicht so einfach...
-
- Contributor
- Beiträge: 1688
- Registriert: Donnerstag 17. Februar 2005, 20:24
Re: 16:9-Anzeige in der Infobar des Movieplayers
Früher hat die Formatumschaltung doch auch wunderbar funktioniert. Warum ist das jetzt anders? Wurde denn der Video-Dekoder früher nicht beim Start des MP deaktiviert? Und ist das tatsächlich noch eine der Auswirkungen des "controld-zapit-merge"?
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: 16:9-Anzeige in der Infobar des Movieplayers
Das ist vermutlich schon noch eine Nebenwirkung davon. Wie der MP1 das früher gemacht hat, weiss ich leider auch nicht so genau.
Am einfachsten (wenn auch nicht schön) wird es sein, den controld-code im MP1 zu duplizieren.
Funktioniert das denn im MP2 auf der dbox? Kann ich mir irgendwie auch nicht recht vorstellen, ich hab den Code aber auch nicht mehr auswendig parat...
Am einfachsten (wenn auch nicht schön) wird es sein, den controld-code im MP1 zu duplizieren.
Funktioniert das denn im MP2 auf der dbox? Kann ich mir irgendwie auch nicht recht vorstellen, ich hab den Code aber auch nicht mehr auswendig parat...
-
- Contributor
- Beiträge: 1509
- Registriert: Donnerstag 27. Dezember 2007, 12:59
Re: 16:9-Anzeige in der Infobar des Movieplayers
Früher war das setVideoFormat im Controld Deamon, jetzt ist es in video.cpp und das Objekt stirbt halt beim Aufruf des MP.
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: 16:9-Anzeige in der Infobar des Movieplayers
aber ein teil davon hätte doch auch im vdec sein müssen (wenn nicht die Schaltspannung verwendet wird, aber letterbox / panscan geschaltet wird, dann muss das IMHO der dekoder machen. Oder macht das der SAA7126? muss ich mal schauen...)
Ich schau mal drauf.
Ich schau mal drauf.
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: 16:9-Anzeige in der Infobar des Movieplayers
Eigentlich könnte das gehen.
GetAway, probier mal folgendes:
* in infoviewer.cpp:CInfoViewer::handleMsg() ein printf einbauen, ob NeutrinoMessages::EVT_MODECHANGED dort ankommt, wenn der MP läuft und AR sich ändert
* in zapit/src/eventwatchdog.cpp:CEventWatchDog::videoModeChanged() ein printf einbauen, ob das aufgerufen wird, wenn MP...
* schau, ob der printf aus eventwatchdog.cpp:281 im log auftaucht, wenn der MP läuft und der AR sich ändert.
* in zapit/src/controld.cpp:CControldAspectRatioNotifier::aspectRatioChanged() ebenfalls ein printf einbauen, ob das da ankommt.
Weil eigentlich ist mir nicht ganz klar, warum das momentan nicht funktioniert....
vielleicht funkt auch der AR-Code des MP1 dazwischen und im MP2 gehts? Weil da habe ich das ja extra weggelassen, wenn ich mich recht erinnere...
GetAway, probier mal folgendes:
* in infoviewer.cpp:CInfoViewer::handleMsg() ein printf einbauen, ob NeutrinoMessages::EVT_MODECHANGED dort ankommt, wenn der MP läuft und AR sich ändert
* in zapit/src/eventwatchdog.cpp:CEventWatchDog::videoModeChanged() ein printf einbauen, ob das aufgerufen wird, wenn MP...
* schau, ob der printf aus eventwatchdog.cpp:281 im log auftaucht, wenn der MP läuft und der AR sich ändert.
* in zapit/src/controld.cpp:CControldAspectRatioNotifier::aspectRatioChanged() ebenfalls ein printf einbauen, ob das da ankommt.
Weil eigentlich ist mir nicht ganz klar, warum das momentan nicht funktioniert....
vielleicht funkt auch der AR-Code des MP1 dazwischen und im MP2 gehts? Weil da habe ich das ja extra weggelassen, wenn ich mich recht erinnere...
-
- Contributor
- Beiträge: 1509
- Registriert: Donnerstag 27. Dezember 2007, 12:59
Re: 16:9-Anzeige in der Infobar des Movieplayers
Werde es mal probieren.
Hier mal ein Log vor dem controld-zapit-merge.
Start play:
stop play
Hier mal ein Log vor dem controld-zapit-merge.
Start play:
Code: Alles auswählen
[mp] entering player loop
[controld] VIDEO_EVENT_SIZE_CHANGED 720x576 (16:9 -> 4:3)
[controld] format: 4:3(LB)
[zapit] cmd 56 refused in standby mode
[movieplayer.cpp] AR change detected in auto mode, adjusting display format
Code: Alles auswählen
File /var/tuxbox/config/movieplayer.end not found. Please create if needed.
: No such file or directory
[controld] setting VideoFormat to auto
[controld] format: 4:3(LB)
[controld] VIDEO_EVENT_SIZE_CHANGED 720x576 (4:3 -> 16:9)
[controld] format: 16:9
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: 16:9-Anzeige in der Infobar des Movieplayers
Also. kyle_br's code ist vermutlich die einzig gangbare Lösung.
Im "Normalbetrieb" übernimmt "videoDecoder->setVideoFormat" sowohl das korrekte skalieren (wenn displayformat == 4:3 oder 16:9) als auch das korrekte setzen der SCART-Spannung (wenn displayformat == auto).
Das Skalieren macht der Movieplayer selber auf der dbox, aber das SCART-setzen nicht. Das muss man also einbauen, so wie es kyle_br gemacht hat. Oder so ähnlich.
Allerdings dürfte es auf der dreambox nicht notwendig sein, weil die IIRC den dekoder offen lassen kann und deswegen kann zapit das einstellen. Muss ich wohl oder übel mal probieren ;-)
Ich komme aber die nächsten Tage nicht dazu, es wird also noch ein paar Wochen dauern.
Im "Normalbetrieb" übernimmt "videoDecoder->setVideoFormat" sowohl das korrekte skalieren (wenn displayformat == 4:3 oder 16:9) als auch das korrekte setzen der SCART-Spannung (wenn displayformat == auto).
Das Skalieren macht der Movieplayer selber auf der dbox, aber das SCART-setzen nicht. Das muss man also einbauen, so wie es kyle_br gemacht hat. Oder so ähnlich.
Allerdings dürfte es auf der dreambox nicht notwendig sein, weil die IIRC den dekoder offen lassen kann und deswegen kann zapit das einstellen. Muss ich wohl oder übel mal probieren ;-)
Ich komme aber die nächsten Tage nicht dazu, es wird also noch ein paar Wochen dauern.
-
- Contributor
- Beiträge: 1509
- Registriert: Donnerstag 27. Dezember 2007, 12:59
Re: 16:9-Anzeige in der Infobar des Movieplayers
Ja, man braucht das nur für die Dbox, man könnte den Codeabschnitt aber auch verlagern,
dann ist er jedenfalls nicht doppelt und kann auch aufgrufen werden, wenn das Object videoDecoder
nicht existiert.
Was jetzt besser ist solltest Du entscheiden, denn der Haufen wird nicht kleiner, wenn man immer
nur drauf scheißt.
dann ist er jedenfalls nicht doppelt und kann auch aufgrufen werden, wenn das Object videoDecoder
nicht existiert.
Was jetzt besser ist solltest Du entscheiden, denn der Haufen wird nicht kleiner, wenn man immer
nur drauf scheißt.
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: 16:9-Anzeige in der Infobar des Movieplayers
Am Einfachsten wird es vermutlich sein, das mit einem ordentlichen Kommentar in den movieplayer zu packen.
Wenn wir das setzen der SCART-Spannung wieder aus dem Videodecoder rausnehmen, dann trifft das alle nicht-dboxen. Alternativ könnte man auch dem Videodecoder ein "close()" mitgeben, dass er nur das video device freigibt, aber dann wäre immer noch eine Hälfte im zapit (SCART Spannung) und die andere Hälfte im Movieplayer (Scaling). Das ist auch nicht überischtlicher oder logischer.
Und wenn das jetzt einmal gefixt ist, dann wird das auch hoffentlich nicht mehr angefasst werden müssen.
Schauen wir einfach, dass wir den Haufen nur möglichst wenig erhöhen ;-)
Wenn wir das setzen der SCART-Spannung wieder aus dem Videodecoder rausnehmen, dann trifft das alle nicht-dboxen. Alternativ könnte man auch dem Videodecoder ein "close()" mitgeben, dass er nur das video device freigibt, aber dann wäre immer noch eine Hälfte im zapit (SCART Spannung) und die andere Hälfte im Movieplayer (Scaling). Das ist auch nicht überischtlicher oder logischer.
Und wenn das jetzt einmal gefixt ist, dann wird das auch hoffentlich nicht mehr angefasst werden müssen.
Schauen wir einfach, dass wir den Haufen nur möglichst wenig erhöhen ;-)