PATCH für 16/9-Bug bei VCR-Buchse

Das Original Benutzerinterface Neutrino-SD incl. zapit, sectionsd, yWeb etc...
Barf
Developer
Beiträge: 1475
Registriert: Dienstag 4. Februar 2003, 22:02

PATCH für 16/9-Bug bei VCR-Buchse

Beitrag von Barf »

Ich (sowie Kolja) habe früher http://tuxbox.berlios.de/forum/viewtopic.php?t=18202
über ein Bug berichtet: die 16/9 steuerung vom "VCR-Buchse" wird nicht weitergereicht,
was das DVD-kucken über die Box ziemlich ungeniessbar macht. Beigefügt ist ein patch für

Code: Alles auswählen

.../apps/tuxbox/neutrino/daemons/controld/eventwatchdog.cpp
was das Problem
behebt. Der Patch ist gegen eventwatchdog.cpp version
1.13 von HEAD

Intressant (aber leicht OT) ist wie Betanova mit dem Thema umgeht: 16/9 umschaltung vom
"VCR" wird brav weitergereicht, ABER, falls der "Tuner" auf einem Kanal steht, was gerade
vom 16/9 ins 4/3 umschaltet, dann wird die Box zuruck in TV-Modus geschaltet!! :D (Hat mir
passiert als ich Freune zum DVD-glotzen eingeladen habe, peinlich...)

Keep hacking,

Barf

Code: Alles auswählen

*** eventwatchdog.cpp.orig      Sun Mar  9 20:39:58 2003
--- eventwatchdog.cpp   Mon Mar 10 20:11:45 2003
***************
*** 143,149 ****
                                                {
                                        //printf("(event.event == EVENT_ARATIO_CHANGE)\n");
                                                        int newVideoMode = WatchDog->getVideoMode();
!                                                       if ( (newVideoMode != WatchDog->VideoMode) && (newVideoMode != -1) )
                                                        {
                                                                pthread_mutex_lock( &WatchDog->wd_mutex );
                                                                WatchDog->VideoMode = (uint)newVideoMode;
--- 143,151 ----
                                                {
                                             //printf("(event.event == EVENT_ARATIO_CHANGE)\n");
                                                        int newVideoMode = WatchDog->getVideoMode();
!                                                       if ( (newVideoMode != WatchDog->VideoMode)
!                                                            && (newVideoMode != -1)
!                                                            && WatchDog->getVCRMode() == 0)
                                                        {
                                                                pthread_mutex_lock( &WatchDog->wd_mutex );
                                                                WatchDog->VideoMode = (uint)newVideoMode;
***************
*** 160,165 ****
--- 162,178 ----
                                                                pthread_mutex_lock( &WatchDog->wd_mutex );
                                                                WatchDog->VCRMode = newVCRMode;
                                                                WatchDog->vcrModeChanged( newVCRMode );
+                                                               if (newVCRMode > 0) {
+                                                                 // Watching "VCR", adjust format accordingly
+                                                                 WatchDog->VideoMode = newVCRMode + 1;
+                                                                 WatchDog->videoModeChanged( newVCRMode + 1 );
+                                                               } else {
+                                                                 // going back to DVB, adjust format
+                                                                 sleep(2);
+                                                                 int newVideoMode = WatchDog->getVideoMode();
+                                                                 WatchDog->VideoMode = newVideoMode;
+                                                                 WatchDog->videoModeChanged(newVideoMode);
+                                                               }
                                                                pthread_mutex_unlock( &WatchDog->wd_mutex );
                                                        }
                                                }
thegoodguy
Erleuchteter
Erleuchteter
Beiträge: 465
Registriert: Mittwoch 14. August 2002, 20:45

Beitrag von thegoodguy »

Mangels Testmoeglichkeit habe ich den Fix ungetestet commitet (http://lists.berlios.de/pipermail/tuxbo ... 10841.html).
Vielen herzlichen Dank.
Gorcon
Tuxboxer
Tuxboxer
Beiträge: 5873
Registriert: Samstag 23. Februar 2002, 22:46

Beitrag von Gorcon »

Super das ging mir auch schon mächtig auf den Kecks mit dem Bug.
Felt nur noch das man der Box das Hochfahren abgewöhnt wenn die Schaltspannung am VCR Scart anliegt. (kommt jetzt nicht damit ich soll mein Scartkabel "massakrieren"!)
Gruß Gorcon
Barf
Developer
Beiträge: 1475
Registriert: Dienstag 4. Februar 2003, 22:02

Beitrag von Barf »

Felt nur noch das man der Box das Hochfahren abgewöhnt wenn die Schaltspannung am VCR Scart anliegt.
In "deep standby" bootet die dBox bei aktiv-gehende Schaltspannung; meinst du das?
Bei dieser Zeitpunkt ist gar kein "Tuxbox" software geladen; ich glaube der Bootmonitor ist
verantwortlich... Hast du eine idee, wie mann es ändern könnte?

Selbst finde ich es logisch und nützlich :wink: , aber alle Möglichkeiten zu Customization sind
ja intressant (am mindestens bis mann es dokumentieren muss :P )

Keep hacking,

Barf
dj3d
Interessierter
Interessierter
Beiträge: 64
Registriert: Donnerstag 6. März 2003, 08:44

16*9

Beitrag von dj3d »

und wie kann ich das runterladen und installieren
Gorcon
Tuxboxer
Tuxboxer
Beiträge: 5873
Registriert: Samstag 23. Februar 2002, 22:46

Beitrag von Gorcon »

In "deep standby" bootet die dBox bei aktiv-gehende Schaltspannung; meinst du das?
Ja
Selbst finde ich es logisch und nützlich
Ich eher nicht denn wenn ich meinen DVD Player einschalte dann startet die Box immer auch wenn ich nur Musik hören will. :( Wenn ich dann die Box wieder runter gefahren habe und später den DVD Player ausschalte dann fährt die Box auch wieder hoch :evil: . Die Schaltspannung kann ich aber nicht "abklemmen weil sonst mein VCR nicht mehr dem TV "sagt" welches Bild Format er wählen soll.
Gruß Gorcon
Barf
Developer
Beiträge: 1475
Registriert: Dienstag 4. Februar 2003, 22:02

Beitrag von Barf »

Ich eher nicht denn wenn ich meinen DVD Player einschalte dann startet die Box immer auch wenn ich nur Musik hören will. icon_sad.gif Wenn ich dann die Box wieder runter gefahren habe und später den DVD Player ausschalte dann fährt die Box auch wieder hoch icon_evil.gif . Die Schaltspannung kann ich aber nicht "abklemmen weil sonst mein VCR nicht mehr dem TV "sagt" welches Bild Format er wählen soll.
Verstehe. Eigentlich ist es dein DVD-Player der sich unlogisch verhaltet, wenn er pin-8 aktiv setzt, ohne eine vernünfiges Bild zu erzeugen. Aber so sind sicherlich (?) alle DVD-player (meins auch!).

Als ich in meinem früher Beitrage schrieb, falls mann diese blöde Benehmen mit unsere klevere software repariere könnte, wäre es eine feine Sache. Ich sehe keine andere Möglichkeit, als den Bootmonitor umzuschreiben --- kennt sich hier jemand aus?

Keep hacking,

Barf