Re: Proper syntax of "copy" plugin

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

 



Hi Clemens,

On 02/20/2015 01:35 PM, Clemens Ladisch wrote:
> Nikolay Dimitrov wrote:
>> What is the proper way to use the "copy" plugin in the ALSA
>> configuration file?
>
> pcm.copy_to_hw0 {
>      type copy
>      slave.pcm "hw:0"
> }
>
> The device "copy_to_hw0" just copies everything to hw:0.
>
> This is probably not what you want.

Well, part of my issue is my understanding of "copying" - it's usually
done from a source to a destination, and in this specific case I just
fail to understand which is the source and how it's declared in the
config.

I can give you an example why "everything" seems fuzzy to my. If I use
a "plug" plugin to adapt audio formats to my audio device, or if I use
"dmix" plugin to mix multiple audio streams, which exact stream will
qualify as "everything" so it can be copied by the "copy" plugin - the
ones before or after the mixing, or the one before or after the format
conversion? Hope you understand my confusion about this.

>> What I'm trying to do is to copy a stream to 2 separate sound devices
>
> First, create a multi plugin with four channels.  Then use a transfer
> table to route the client's channels to all the desired channels:
>
> pcm.Duplicate {
>      type plug
>      slave.pcm {
>          type multi
>          slaves {
>              a { pcm "hw:0,0" channels 2 }
>              b { pcm "hw:1,0" channels 2 }
>          }
>          bindings [
>              { slave a channel 0 }
>              { slave a channel 1 }
>              { slave b channel 0 }
>              { slave b channel 1 }
>          ]
>      }
>      ttable [
>          [ 1 0 1 0 ]
>          [ 0 1 0 1 ]
>      ]
> }

Thanks a lot for this excellent example! I was planning to use such
approach as a backup plan, and your example config worked out of the
box on my board.

Btw, if one of the devices is disconnected, the ALSA client playback
will fail instantly (I used usb-audio device for this experiment). I'm
not sure whether ALSA has a mechanism to handle such use cases.

Kind regards,
Nikolay

------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=190641631&iu=/4140/ostg.clktrk
_______________________________________________
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