You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[RFC] discussion on split both pipeline, PGA and EQ #77
@xiulipan I am agree with point 2, but for the "both" type in tplgtool, I think we should keep it. because the playback and capture in one pcm is binded, and this info is coming from the pcm info in tplg pcm section. we cannot tag such pcm as playback or capture, bacause we do have pcm with both capabilities. and when we meet both type pcm, we seperate playback and capture info as two pipeline.
My question is : should we output the both directly in sof-tplgreader.py, like this:
or we compose a both type pipeline in func_pipeline_export?
option 1: this can be easier to implement. and test case use sof-tplgreader.py fwpath -f type:playback -b blacklist -s0 -e to get all playback pipelines, same thing with capture pipelines. for test case want to use both, just change playback to both.
option 2: compose pcm=Port1;id=0;type=both;fmts=S16_LE S24_LE S32_LE;fmt=S16_LE;rate_min=0;rate_max=48000;ch_min=2;ch_max=2;rate=48000;channel=2;dev=hw:0,0; with bash script, this is kind of difficult to implement than option 1, i think
In my opinion, we need to treat PGA and EQ separately. Printing PGA name by default is OK but can we print eq component when the option is specified? And also for EQ we should expect multiple components. This is sof-apl-eq-pcm512x.tplg's graph.
@xiulipan@aiChaoSONG@keqiaozhang@libinyang@fredoh9@stripes416
we need to keep case: simultaneous-playback-capture after remove 'both'?
Follow my new case: multiple-pause-resume, go though the pipeline combine from TPLG
so if we modify the multiple-pipeline-capture & multiple-pipeline-playback
They can also go though the pipeline, so the simultaneous case just a combine in the go though the pipeline
we need to to keep simultaneous case ?
@xiulipan@aiChaoSONG@keqiaozhang@libinyang@fredoh9@stripes416
we need to keep case: simultaneous-playback-capture after remove 'both'?
Follow my new case: multiple-pause-resume, go though the pipeline combine from TPLG
so if we modify the multiple-pipeline-capture & multiple-pipeline-playback
They can also go though the pipeline, so the simultaneous case just a combine in the go though the pipeline
we need to to keep simultaneous case ?
Once the multiple-pipeline-capture/playback tests get modified, I think we'll be in a better position to answer this question.
Activity
aiChaoSONG commentedon Feb 13, 2020
@Bin-QA @xiulipan @fredoh9 give your suggestions and opinions here, thanks.
xiulipan commentedon Feb 13, 2020
both type should be filtered by up-level wrapper @Bin-QA @aiChaoSONG could you work on this to add this in #10 to avoid regression.
For the eq type thing. maybe we can just do something like if you do not have a comp type that we tracked, give nothing. If you have some, output it.
pcm=Speakers;id=5;type=playback;pga=PGA7.0;eq=;fmts=S16_LE S24_LE S32_LE;fmt=S16_LE;rate_min=48000;rate_max=48000;ch_min=2;ch_max=2;rate=48000;channel=2;dev=hw:0,5;=>
pcm=Speakers;id=5;type=playback;pga=PGA7.0;fmts=S16_LE S24_LE S32_LE;fmt=S16_LE;rate_min=48000;rate_max=48000;ch_min=2;ch_max=2;rate=48000;channel=2;dev=hw:0,5;aiChaoSONG commentedon Feb 13, 2020
@xiulipan I am agree with point 2, but for the "both" type in tplgtool, I think we should keep it. because the playback and capture in one pcm is binded, and this info is coming from the pcm info in tplg pcm section. we cannot tag such pcm as playback or capture, bacause we do have pcm with both capabilities. and when we meet both type pcm, we seperate playback and capture info as two pipeline.
My question is : should we output the both directly in sof-tplgreader.py, like this:
or we compose a both type pipeline in func_pipeline_export?
sof-tplgreader.py fwpath -f type:playback -b blacklist -s0 -eto get all playback pipelines, same thing with capture pipelines. for test case want to use both, just changeplaybacktoboth.pcm=Port1;id=0;type=both;fmts=S16_LE S24_LE S32_LE;fmt=S16_LE;rate_min=0;rate_max=48000;ch_min=2;ch_max=2;rate=48000;channel=2;dev=hw:0,0;with bash script, this is kind of difficult to implement than option 1, i thinkfredoh9 commentedon Feb 13, 2020
In my opinion, we need to treat PGA and EQ separately. Printing PGA name by default is OK but can we print eq component when the option is specified? And also for EQ we should expect multiple components. This is sof-apl-eq-pcm512x.tplg's graph.
PCM0P -> BUF1.0 -> EQIIR1.0 -> BUF1.1 ->EQFIR1.0 -> BUF1.2 -> PGA1.0 -> BUF1.3 -> SSP5.OUTin this case, I would expect
eq=EQIIR1.0;eq=EQFIR1.0oreq=EQIIR1.0;EQFIR1.0. Either way is fine too me.aiChaoSONG commentedon Feb 14, 2020
@fredoh9 don't worry about the eq, it will give you all eq component connected to specified pipeline
Bin-QA commentedon Feb 20, 2020
@xiulipan @aiChaoSONG @keqiaozhang @libinyang @fredoh9 @stripes416
we need to keep case: simultaneous-playback-capture after remove 'both'?
Follow my new case: multiple-pause-resume, go though the pipeline combine from TPLG
so if we modify the multiple-pipeline-capture & multiple-pipeline-playback
They can also go though the pipeline, so the simultaneous case just a combine in the go though the pipeline
we need to to keep simultaneous case ?
aiChaoSONG commentedon Feb 21, 2020
@fredoh9 all the PRs you need to implement EQ test are merged
stripes416 commentedon Mar 2, 2020
Once the multiple-pipeline-capture/playback tests get modified, I think we'll be in a better position to answer this question.
aiChaoSONG commentedon Mar 5, 2020
close for all done