Re: More Generic Audio Graph Sound Card idea

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

 



On Tue, Oct 13, 2020 at 01:50:25PM +0900, Kuninori Morimoto wrote:

> > I'm thinking below style as new audio-graph-card2.
> > It is not tricky, thus connection judgement for normal vs DSP is easy.
> > Then, code can be more readable (= no guaranty :P) ?

> I have proposed DPCM connection idea for audio-card2 before,
> and proposed Multi-CPU/Codec connection idea later.
> I'm not yet implemented these, but I want to merge / reuse these
> idea to keep simple code.

> By this mail, I want to propose Codec2Codec idea.
> It is almost same idea with DPCM, Multi-CPU/Codec,
> and is last parts for missing feature.

> I think this idea can be generic and easy to update
> in the future (if needed).

> But, I want feedback, opinion.
> I wonder does it works for your use-case ?

> -- Image ---
> 
> Codec2Codec
> 
> Codec1 <--> Codec2
> 
> -- DT Image --
> 
>    +--+
> => |  |<--> Codec1
>    |  |<--> Codec2
>    +--+
> 
> -- DT Sample --
> 
> 	sound {
> 		compatible = "audio-graph-card2";
> 
> 		dais = <&codec2codec>;
> 	};
> 
> 	CODEC2CODEC {
> 		compatible = "audio-graph-card2-codec2codec";
> 
> 		ports {
> 			codec2codec: port@0 { fe_ep: endpoint { remote-endpoint = <&codec1_ep>; }; };
> 			             port@1 { be_ep: endpoint { remote-endpoint = <&codec2_ep>; }; };
> 		};
> 	};

I'm a bit confused about the use of FE and BE here since the two CODECs
are peers rather than this being DPCM - I think that's just a bit
cut'n'paste rather than anything else though?  The other examples look
sensible I think but this one feels odd.

> -- Image ---
> 
>           *******
> PCM0 <--> *     * <--> DAI0: Codec Headset
> PCM1 <--> *     * <--> DAI1: Codec Speakers
> PCM2 <--> * DSP * <--> DAI2: MODEM
> PCM3 <--> *     * <--> DAI3: BT
>           *     * <--> DAI4: DMIC
>           *     * <--> DAI5: FM
>           *******

> 	DSP {
> 		compatible = "audio-graph-card2-dsp";
> 
> 		ports@0 {
> 			/* Front-End is pcm0_ep, Back-End is dummy */
> 			dsp_fe0: port@0 { dsp_fe0_ep: endpoint { remote-endpoint = <&pcm0_ep>; }; };
> 			         port@1 { };
> 		};

I'm not clear why we need to represent the dummy port here?

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux