[gelöst] seltsames Problem mit Dolby Digital über HDMI: bei AC3 nur PCM-Ton oder lautes, kratzendes Rauschen

  • So. Ich habe das Problem nun gelöst, in dem ich das softhddevice selber compiliert habe - erweitert um den iecset-Aufruf direkt nach dem Öffnen des Alsa-Devices. Das sieht momentan noch so aus: (in audio.c in AlsaOpenPCM direkt nach Öffnen des Devices)

    Code
    1. if (1) {
    2. char * systemExecStr;
    3. int systemExecStatus;
    4. systemExecStr = passthrough ? "iecset -c 1 -n 1 audio off" : "iecset -c 1 -n 1 audio on";
    5. systemExecStatus = system(systemExecStr);
    6. Info(_("audio/alsa: SystemExec(%s) returned %d\n"), systemExecStr, systemExecStatus);
    7. }


    Das klappt für mich soweit.


    Jetzt möchte ich natürlich nicht immer das Plugin für mich selber neu compilieren und frage ich mich, auf welche Weise da ein Patch auch für andere interessant sein könnte:


    Ich stelle mir vor, dass es zwei neue Parameter für das Plugin gibt - einen mit dem Befehl, der beim Öffnen des Passthough-Devices ausgeführt werden soll, einen beim Öffnen des "normalen" Audio-Devices. Default wäre, dass keine Befehle gesetzt und ausgeführt werden. Damit würde sich für die meisten User nichts ändern. Wer aber das (oder ein ähnliches) Problem hat, kann die Parameter eintragen.


    Meiner Recherche nach gibt es das Problem gar nicht so selten, sodass vielleicht andere davon provitieren.


    Was meint Ihr: Ist das so eine gute Idee? Soll ich so einen Patch fertig machen? Wer würde den ins Plugin übernehmen? An wen sollte ich mich wenden?

  • dsteinkopf :


    Warum gibts Du softhddevice nicht einfach die passenden AES-Parameter mit?
    Dann kannst Du Dir den Aufwand mit dem einkompilierten iecset-Aufruf doch komplett sparen?


    CafeDelMar


    EDIT: Gerade erst gesehen, dass Du das bereits probiert hast. Das Format funktioniert aber so glaube ich nicht, wie Du es gemacht hast.

  • Wie sieht es dann damit aus:


    Code
    1. "-a hdmi:AES0=0x4,CARD=0 -p hdmi:AES0=0x6,CARD=0"


    Wenn es nicht hdmi ist, hdmi durch iec958 tauschen.


    Wenn es bei Dir Device 7 ist, auch ruhig mal an beide Aufrufe ",DEV=7" anhängen, aber erst mal ohne probieren.


    CafeDelMar

  • johns ist Autor und Maintainer des Plugins.


    So geht's auch nicht?
    http://www.vdr-portal.de/board…vdr/p1119334-#post1119334


    Auch nicht, wenn du CARD= und DEV= bei dir ergänzt?


    Hier ist auch noch etwas, was ich gefunden habe. Was sagt denn deine NVidia-Karte in dmesg?
    http://www.spinics.net/linux/fedora/alsa-user/msg09440.html


    Lars.

  • Hurra, so klappt's jetzt ohne Patch:

    Code
    1. -a hdmi:CARD=NVidia,DEV=1,AES0=0x04
    2. -p hdmi:CARD=NVidia,DEV=1,AES0=0x06


    Das ist natürlich viel besser als ein dämlicher Workaround-Patch. (Ohne "DEV=1" gings auch nicht. So wie's jetzt ist, finde ich es auch akzeptabel "schick")


    Auf die Idee, das mit "hdmi:" zu machen, war ich schon gekommen, hatte es aber ausgeschlossen, weil mit aplay -L suggeriert hat, dass das nicht in Frage kommt.


    VIELEN Dank für Eure Hilfe.