audioplayer

Das Original Benutzerinterface Neutrino-SD incl. zapit, sectionsd, yWeb etc...
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: audioplayer

Beitrag von Gaucho316 »

Schön, dass du noch dabei bist und nochmal genau geforscht hast. Ich bin auch dafür, dass wir die If-Klausel einfach weglassen und gut ist. Ich wollte aber zumindest mal gucken, ob ich nicht etwas Offensichtliches im Zapit-Code finde, dass das verursachen könnte. Ich habe aber nichts entdecken können. Der Zapit-Code ist mir teilweise auch etwas zu hoch.
Mourice hat geschrieben:Höchstwahrscheinlich aber in einer anderen "Funktion" oder einem anderen "Programm".
Wenn man der Methode

Code: Alles auswählen

CNeutrinoApp::getInstance()->handleMsg( NeutrinoMessages::CHANGEMODE , m_LastMode );
(neutrino.cpp) folgt, sieht man, dass die Methode tvMode() aufgerufen wird. Dort erfolgt dann das Zurücksetzen des Videoformats (Zeile 3668 und 3669).
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: audioplayer

Beitrag von rhabarber1848 »

wittinobi hat geschrieben:aber das problem scheint mir nicht neu.
siehe folgenden thread...

http://www.tuxbox-cvs.sourceforge.net/f ... =2&t=46093
(merged threads)
Gaucho316 hat geschrieben:Wenn man der Methode

Code: Alles auswählen

CNeutrinoApp::getInstance()->handleMsg( NeutrinoMessages::CHANGEMODE , m_LastMode );
(neutrino.cpp) folgt, sieht man, dass die Methode tvMode() aufgerufen wird. Dort erfolgt dann das Zurücksetzen des Videoformats (Zeile 3668 und 3669).
Ich vermute eher, dass in neutrino.cpp, ab Zeile 3651

Code: Alles auswählen

if( mode == mode_tv )
{
    return;
}
die Funktion CNeutrinoApp::tvMode() vorher beendet wird, da Neutrino bei der Rückkehr
aus dem Audioplayer bereits im TV-Modus ist, dies geschieht durch das von Gaucho316
zitierte code snippet. Hilft dieser (ungetestete) Patch?

Code: Alles auswählen

--- ../cvs/apps/tuxbox/neutrino/src/gui/audioplayer.cpp 2012-04-13 14:15:20.000000000 +0200
+++ ./apps/tuxbox/neutrino/src/gui/audioplayer.cpp      2012-06-12 22:49:35.763704986 +0200
@@ -223,6 +223,8 @@
        m_title2Pos.clear();
        g_Zapit->setStandby (false);
        g_Sectionsd->setPauseScanning (false);
+       if (g_Controld->getVideoFormat() != g_settings.video_Format)
+               g_Controld->setVideoFormat(g_settings.video_Format);
 }
 
 //------------------------------------------------------------------------
Wenn ja, müsste er ebenfalls in den deconstructors der anderen Bereiche (esd, upnp,
internetradio, pictureviewer) eingebaut werden.
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: audioplayer

Beitrag von Gaucho316 »

rhabarber1848 hat geschrieben:Ich vermute eher, dass in neutrino.cpp, ab Zeile 3651 die Funktion CNeutrinoApp::tvMode() vorher beendet wird, da Neutrino bei der Rückkehr
aus dem Audioplayer bereits im TV-Modus ist,
Stimmt nicht, der TV-Modus wird erst in der Methode tvModus() wieder gesetzt.
rhabarber1848 hat geschrieben:Hilft dieser (ungetestete) Patch? [...] Wenn ja, müsste er ebenfalls in den deconstructors der anderen Bereiche (esd, upnp, internetradio, pictureviewer) eingebaut werden.
Bringt nichts, da die Instanzen der Klassen CAudioPlayerGui, CEsoundGui, CPictureViewerGui und CUpnpBrowserGui nie gelöscht werden. Guck einfach mal in neutrino_menu.cpp.
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: audioplayer

Beitrag von Gaucho316 »

Im Movieplayer gibt es ja in Zeile 4612 bis 4622 (movieplayer.cpp) einen Workaround im Zusammenhang mit 16:9. Ob dieses Problem hier auch auftritt und es deshalb falsch dargestellt wird? :gruebel:
Mourice hat geschrieben:Sendung 16:9, Video-Einstellung 16:9, Hintergrund 16:9, TV 16:9
[...]
Ergebniss --> 16:9 mit Balken oben und unten
Was kommt dabei raus, wenn du bei dieser Konstellation die Zeile mit dem If wegnimmst? Der Aufruf von setVideoFormat() muss aber drin bleiben. Wird es dann auch falsch dargestellt?
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: audioplayer

Beitrag von Gaucho316 »

Mourice hat geschrieben:[zapit] cmd 13 refused in standby mode
Mal noch etwas ganz anderes. Dieser Log-Eintrag kommt dadurch, dass g_Zapit->getLastChannel(...) nach g_Zapit->setStandby(true) aufgerufen wird. Ich denke, dass die Reihenfolge vertauscht werden müsste. Bei "cmd 13" handelt es sich nämlich um CMD_GET_LAST_CHANNEL und das ist die Message, die an Zapit geschickt wird, wenn getLastChannel() aufgerufen wird.
Mourice

Re: audioplayer

Beitrag von Mourice »

Gaucho316 hat geschrieben:Im Movieplayer gibt es ja in Zeile 4612 bis 4622 (movieplayer.cpp) einen Workaround im Zusammenhang mit 16:9. Ob dieses Problem hier auch auftritt und es deshalb falsch dargestellt wird? :gruebel:
Mourice hat geschrieben:Sendung 16:9, Video-Einstellung 16:9, Hintergrund 16:9, TV 16:9
[...]
Ergebniss --> 16:9 mit Balken oben und unten
Was kommt dabei raus, wenn du bei dieser Konstellation die Zeile mit dem If wegnimmst? Der Aufruf von setVideoFormat() muss aber drin bleiben. Wird es dann auch falsch dargestellt?
Hi,

nein, ohne dass IF, also es wird immer ein setvideo gemacht, ist alles korrekt.

Aber so langsam weiss ich bald auch nicht mehr, was denn eigentlich richtig oder falsch ist ...

Ich habe jetzt noch einmal komplett neu gebaut.

Im audioplayer.cpp habe ich am Funktions-Einsprung "g_Controld->setVideoFormat(g_settings.video_backgroundFormat);" und am Ausgang "g_Controld->setVideoFormat(g_settings.video_Format);", jeweils ohne "IF".

Damit funktioniert bei mir jetzt alles korrekt. 16:9 wird wieder sauber zu 16:9 und 4:3 wird wieder zu 4:3 beim Verlassen des Audioplayers (bzw. Internet-Radio).
Unabhängig, ob Video-Format und Hintergrund-Format in den "Einstellungen" gleich sind oder auch nicht.

Ob diese Lösung jetzt korrekt ist, oder auch nicht, weiss ich nicht ... ist mir aber auch egal. Bei mir lass ich es jetzt so.

MfG
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: audioplayer

Beitrag von Gaucho316 »

Ich konnte den Fehler jetzt auch endlich nachstellen. Und ich weiß jetzt auch, warum das passiert. Meine Annahme mit dem Reset des Avia-Chips war richtig. Das passiert nämlich, wenn die Samplerate wechselt. So steht es zumindest in basedec.cpp. Den Reset kann man auch beobachten, wenn man eine Datei abspielt. Der Bildschirm verfärbt sich kurz. Bei einem Reset des Avia-Chips geht leider auch das Videoformat verloren und wird auf den Standardwert 4:3 gesetzt. Deshalb denke ich, dass der folgende Patch am besten fürs CVS ist, damit setVideoFormat() nicht unnötigerweise zweimal hintereinander aufgerufen wird, d.h. am Ende von CAudioPlayerGui::exec() und in CNeutrinoApp::tvMode().

Audioplayer: set video format in 16:9 mode before leaving
Link entfernt, da Patch im CVS
Mourice

Re: audioplayer

Beitrag von Mourice »

Hi,

funktioniert.

Ob jetzt ein "eingespartes" setvideo schneller ist, als zwei If's ... aber "Wurscht" ... Patch geht in allen Variationen.

MfG
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: audioplayer

Beitrag von Gaucho316 »

Mourice hat geschrieben:Ob jetzt ein "eingespartes" setvideo schneller ist, als zwei If's ...
Auf alle Fälle, du musst mal den Code verfolgen, der ausgeführt wird, wenn g_Controld->setVideoFormat(...) aufgerufen wird. Da passiert so einiges. Du landest am Ende in der Funktion setVideoFormat(...) in apps/dvb/zapit/src/zapost/video.cpp.


Hier nun auch die Patches mit den gleichen Änderungen für Esound und den UPnP-Browser. Da ich beides nicht nutze, verlasse ich mich auf die Aussage, dass die Änderungen dort auch nötig sind.

Esound: set video format in 16:9 mode before leaving
Link entfernt, da Patch im CVS

UPnP Browser: set video format in 16:9 mode before leaving
Link zum Patch entfernt

Edit: Ich sehe gerade, dass das für den UPnP-Browser gar nicht nötig ist. Da wird das Videoformat am Anfang immer auf 4:3 gesetzt.
Mourice

Re: audioplayer

Beitrag von Mourice »

Hi,

habe es gerade mal getestet ... ohne die zwei If's ist das Bild 234ms schneller wieder da.

MfG

:D :D :D :D :D :D
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: audioplayer

Beitrag von rhabarber1848 »

committed:
Gaucho316 hat geschrieben:audioplayer_set-video-format-in-16-9-mode-before-leaving_2012-06-13_2025.diff
esound_set-video-format-in-16-9-mode-before-leaving_2012-06-14_1916.diff
http://article.gmane.org/gmane.comp.vid ... x.scm/3438