[LAU] alsa-jack plugin... some patches.

torbenh torbenh at gmx.de
Fri Oct 29 13:49:08 UTC 2010


On Fri, Oct 29, 2010 at 03:15:00PM +0200, Robin Gareus wrote:
> On 10/29/10 15:01, torbenh wrote:
> >
> > 
> > i guess there is not much we can do.
> > what does pulse do under these circumstances ?
> 
> I dunno. I never used pulseaudio.
> 
> > but since the goal is just to never stop jack, this issue will be
> > ignored ;D
> 
> fair enough.
> 
> Well there's two reasons for stopping JACK from time-to-time:
>  - save battery power when traveling and not listening to audio

see jack-dev for the thread on jack_suspend.
this is probably another usecase for it.

>  - debugging some JACK apps.. where I need sound *and* gdb
>    (otherwise
>     `jackd -t 600000 -r -n debug -d dummy` and
>      JACK_DEFAULT_SERVER=debug gdb ...
>     does the trick)

this reminds me that alsa_out is missing an option for the servername :)
alsa_out -d jack:aout -n3   seems to work nicely.
so with a servername option, it could operate in a jack_diplomat like
way.


> 
> In my case those events occur much more frequently than I wish to
> re-start firefox and other non-jack apps :)
> 
> Anyway it's probably just me and I'm happy with snd_aloop.
> robin

> pcm.!default {
>   type plug
>   slave { pcm "jack" }
> }

pcm.jack is already a plug.
your pcm.!default wraps it with another plug.

i only have:
pcm.!default jack:default


> 
> pcm.jack {
>   @args [ NAME ]
>   @args.NAME {
>     type string
>     default "alsa-jack"
>   }
>   type plug
>   slave {
>     pcm {
>        type jack
>        client_name $NAME 
>        playback_ports {
>          0 alsa_pcm:playback_1
>          1 alsa_pcm:playback_2
>        }
>        capture_ports {
>          0 alsa_pcm:capture_1
>          1 alsa_pcm:capture_2
>        }
> 
>      } 
>   }
> }

pushing args to the default doesnt work, i guess.


> pcm.!default {
>   @args [ NAME ]
>   @args.NAME {
>     type string
>     default "alsa-jack"
>   }
>   type plug
>   slave { 
>     pcm {
>       type jack
>       client_name $NAME 
>       playback_ports {
>           0 system:playback_1
>           1 system:playback_2
>       }
>       capture_ports {
>           0 system:capture_1
>           1 system:capture_2
>       }
>     }
>   }
> }


-- 
torben Hohn


More information about the Linux-audio-user mailing list