Re: Wie S/PDIF-Eingang auf Lautsprecher umleiten
Am Thursday 15 January 2009 21:44:07 schrieb Hans-Jürgen Becker:
> Um die Entsprechung zu dem Regler "Digital" zu finden, könntest Du die
> Ausgabe von 'amixer contents' in eine Datei umleiten, dann den Regler in
[...]
Danke für diesen Hinweis. Ich habe mir die Ausgaben von amixer unter
Verwendung verschiedener Parameter noch einmal angesehen und tatsächlich eine
Entsprechung für diesen Regler gefunden. Ich war wohl etwas blind, weil der
Regler sogar in amixer mit "Digital" bezeichnet wird :-].
> Die Anmerkungen von Rainer bezüglich buggy driver kann ich mangels
> entsprechender Erfahrungen leider nicht bestätigen. Was ich aber aus
> eigener Erfahrung sagen kann, ist, dass alsa so ziemlich das mit diesem
> Verbreitungsgrad vorkommende "most buggiest project" bzgl. *Dokumentation*
> ist, dass mir bisher untergekommen ist :-|. Deshalb kann ich auch nach
> umfangreicher Suche leider keine Antwort auf die Frage
Vielen Dank für die Mühe. Meine eigene Suche, welche sich inzwischen über zwei
Wochen erstreckt, ist bisher, zu diesem Thema, ebenfalls erfolglos
verlaufen :-(.
>
> > values=[AES0=0x04 AES1=0x00 AES2=0x00 AES3=0x00]
>
> geben. Weder die manpage, noch das alsa-wiki oder sonstige Dokumentation
> erklären, welche Ausgabe von amixer erzeugt wird, wenn ich mich nicht
> täusche. Bleibt wohl nur das Lesen des Quellcodes.
>
Habe mir tatsächlich die Quellen geholt und einen Blick hinein geworfen.
Soweit ich feststellen konnte, schreibt amixer obiges dann heraus, wenn es
sich um ein unbekanntes Element der Soundkarte handelt. Offenbar muss im
Treiber für jede Soundkarte und jede Inkarnation derselben Informationen über
deren Elemente vorhanden sein. Wenn nun bei einer zum Treiber kompatiblen
Soundkarte Elemente enthalten sind, die nicht in der Elementebeschreibung des
Treibers enthalten sind, dann liest amixer (eigentlich der Treiber) die
Register des Elements und die verfügbaren Informationen darüber und stellt
sie wie oben dar. Leider sind solche Elemente nicht änderbar :-(.
> Auch wenn ich damit eventuell Prügel ernte:
>
> Hast Du die Möglichkeit, mittels Windoze auszuschließen, ob eventuell auf
> Deinem Board hardwaremäßig kein Capture von S/PDIF möglich ist?
>
Windows? Was ist das?
Nun, Windows habe ich nicht und es ist natürlich keine Option. Allerdings kann
ich der Dokumentation, welche mit dem Mutterbord kam entnehmen, dass es in
Windows zumindest einen Switch mehr gibt, mit dem man ein "Loop through"
aktivieren kann. Etwas, das es bis zum ICH7 Chipsatz nicht in dieser Form gab
und erst mit dem ICH8 eingeführt wurde. Da ALSA ICH8 aber nicht explizit
unterstützt, fehlt diese Option natürlich. Vielleicht kommt das ja noch
<hoff>.
Allerdings ist es mir gelungen, das Problem mittels Software zu lösen. Mittels
der folgenden Befehle kann ich den S/PDIF Stream hörbar machen:
ecasound -f 16,2,48000 -i alsa,spdif:0 -o alsa,hw:0
arecord -f dat -D spdif:0 | aplay -f dat -D hw:0
Der zweite Befehl (arecord ...) hat allerdings den Nachteil, dass der Ton dann
nicht mehr ganz Lippensynchron zum Film ist. Zu dem erzeugt der Befehl eine
Datei auf der Festplatte die ständig wächst (pseudo piping). Vergisst man
diese zu löschen, ist die Platte irgendwann voll :-/.
Auch beim ersten Befehl ist bei genauem Hinsehen eine leichte Asynchronität
des Tons festzustellen, aber es hält sich in Grenzen und ist durchaus
brauchbar. Zu dem entsteht keine Datei, was dazu geführt hat, dass ich diesen
Befehl nun verwende. Damit ist mein Problem vorläufig gelöst.
--
Andreas Theofilu
TheoSys - Software Systems and Solutions
http://www.theosys.at
Tel.: +43 676 / 786 53 89
Reply to: