Re: How can I setup the alsa jack plugin?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi apriori@xxxxxxxxxxx!

 On 2007.06.17 at 18:51:24 +0200, apriori@xxxxxxxxxxx wrote next:

> does anyone of you know how to setup the alsa jack plugin? Jackd is working 
> flawlessly for me, but the alsa jack plugin isn't. I used the following 
> asound.conf:
> 
> pcm.!default {
>     type plug
>         slave {
>                 pcm "jack"
>         }
> 
> }

Try together with rate plugin. If your jack is configured to sample rate
other than 48000, change accordingly. Here is my configuration (my_jack
is explict device which uses jack, I forgot details, but I had to use
more complex configuration for !default, with most of it taken from
default alsa config file - YMMW).

I forgot why I added plug layer between rate and jack ones, but removing
it breaks something.

pcm.my_jack {
        type rate
        slave {
                pcm "jackplug"
                rate 48000
        }
        converter "samplerate"
}

pcm.jackplug {
        type plug
        slave.pcm "jack"
}

pcm.jack {
        type jack
        playback_ports {
                0 alsa_pcm:playback_1
                1 alsa_pcm:playback_2
        }
        capture_ports {
                0 alsa_pcm:capture_1
                1 alsa_pcm:capture_2
        }
}

pcm.!default {
        @args [ CARD ]
        @args.CARD {
                type string
                default {
                        @func getenv
                        vars [
                                ALSA_PCM_CARD
                                ALSA_CARD
                        ]
                        default {
                                @func refer
                                name defaults.pcm.card
                        }
                }
        }
        # use card-specific definition if exists
        @func refer
        name {
                @func concat
                strings [
                        "cards."
                        {
                                @func card_driver
                                card $CARD
                        }
                        ".pcm.default:CARD=" $CARD
                ]
        }
        default {
                # use jack output as default
                        type rate
                        slave {
                                pcm "jackplug"
                                rate 48000
                        }
                        converter "samplerate"
        }
}

Note that most application will work correctly, however some won't (xine
usually works, but can have problems with it for example). Also if one
application that uses jack plugin pauses/locks up, you'll get problems
with all other applications using it (or maybe even with application
that directly use jack). For example, when some media player which uses
gstreamer pauses playback, mplayer locks up - kinda wrong example, since
both mplayer and gstreamer have jack output drivers, however I
experienced this problem until very recently, till gstreamer got working
jack output plugin.

If you want more perfect solution, look at oss2jack. It works better,
however there is no need to use it for all application. You should use
alsa solution, and if some application has problems with it, try
using oss2jack for it. Of course you'd better disable oss emulation
layer in alsa completely - don't load the modules.

-- 

Vladimir

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Alsa-user mailing list
Alsa-user@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/alsa-user

[Index of Archives]     [ALSA Devel]     [Linux Audio Users]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]

  Powered by Linux