optischer Ausgang knarzen beim Umschalten auf AC3
-
- Tuxboxer
- Beiträge: 5873
- Registriert: Samstag 23. Februar 2002, 22:46
Re: optischer Ausgang knarzen beim Umschalten auf AC3
@ Tommy
Hast Du eigentlich auch mit dem IDE Interface beim abspielen von Filmen mit AC-3 Tonspur Probleme? (knacken beim Spulen)
Das Problem habe ich erst seit kurzem sonst ging das spuelen immer recht flüssig, jetzt knackts aber bei jedem Spulen und es dauert ca. 2sek bis der Ton und das Bild kommt. (Buffer ist natürlich abgeschaltet, denn damit wirds ja noch schlimmer).
Gruß Gorcon
Hast Du eigentlich auch mit dem IDE Interface beim abspielen von Filmen mit AC-3 Tonspur Probleme? (knacken beim Spulen)
Das Problem habe ich erst seit kurzem sonst ging das spuelen immer recht flüssig, jetzt knackts aber bei jedem Spulen und es dauert ca. 2sek bis der Ton und das Bild kommt. (Buffer ist natürlich abgeschaltet, denn damit wirds ja noch schlimmer).
Gruß Gorcon
-
- Tuxboxer
- Beiträge: 4332
- Registriert: Dienstag 7. Mai 2002, 17:04
Re: optischer Ausgang knarzen beim Umschalten auf AC3
Ich habe bis dato keine AC3 Aufnahmen auf HD (weil mir die entsprechende Audiokomponente bis vor kurzem fehlte) Ich werd das aber beizu mal testenGorcon hat geschrieben:@ Tommy
Hast Du eigentlich auch mit dem IDE Interface beim abspielen von Filmen mit AC-3 Tonspur Probleme? Gruß Gorcon
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: optischer Ausgang knarzen beim Umschalten auf AC3
Wenn du das rausfindest und dokumentierst, dann wäre das schonmal ein guter AnsatzTommy hat geschrieben:Da die zapTo_serviceID_NOWAIT() in zapit.cpp ist wäre vermutl doch dort der beste Ort?! Bei meinen gestrigen Versuchen habe ich ja nicht den controld benutzt - vieleicht war das der Fehler. Bei den vielen Experimenten die ich gestartet habe, hätte ich eigentlich vermutet das irgendwann der Ton mal komplett weg ist da er irgendwo nicht wieder eingeschaltet wird. Aber selbst das ist nicht passiert. Was mir fehlt ist eine Übersicht über die Struktur der Gesamtsoftware. Was hat Einfluß auf was und welcher daemon erfüllt welchen Zweck.
Ich wollte da auch schonmal aufräumen, aber wie das so ist...
Nein. zapit braucht controld bisher garnicht. Controld benutzt zapit, um das (OST)-Audiodevice anzusprechen:IMO nutzt neutrino.cpp (und jeder andere Prozess) die zapit.cpp zum Umschalten. Die zapit nutzt dann den controld um die devices anzusteuern.
Code: Alles auswählen
seife@susi:/local/seife/src/tuxbox-devel/apps/dvb/zapit> grep controld -ri .
./src/zapit.cpp:/* without SET_DISPLAY_FORMAT, controld cannot correct the aspect ratio in movieplayer */
seife@susi:/local/seife/src/tuxbox-devel/apps/tuxbox/neutrino/daemons/controld> cd ../../tuxbox/neutrino/daemons/controld/
seife@susi:/local/seife/src/tuxbox-devel/apps/tuxbox/neutrino/daemons/controld> grep -r zapit .
./controld.cpp:#include <zapit/client/zapitclient.h>
./controld.cpp:CZapitClient zapit;
./controld.cpp: zapit.setDisplayFormat(videoDisplayFormat);
./controld.cpp: //zapit.setStandby(false);
./controld.cpp: zapit.muteAudio(false);
./controld.cpp: zapit.startPlayBack();
./controld.cpp: //zapit.setStandby(true);
./controld.cpp: zapit.muteAudio(true);
./controld.cpp: zapit.stopPlayBack();
./controld.cpp: zapit.setVolume(map_volume(msg_commandVolume.volume, false), map_volume(msg_commandVolume.volume, false));
./controld.cpp: zapit.muteAudio(settings.mute);
./controld.cpp: zapit.setVolume(map_volume(settings.volume, false), map_volume(settings.volume, false));
./controld.cpp: zapit.muteAudio(settings.mute);
Das geht natürlich so erstmal nicht, da du ja ein controld-Objekt erzeigen mußt etc. Das merkst du aber beim Kompilieren...Also laufen in der zapit.cpp beim Senderwechsel alle Fäden zusammen. Das sieht man auch sehr gut wenn man die zapit im debug startet. Man sieht auch, das beim zappen auf einen AC3 Sender mehr cmd's kommen (/include/zapit/client/msgtypes.h) Allerdings haben die cmd's nix mit Audio zu tun. Also sind diese entweder nicht in der debugausgabe oder "Audio" findet eine Ebene tiefer im controld statt.
Ich werde heute abend mal den WAF weiter strapazieren (ich kann diese Tests leider nur im Wohnzimmer durchführen) und folgendes in die zapit einbauen "+":Code: Alles auswählen
case CZapitMessages::CMD_ZAPTO_SERVICEID_NOWAIT: case CZapitMessages::CMD_ZAPTO_SUBSERVICEID_NOWAIT: { CZapitMessages::commandZaptoServiceID msgZaptoServiceID; CBasicServer::receive_data(connfd, &msgZaptoServiceID, sizeof(msgZaptoServiceID)); + int oldvolume = controld->getVolume(); + controld->setVolume(0); zapTo_ChannelID(msgZaptoServiceID.channel_id, (rmsg.cmd == CZapitMessages::CMD_ZAPTO_SUBSERVICEID_NOWAIT)); + controld->setVolume(oldvolume); break; }
-
- Administrator
- Beiträge: 2675
- Registriert: Donnerstag 28. September 2006, 19:18
Re: optischer Ausgang knarzen beim Umschalten auf AC3
Ich habe mal gaudihalber meine Spielbox digital an meine Soundkarte angeschlossen. Die Karte kann kein AC3. Das Geräusch ist da permanent nachvollziehbar. Also meine Meinung ist die, das der Receiver wohl zu träge ist. Mit einem mute geht das aber auch nicht weg. Ob es sich lohnt da dran zu schrauben...?
-
- Tuxboxer
- Beiträge: 4332
- Registriert: Dienstag 7. Mai 2002, 17:04
Re: optischer Ausgang knarzen beim Umschalten auf AC3
@seife:
Danke das Du mich nicht in die Falle tappen läßt
In neutrino.cpp wird ein objekt erzeugt:
in remotecontrol gibt es so ein Objekt nicht - kann ich es dort auf die gleiche art erzeugen? Muß ich noch was "includen"?
und dann ist mir in remotecontrol diese schnuckelige funktion aufgefallen:
Selbst wenn die nur angesprungen wird bei der Menüauswahl der Tonspur ist es ein super Testkandidat weil beim auswählen in richtung AC3 knarzt es. Mir geht es ja in erster Linie darum den Beweis zu erbringen. Systemweit muß es Jemand mit mehr Ahnung implementieren
Danke das Du mich nicht in die Falle tappen läßt
In neutrino.cpp wird ein objekt erzeugt:
Code: Alles auswählen
g_Controld = new CControldClient;
und dann ist mir in remotecontrol diese schnuckelige funktion aufgefallen:
Code: Alles auswählen
void CRemoteControl::setAPID( uint APID )
{
if ((current_PIDs.PIDs.selected_apid == APID ) ||
(APID >= current_PIDs.APIDs.size()))
return;
current_PIDs.PIDs.selected_apid = APID;
g_Zapit->setAudioChannel( APID );
}
-
- Tuxboxer
- Beiträge: 4332
- Registriert: Dienstag 7. Mai 2002, 17:04
Re: optischer Ausgang knarzen beim Umschalten auf AC3
Naja - es gibt Schlechtere als Denon Das mit dem Mute hatte ich auch schon festgestellt - das knarzt dann nicht sofort sondern erst wenn man wieder "unmuted". Konntest Du das "Nichtknarzen" bei Volume= 0 (also nicht Mute sondern ganz leise) nachvollziehen?dbt hat geschrieben:Ich habe mal gaudihalber meine Spielbox digital an meine Soundkarte angeschlossen. Die Karte kann kein AC3. Das Geräusch ist da permanent nachvollziehbar. Also meine Meinung ist die, das der Receiver wohl zu träge ist. Mit einem mute geht das aber auch nicht weg. Ob es sich lohnt da dran zu schrauben...?
-
- Administrator
- Beiträge: 2675
- Registriert: Donnerstag 28. September 2006, 19:18
Re: optischer Ausgang knarzen beim Umschalten auf AC3
Da hast Du rechtNaja - es gibt Schlechtere als Denon
Bei meinem "Experiment" knarzt das permanent. Auch bei 0. Ich bemerke nur eine kurze Pause im Knarzgeräusch beim umschalten auf AC3 und dann gib ihm... nichts für empfindliche Ohren! ...
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: optischer Ausgang knarzen beim Umschalten auf AC3
Includen mußt du nix, denn controldclient/controldclient.h wird in global.h included.Tommy hat geschrieben:@seife:
Danke das Du mich nicht in die Falle tappen läßt
In neutrino.cpp wird ein objekt erzeugt:in remotecontrol gibt es so ein Objekt nicht - kann ich es dort auf die gleiche art erzeugen? Muß ich noch was "includen"?Code: Alles auswählen
g_Controld = new CControldClient;
Du mußt (vermutlich) auch in remotecontrol.cpp kein neues controld-Objekt erzeugen, sondern kannst einfach g_Controld->foo() machen.
Sehr schön. Alsound dann ist mir in remotecontrol diese schnuckelige funktion aufgefallen:
Code: Alles auswählen
void CRemoteControl::setAPID( uint APID )
{
if ((current_PIDs.PIDs.selected_apid == APID ) ||
(APID >= current_PIDs.APIDs.size()))
return;
unsigned char old_volume = g_Controld->getVolume();
g_Controld->setVolume(0);
current_PIDs.PIDs.selected_apid = APID;
g_Zapit->setAudioChannel( APID );
g_Controld->setVolume(old_volume);
}
Genau, und das sollte damit möglich sein.Selbst wenn die nur angesprungen wird bei der Menüauswahl der Tonspur ist es ein super Testkandidat weil beim auswählen in richtung AC3 knarzt es. Mir geht es ja in erster Linie darum den Beweis zu erbringen.
Ein printf rein, damit du im log siehst, wann die Funktion genau angesprungen wird, kann auch nicht schaden
Ach was, das schaffst du schon. Jeder hat mal so angefangenSystemweit muß es Jemand mit mehr Ahnung implementieren
-
- Tuxboxer
- Beiträge: 4332
- Registriert: Dienstag 7. Mai 2002, 17:04
Re: optischer Ausgang knarzen beim Umschalten auf AC3
die Testversion ist fertig nur habe ich heute abend Wohnzimmer-Testverbot Weiberrunde - > ich verpiss mich lieber dann mal zu den Kumpels auf ein Bier
@seife - wenns bei Dir compiled hat kannst Du vllt. deine neutrino mal Thulsadoom schicken
@Thulsa - wenn es funktioniert wie ich mir denke wirkt sich das erstmal nur aus wenn Du auf einem AC3 Channel bist und mit grün die Audiospuren wechselst
Ansonsten gibts von mir morgen abend den Testbericht.
@seife - wenns bei Dir compiled hat kannst Du vllt. deine neutrino mal Thulsadoom schicken
@Thulsa - wenn es funktioniert wie ich mir denke wirkt sich das erstmal nur aus wenn Du auf einem AC3 Channel bist und mit grün die Audiospuren wechselst
Ansonsten gibts von mir morgen abend den Testbericht.
-
- Einsteiger
- Beiträge: 116
- Registriert: Montag 29. März 2004, 22:00
Re: optischer Ausgang knarzen beim Umschalten auf AC3
huhu,
hilft jetzt vielleicht nicht grad weiter, aber anmerken wollt ich es hier trotzdem mal noch.
also ich hab hier eine nokia sat 2xi avia500.
verwendet wird avia500v110, avia600vb022 und ucode_0014 (built-in).
box ist auch nur mit einem optischen kabel an einem denon (avc) angeschlossen.
dolby digital default steht auf ein, volume steuerung steht normalerweise auf lirc, hab jetzt aber zum test auch mit avs und ost probiert (jeweils auf 100%).
bei mir kommt kein knarcksen oder sonst irgendein störgeräusch.
es wird einfach ganz normal der ton umgeschaltet.
hab alle oben genannten variationen mehrmals durchgeschaltet, aber hat nie was komisches gemacht dabei.
achso, und image ist ein eigen-compilat ausm cvs vom 28.10.2007.
mfg
wittinobi
hilft jetzt vielleicht nicht grad weiter, aber anmerken wollt ich es hier trotzdem mal noch.
also ich hab hier eine nokia sat 2xi avia500.
verwendet wird avia500v110, avia600vb022 und ucode_0014 (built-in).
box ist auch nur mit einem optischen kabel an einem denon (avc) angeschlossen.
dolby digital default steht auf ein, volume steuerung steht normalerweise auf lirc, hab jetzt aber zum test auch mit avs und ost probiert (jeweils auf 100%).
bei mir kommt kein knarcksen oder sonst irgendein störgeräusch.
es wird einfach ganz normal der ton umgeschaltet.
hab alle oben genannten variationen mehrmals durchgeschaltet, aber hat nie was komisches gemacht dabei.
achso, und image ist ein eigen-compilat ausm cvs vom 28.10.2007.
mfg
wittinobi
-
- Tuxboxer
- Beiträge: 4332
- Registriert: Dienstag 7. Mai 2002, 17:04
Re: optischer Ausgang knarzen beim Umschalten auf AC3
Jo - ich vermute das es ein Avia 600 Problem ist und evtl. auch nur bei Sagem auftritt. Anders kann ich mir nicht erklären das so wenig Leute betroffen sind.
BTW: evtl. nutzen auch nur wenig Leute SPDIF only
BTW: evtl. nutzen auch nur wenig Leute SPDIF only
-
- Erleuchteter
- Beiträge: 600
- Registriert: Samstag 14. Oktober 2006, 10:53
Re: optischer Ausgang knarzen beim Umschalten auf AC3
Also, ich habe SPDIF only, zwei Sagems (1x & 2x) und keinerlei Geknackse. Allerdings 'nen Sony-Receiver. Alles Bestens.Tommy hat geschrieben:...und evtl. auch nur bei Sagem auftritt. Anders kann ich mir nicht erklären das so wenig Leute betroffen sind.
BTW: evtl. nutzen auch nur wenig Leute SPDIF only
Ich vermute mal stark, dass Dein Receiver/Verstärker die Schwachstelle ist ("dekodieren" von unvollständigen Paketen, Sony scheint sowas zu filtern...) und Du von der dbox-Seite nicht weiterkommen wirst. Aber - ich lasse mich natürlich gerne vom Gegenteil überzeugen. ;-)
-
- Tuxboxer
- Beiträge: 4332
- Registriert: Dienstag 7. Mai 2002, 17:04
Re: optischer Ausgang knarzen beim Umschalten auf AC3
@seife:
seh ich das richtig, das die remotecontrol.cpp nach dem compilieren IM neutrino binary ist? Wenn ja siehts schlecht aus. Habe die Änderung in remotecontrol.cpp gemacht und nach dem compilen die neutrino nach tmp gelegt und von dort gestartet. Das knarzen ist nach wie vor. Sieht man printf's am telnet wenn das binary händisch gestartet ist? Habe gerade mal ein paar eingebaut um zu sehen ob der code da überhaupt verwurstet wird.
EDIT:
mangels serieller console habe ich einen weiteren test gemacht. Ich habe das g_Controld->setVolume(old_volume); einfach mal auskommentiert und sehe nun das es ausgeführt wird - Lautstärke ist auf 0 nach dem APID Wechsel. Leider scheint der controld nicht schnell genug zu sein. Kann man was einbauen, was auf g_Controld->setVolume(0); wartet? meinetwegen auch testweise ein sleep/wait.
seh ich das richtig, das die remotecontrol.cpp nach dem compilieren IM neutrino binary ist? Wenn ja siehts schlecht aus. Habe die Änderung in remotecontrol.cpp gemacht und nach dem compilen die neutrino nach tmp gelegt und von dort gestartet. Das knarzen ist nach wie vor. Sieht man printf's am telnet wenn das binary händisch gestartet ist? Habe gerade mal ein paar eingebaut um zu sehen ob der code da überhaupt verwurstet wird.
EDIT:
mangels serieller console habe ich einen weiteren test gemacht. Ich habe das g_Controld->setVolume(old_volume); einfach mal auskommentiert und sehe nun das es ausgeführt wird - Lautstärke ist auf 0 nach dem APID Wechsel. Leider scheint der controld nicht schnell genug zu sein. Kann man was einbauen, was auf g_Controld->setVolume(0); wartet? meinetwegen auch testweise ein sleep/wait.
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: optischer Ausgang knarzen beim Umschalten auf AC3
Die printf's sieht du in der Konsole, wo du das Programm gestartet hast, also in deinem Fall im telnet.
sleep(1);
nach dem g_Controld->setVolume(0); läßt neutrino eine Sekunde schlafen, vor es weiter macht.
sleep(1);
nach dem g_Controld->setVolume(0); läßt neutrino eine Sekunde schlafen, vor es weiter macht.
-
- Tuxboxer
- Beiträge: 4332
- Registriert: Dienstag 7. Mai 2002, 17:04
Re: optischer Ausgang knarzen beim Umschalten auf AC3
ich dreh bald durch hier zur Zeit compiled dies:
die beiden sleep(2) sorgen für eine ordentliche Verzögerung nur knarzt es trotzdem. Leider sehe ich die printf's nicht am telnet sonst hätte ich hinter jeden Step eins gesetzt. Das kuriose ist, dass wenn ich volume nicht wieder hochsetze das knarzen ausbleibt. Daher meine "übernächste" Überlegung - abchecken in welche Richtung der Wechsel geht. Geht es zu AC3 dann Lautstärke merken (Datei) und auf Null setzen und lassen. Geht es in Richtung PCM dann Lautstärke holen und setzen (im Zweifel auf 50%)
EDIT:
zum code oben - das faden in 1er Schritten gibt nen Timeout (dauert vermutl. zu lange)
Die printf's krieg ich doch am telnet. Man sollte doch mal noch ein \n dahinter setzen weil "HackHack" fällt kaum auf
Code: Alles auswählen
unsigned char old_volume = g_Controld->getVolume();
int new_volume = 0;
printf("Hack");
g_Controld->setVolume(0);
//while ( g_Controld->getVolume() != 0 ){}
sleep(2);
current_PIDs.PIDs.selected_apid = APID;
g_Zapit->setAudioChannel( APID );
sleep(2);
while ( new_volume < old_volume )
{
new_volume++;
g_Controld->setVolume(new_volume);
}
printf("Hack");
EDIT:
zum code oben - das faden in 1er Schritten gibt nen Timeout (dauert vermutl. zu lange)
Die printf's krieg ich doch am telnet. Man sollte doch mal noch ein \n dahinter setzen weil "HackHack" fällt kaum auf
-
- Developer
- Beiträge: 2183
- Registriert: Mittwoch 10. Dezember 2003, 07:59
Re: optischer Ausgang knarzen beim Umschalten auf AC3
mach mal hinter den "Hack"s ein \n dann werden die prints sofort geflusht
-
- Tuxboxer
- Beiträge: 4332
- Registriert: Dienstag 7. Mai 2002, 17:04
Re: optischer Ausgang knarzen beim Umschalten auf AC3
@Houdini: hatte ich schon rausgefunden ;-) Nur ist mir die Syntax von printf nicht klar geht irgendwie nicht
@All
Nach ettlichen Fehlschlägen gestern mein neuer Plan:
1. Umschaltung auf AC3 identifiziern
1.1 Richtung AC3 -> Volume auf 0 setzen und vorherigen Stand merken -> APID umschalten
1.2. Richtung PCM -> APID umschalten -> vorherigen Stand holen und setzen
Gibt es in der config einen wert, der die aktuelle Lautstärke verkörpert? Wenn nein woher kommt die Lautstärke nach dem einschalten der Box? Was macht mehr sinn - eine neutrinoweite variable nutzen oder die settings?
Es gibt in der config einen Wert Wird dieser Wert ständig gesetzt oder ist das ein Menüparameter. Wenn er ständig geändert wird - vor oder nach dem umschalten der APID. (wäre dann die Lösung für 1.) Wenn es da nicht weitergeht - woher bekomme ich die info ob die APID (zu der hingeschaltet werden soll) != AC3 ist?
Und schließlich und vermutl. die leichteste Frage ist g_settings. auch in remotecontrol.cpp und zapit.cpp verfügbar?
Achso - bisher mache ich immer einen flash-semiclean und stoße dann ein image an. Das dauer aber immer 8-10 Min um eine Testversion zu haben. Mir war so, dass es auch ein target "neutrino" gibt. Wird da der zapit mitgebaut, muß ich vorher was cleanen und wo finde ich dann die files (cdkroot?)?
Sorry wenn ich Euch nerve aber ich will da jetzt mal durch ;-)
Code: Alles auswählen
printf( variable, "<- Das ist mein Wert")
@All
Nach ettlichen Fehlschlägen gestern mein neuer Plan:
1. Umschaltung auf AC3 identifiziern
1.1 Richtung AC3 -> Volume auf 0 setzen und vorherigen Stand merken -> APID umschalten
1.2. Richtung PCM -> APID umschalten -> vorherigen Stand holen und setzen
Gibt es in der config einen wert, der die aktuelle Lautstärke verkörpert? Wenn nein woher kommt die Lautstärke nach dem einschalten der Box? Was macht mehr sinn - eine neutrinoweite variable nutzen oder die settings?
Es gibt in der config einen Wert
Code: Alles auswählen
g_settings.audio_DolbyDigital
Und schließlich und vermutl. die leichteste Frage ist g_settings. auch in remotecontrol.cpp und zapit.cpp verfügbar?
Achso - bisher mache ich immer einen flash-semiclean und stoße dann ein image an. Das dauer aber immer 8-10 Min um eine Testversion zu haben. Mir war so, dass es auch ein target "neutrino" gibt. Wird da der zapit mitgebaut, muß ich vorher was cleanen und wo finde ich dann die files (cdkroot?)?
Sorry wenn ich Euch nerve aber ich will da jetzt mal durch ;-)
-
- Moderator english
- Beiträge: 2458
- Registriert: Donnerstag 20. Dezember 2001, 00:00
Re: optischer Ausgang knarzen beim Umschalten auf AC3
Make Neutrino ..?
-
- Erleuchteter
- Beiträge: 600
- Registriert: Samstag 14. Oktober 2006, 10:53
Re: optischer Ausgang knarzen beim Umschalten auf AC3
Probier malTommy hat geschrieben:...die Syntax von printf nicht klargeht irgendwie nichtCode: Alles auswählen
printf( variable, "<- Das ist mein Wert")
Code: Alles auswählen
printf("%d <- Das ist mein Wert\n", variable);
Vergiss das "\n" nicht, sonst wunderst Du Dich, warum die Ausgabe zu spät kommt.
-
- Tuxboxer
- Beiträge: 4332
- Registriert: Dienstag 7. Mai 2002, 17:04
Re: optischer Ausgang knarzen beim Umschalten auf AC3
Hiho,
folgender code funktioniert zu 50% - manchmal knarzt es manchmal nicht.
Frage: kann ich den AVIA resetten aus neutrino? Evtl. den Watchdog auslösen osder sowas? Ich würde gerne statt dem sleep(2) den AVIA zurücksetzen. Evtl ist es ja wirklich nur Müll in dessen RAM was da noch durch den SPDIF gedrückt wird?!?!
folgender code funktioniert zu 50% - manchmal knarzt es manchmal nicht.
Frage: kann ich den AVIA resetten aus neutrino? Evtl. den Watchdog auslösen osder sowas? Ich würde gerne statt dem sleep(2) den AVIA zurücksetzen. Evtl ist es ja wirklich nur Müll in dessen RAM was da noch durch den SPDIF gedrückt wird?!?!
void CRemoteControl::setAPID( uint APID )
{
if ((current_PIDs.PIDs.selected_apid == APID ) ||
(APID >= current_PIDs.APIDs.size()))
return;
/* Tommys AC3 Hack */
if ( current_PIDs.APIDs[APID].is_ac3 )
{
g_Controld->setVolume(0);
printf("switch to AC3 detected - Volume to Zero and sleep 2\n");
hier würde ich gerne den AVIA resetten
sleep(2);
}
else
{
printf("switch to PCM detected - Volume to 50\n");
g_Controld->setVolume(50);
}
current_PIDs.PIDs.selected_apid = APID;
g_Zapit->setAudioChannel( APID );
}
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: optischer Ausgang knarzen beim Umschalten auf AC3
Welchen?Tommy hat geschrieben:Frage: kann ich den AVIA resetten aus neutrino?
-
- Tuxboxer
- Beiträge: 4332
- Registriert: Dienstag 7. Mai 2002, 17:04
Re: optischer Ausgang knarzen beim Umschalten auf AC3
frag mich nicht - den der für den SPDIF zuständig ist. Der soll einfach sein RAM von Restmüll befreien und bei Null starten. Scheinbar merkt der ja nicht das das was er rausschickt - naja - nicht optimal ist.seife hat geschrieben:Welchen?Tommy hat geschrieben:Frage: kann ich den AVIA resetten aus neutrino?
Log nach mehrmaligen knarzen
/proc/bus # cat avia_debug
Debug:
PROC_STATE: 4
MRC_ID: 0x31
MRC_STATUS: 4
INT_STATUS: 0
BUFF_INT_SRC: 0
UND_INT_SRC: 0
ERR_INT_SRC: 0
VIDEO_EMPTINESS: 0x17ae4
AUDIO_EMPTINESS: 0x4ea8
N_SYS_ERRORS: 4
N_VID_ERRORS: 3
N_AUD_ERRORS: 0
N_VID_DECODED: 28272
N_AUD_DECODED: 35633
VSYNC_HEARTBEAT: 0x05bc80
ML_HEARTBEAT: 0x52fcf5
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: optischer Ausgang knarzen beim Umschalten auf AC3
Also "pzapit --pal" resettet den avia500/avia600, da mußt du halt mal schauen, was da genau gemacht wird.
Der verliert dabei aber auch teilweise seine Einstellungen (das ist ein Treiber-Bug), wie z.B. 4:3 / 16:9 etc.
Der verliert dabei aber auch teilweise seine Einstellungen (das ist ein Treiber-Bug), wie z.B. 4:3 / 16:9 etc.
-
- Tuxboxer
- Beiträge: 4332
- Registriert: Dienstag 7. Mai 2002, 17:04
Re: optischer Ausgang knarzen beim Umschalten auf AC3
was ich nebenbei gefunden habe: pzapit --iecon und pzapit --iecoff (optisch an/aus)seife hat geschrieben:Also "pzapit --pal" resettet den avia500/avia600, da mußt du halt mal schauen, was da genau gemacht wird.
Der verliert dabei aber auch teilweise seine Einstellungen (das ist ein Treiber-Bug), wie z.B. 4:3 / 16:9 etc.
Ich muß morgen nur noch rausfinden wie ich das aus der remotecontrol.cpp triggern kann.
Für heute ist erstmal Feierabend
-
- Tuxboxer
- Beiträge: 4332
- Registriert: Dienstag 7. Mai 2002, 17:04
Re: optischer Ausgang knarzen beim Umschalten auf AC3
Ja, Ja, Ja
es f-u-n-z-t !!!!!! Der Beweis ist erbracht:
Das ist mit Sicherheit richtig besch..en von der Machart aber besser kann ichs (im Moment) nicht. Zur Erklärung:
1. Rauskriegen ob die Umschaltung Richtung AC3 geht
2. Falls ja - IEC aus - APID wechseln - IEC ein
3. Falls nein - business as usual
Der riesen Vorteil gegenüber allen anderen Ansätzen - ich muß mir die Lautstärke nirgendwo merken
Da ich nicht rausbekommen habe, wie man den die Funktion im pzapit direkt anstößt hab ichs halt außenrum gemacht. Zeitliche Verzögerung beim Umschalten -> AC3 ist minimal (besser als sleep(2) allemal) dafür geht der APID Wechsel nun völlig geräuschlos von sich.
Leider ist die o.g. Funktion nur zuständig für die APID Auswahl über grüne Taste. Das müßte jetzt Systemweit eingebaut werden (sprich bei jedem Wechsel ->AC3) und evtl. per /.ac3hack configuriert werden. Da das Problem nur wenige betrifft halte ich einen zusätzlichen Menüpunkt für überflüssig.
@seife:
was ich nicht verstehe ist warum das überhaupt geht (erste Zeile):
pzapit.cpp
@All:
Danke Allen die mir bis hierher geholfen haben. Wer ein neutrino binary zum testen braucht -> melden
es f-u-n-z-t !!!!!! Der Beweis ist erbracht:
Code: Alles auswählen
void CRemoteControl::setAPID( uint APID )
{
if ((current_PIDs.PIDs.selected_apid == APID ) ||
(APID >= current_PIDs.APIDs.size()))
return;
/* Tommys AC3 Hack */
int result = 0;
if ( current_PIDs.APIDs[APID].is_ac3 )
{
printf("switch to AC3 detected - IEC -> OFF\n");
result = system("pzapit --iecoff");
current_PIDs.PIDs.selected_apid = APID;
g_Zapit->setAudioChannel( APID );
result = system("pzapit --iecon");
}
else
{
printf("switch to PCM detected - \n");
current_PIDs.PIDs.selected_apid = APID;
g_Zapit->setAudioChannel( APID );
}
}
1. Rauskriegen ob die Umschaltung Richtung AC3 geht
2. Falls ja - IEC aus - APID wechseln - IEC ein
3. Falls nein - business as usual
Der riesen Vorteil gegenüber allen anderen Ansätzen - ich muß mir die Lautstärke nirgendwo merken
Da ich nicht rausbekommen habe, wie man den die Funktion im pzapit direkt anstößt hab ichs halt außenrum gemacht. Zeitliche Verzögerung beim Umschalten -> AC3 ist minimal (besser als sleep(2) allemal) dafür geht der APID Wechsel nun völlig geräuschlos von sich.
Leider ist die o.g. Funktion nur zuständig für die APID Auswahl über grüne Taste. Das müßte jetzt Systemweit eingebaut werden (sprich bei jedem Wechsel ->AC3) und evtl. per /.ac3hack configuriert werden. Da das Problem nur wenige betrifft halte ich einen zusätzlichen Menüpunkt für überflüssig.
@seife:
was ich nicht verstehe ist warum das überhaupt geht (erste Zeile):
pzapit.cpp
Code: Alles auswählen
#ifndef HAVE_DREAMBOX_HARDWARE
if (Iecon)
{
std::cout << "Iec on" << std::endl;
zapit.IecOn();
return 0;
}
if (Iecoff)
{
std::cout << "Iec off" << std::endl;
zapit.IecOff();
return 0;
}
Danke Allen die mir bis hierher geholfen haben. Wer ein neutrino binary zum testen braucht -> melden