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)
if (1) {
char * systemExecStr;
int systemExecStatus;
systemExecStr = passthrough ? "iecset -c 1 -n 1 audio off" : "iecset -c 1 -n 1 audio on";
systemExecStatus = system(systemExecStr);
Info(_("audio/alsa: SystemExec(%s) returned %d\n"), systemExecStr, systemExecStatus);
}
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?