Respuestas:
No viene con una respuesta completa, sino algunas reflexiones al respecto.
Echemos un vistazo al lado del hardware: los esquemas desafortunadamente no son útiles para el Pi B + y ni siquiera están disponibles para el Pi2, por lo que estamos atrapados con B Rev 2.1 aquí por ahora.
La salida de audio de la toma de auriculares es generada por PWM. Desde los pines GPIO 40 y 45 del BCM2835 a través de un filtro RC de paso bajo. (Ver esquemas , página 2.)
El audio en el HDMI, por otro lado, se supone que se transmite digitalmente. Wikipedia dice: "Para el audio digital, si un dispositivo HDMI tiene audio, es necesario implementar el formato de línea de base: PCM estéreo (sin comprimir)". Y, de hecho, el audio analógico basado en PWM mencionado anteriormente no se alimenta al conector HDMI.
Así que ahora hemos verificado algunas noticias antiguas: toma de auriculares analógicos versus HDMI digital. Desde mi punto de vista, estos dos deben abordarse por separado e independientemente, por lo tanto también (casi) simultáneamente. Ahora PulseAudio
debería poder transmitir desde una fuente a múltiples piezas de hardware de sonido. Todavía me pregunto por qué no hay nada que encontrar en la web sobre esto.
Me encantaría poder hacer lo mismo también. Al menos trato de contribuir a esta tendencia con algunas ideas con la esperanza de un eventual desarrollo cooperativo.
Lo que me viene a la mente es que tal vez podría (y debería) haber dos instancias de módulo de controlador cargado en paralelo, cada una para una ruta de señal. Sin embargo, esto requeriría algunos parámetros de nivel de módulo de núcleo, como en la muestra ideal a continuación, cada uno creando un dispositivo ALSA (número 0 para HDMI y 3 para auriculares en la muestra). Luego puede enviar un sonido a uno y otro al otro (o copiar a ambos).
Intenté con google la página de inicio del código fuente del módulo snd_bcm2835 (para evaluar la viabilidad de un parche simple), pero no tuve suerte (y tiempo), así que me di por vencido por ahora. Si alguien encuentra la fuente y contribuye con el enlace, lo miraré nuevamente.
NOTA !!! La siguiente es solo una muestra ideal de los comandos de carga del módulo del núcleo. ¡En el software Raspberry Pi real no existen tales parámetros (AFAIK)!
modprobe snd_bcm2835 out=hdmi alsa=0
modprobe snd_bcm2835 out=ear alsa=3