Umschalten zw. Radio/TV - Probleme mit SPTS Fix

Wünsche, Anträge, Fehlermeldungen
Striper
Erleuchteter
Erleuchteter
Beiträge: 625
Registriert: Samstag 8. September 2007, 16:17

Umschalten zw. Radio/TV - Probleme mit SPTS Fix

Beitrag von Striper »

Da meine Nokia Box leider nur im SPTS Modus ordentlich funktioniert, es jedoch dadurch oft beim Zurückschalten von Radio auf TV zu Problemen (Bild bleibt schwarz / Falsches Format) kommt, würde mich mal interessieren ob es möglich ist die Box beim Radio hören automatisch in den PES Modus zu bringen und dann wieder in den SPTS Modus beim Umschalten in den TV Modus. Ist die Box bereits im PES Modus sollte natürlich nicht auf SPTS umgeschalten werden beim beenden des Radios.

Kann mir einer sagen wo ich da am besten ansetzen könnte?
Zuletzt geändert von Striper am Sonntag 4. Januar 2009, 14:13, insgesamt 1-mal geändert.
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Re: Radiomode nur PES

Beitrag von Houdini »

das macht er doch schon...

Code: Alles auswählen

void CNeutrinoApp::radioMode( bool rezap)
{
	if(mode==mode_tv )
	{
		g_RCInput->killTimer(g_InfoViewer->lcdUpdateTimer);
		g_InfoViewer->lcdUpdateTimer = g_RCInput->addTimer( LCD_UPDATE_TIME_RADIO_MODE, false );

#ifndef HAVE_DREAMBOX_HARDWARE
		if(g_settings.misc_spts==1)
			g_Zapit->PlaybackPES();
#endif
	}

Code: Alles auswählen

void CNeutrinoApp::tvMode( bool rezap )
{
	if(mode==mode_radio )
	{
		g_RCInput->killTimer(g_InfoViewer->lcdUpdateTimer);
		g_InfoViewer->lcdUpdateTimer = g_RCInput->addTimer( LCD_UPDATE_TIME_TV_MODE, false );

#ifndef HAVE_DREAMBOX_HARDWARE
		if(g_settings.misc_spts==1)
			g_Zapit->PlaybackSPTS();
#endif
	}
Striper
Erleuchteter
Erleuchteter
Beiträge: 625
Registriert: Samstag 8. September 2007, 16:17

Re: Radiomode nur PES

Beitrag von Striper »

Also das ist sehr komisch. Hab diese Probleme wirklich nur dann wenn ich auch in den Treiber-/Bootoptionen auf SPTS gestellt habe. Gestern auch noch mit PES Modus bestimmt 20x probiert und nie gabs was... oO

/edit

Kann es sein das es mit dem AVIA SPTS-Fix zusammen hängt den ich auch verwende?

/edit2

Das Log sagt auch gar nix... :(
PauleFoul
Wissender
Wissender
Beiträge: 1839
Registriert: Sonntag 17. August 2003, 01:39

Re: Radiomode nur PES

Beitrag von PauleFoul »

Striper hat geschrieben: Kann es sein das es mit dem AVIA SPTS-Fix zusammen hängt den ich auch verwende?
Evetuell, weil der kann ja nicht ohne Reboot deaktiviert werden...

Probier doch mal bitte ohne SPTS-Fix und poste ein Log...
Striper
Erleuchteter
Erleuchteter
Beiträge: 625
Registriert: Samstag 8. September 2007, 16:17

Re: Radiomode nur PES

Beitrag von Striper »

So, habs nun mal im SPTS Modus probiert, allerdings ohne den SPTS-Knackserfix. Jetzt funktioniert die Umschalterei zw. Radio und TV problemlos. Irgendwas hackt da wohl mit SPTS Fix...

/edit

Hab den Threadtitel mal angepasst.
PauleFoul
Wissender
Wissender
Beiträge: 1839
Registriert: Sonntag 17. August 2003, 01:39

Re: Umschalten zw. Radio/TV - Probleme mit SPTS Fix

Beitrag von PauleFoul »

Naja, das mit dem SPTS-Fix ist so eine Sache... Sollte man vielleicht ma richtig ins CVS einchecken und probieren ob man das auch
irgendwie OnTheFly-Umschaltbar machen kann...


Gruß
Striper
Erleuchteter
Erleuchteter
Beiträge: 625
Registriert: Samstag 8. September 2007, 16:17

Re: Umschalten zw. Radio/TV - Probleme mit SPTS Fix

Beitrag von Striper »

Das wäre mal echt ne super Sache. Meine Programmierkenntnisse reichen dazu aber leider nicht aus. Ein paar einfache Sachen bekommen ich schon hin, aber für weiteres fehlt leider vor allem Zeit (wem fehlt die nicht...) und Können.
PauleFoul
Wissender
Wissender
Beiträge: 1839
Registriert: Sonntag 17. August 2003, 01:39

Re: Umschalten zw. Radio/TV - Probleme mit SPTS Fix

Beitrag von PauleFoul »

Striper hat geschrieben:Das wäre mal echt ne super Sache. Meine Programmierkenntnisse reichen dazu aber leider nicht aus. Ein paar einfache Sachen bekommen ich schon hin, aber für weiteres fehlt leider vor allem Zeit (wem fehlt die nicht...) und Können.
Da müssen die richtigen "Codeversteher" ran! Das geht meiner Meinung nach extrem ins eingemachte...

Außerdem ist der SPTS-Fix soweit ich weiss ein kleiner Workaround, man müsste also auch prüfen ob man das besser/anders lösen kann...


Gruß
____Paule
Striper
Erleuchteter
Erleuchteter
Beiträge: 625
Registriert: Samstag 8. September 2007, 16:17

Re: Umschalten zw. Radio/TV - Probleme mit SPTS Fix

Beitrag von Striper »

Falls sich das mal jemand ansehen möchte. Das hier ist der Diff dazu:

Code: Alles auswählen

Index: dvb/drivers/media/dvb/avia/avia_av_core.c
===================================================================
RCS file: /cvs/tuxbox/driver/dvb/drivers/media/dvb/avia/avia_av_core.c,v
retrieving revision 1.99
diff -u -r1.99 avia_av_core.c
--- a/dvb/drivers/media/dvb/avia/avia_av_core.c   8 Jan 2006 21:36:22 -0000   1.99
+++ b/dvb/drivers/media/dvb/avia/avia_av_core.c   25 Sep 2007 08:58:12 -0000
@@ -1225,10 +1225,15 @@
 //      avia_av_cmd(NewChannel, 0x00, 0xFFFF, 0xFFFF);
       avia_av_cmd(SelectStream, 0x03 - bypass_mode, pid_audio);
 //      avia_av_cmd(SelectStream, 0x00, pid_video);
+
       if (aviarev && bypass_mode_changed) {
          avia_av_cmd(SelectStream, 0x00, (play_state_video == AVIA_AV_PLAY_STATE_PLAYING) ? pid_video : 0xFFFF);
          avia_av_cmd(Play, 0x00, (play_state_video == AVIA_AV_PLAY_STATE_PLAYING) ? pid_video : 0xFFFF, pid_audio);
       }
+
+      if ((aviarev) && (play_state_audio != AVIA_AV_PLAY_STATE_PAUSED)) // oder nur  if (aviarev)
+         avia_av_cmd(Play, 0x00, (play_state_video == AVIA_AV_PLAY_STATE_PLAYING) ? pid_video : 0xFFFF, pid_audio);
+
       bypass_mode_changed = 0;
       break;
 
@@ -1239,9 +1244,18 @@
 
       dprintk("avia_av: stopping audio decoder\n");
 
+
       if (play_state_video == AVIA_AV_PLAY_STATE_STOPPED) {
+
+         if (aviarev) {
+            avia_av_cmd(SelectStream, 0x03 - bypass_mode, 0xFFFF); // ???
+            avia_av_cmd(Abort, 0x00);
+         }
+
          avia_av_dram_write(AV_SYNC_MODE, AVIA_AV_SYNC_MODE_NONE);
-         avia_av_cmd(NewChannel, 0x00, 0xFFFF, 0xFFFF);
+
+         if (!aviarev)
+            avia_av_cmd(NewChannel, 0x00, 0xFFFF, 0xFFFF);
       }
       else {
          avia_av_cmd(SelectStream, 0x03 - bypass_mode, 0xFFFF);
@@ -1276,6 +1290,9 @@
 //         avia_av_cmd(NewChannel, 0x00, 0xFFFF, 0xFFFF);
 //         avia_av_cmd(SelectStream, 0x03 - bypass_mode, pid_audio);
          avia_av_cmd(SelectStream, 0x00, pid_video);
+
+//         if (aviarev)
+//            avia_av_cmd(Play, 0x00, pid_video, (play_state_audio == AVIA_AV_PLAY_STATE_PLAYING) ? pid_audio : 0xFFFF);
       }
       break;
 
@@ -1287,8 +1304,16 @@
       dprintk("avia_av: stopping video decoder\n");
 
       if (play_state_audio == AVIA_AV_PLAY_STATE_STOPPED) {
+
+         if (aviarev) {
+            avia_av_cmd(SelectStream, 0x00, 0xFFFF); // ???
+            avia_av_cmd(Abort, 0x00);
+         }
+
          avia_av_dram_write(AV_SYNC_MODE, AVIA_AV_SYNC_MODE_NONE);
-         avia_av_cmd(NewChannel, 0x00, 0xFFFF, 0xFFFF);
+
+         if (!aviarev)
+            avia_av_cmd(NewChannel, 0x00, 0xFFFF, 0xFFFF);
       }
       else {
          avia_av_cmd(SelectStream, 0x00, 0xFFFF);
@@ -1558,3 +1583,4 @@
 MODULE_PARM_DESC(tv_standard, "0: PAL, 1: NTSC");
 MODULE_PARM_DESC(no_watchdog, "0: wd enabled, 1: wd disabled");
 MODULE_PARM_DESC(firmware, "path to microcode");
+
Ich versteh da leider nur Bahnhof... :(