Uh oh!
There was an error while loading. Please reload this page.
[RFC][HACK]: set alh channel = 2 by default - #2539
Conversation
To avoid it is reset to 0 when second alh is registered to the same stream. Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
slawblauciak
commented
Mar 13, 2020
@lgirdwood the stream params are not properly propagated through the mux component. This hack should not be implemented, rather, the underlying problem should be fixed instead. |
lgirdwood
commented
Mar 13, 2020
@slawblauciak yep, thanks, that's what I was trying to establish here It seems we have some issues with MUX atm.. |
bardliao
commented
Mar 16, 2020
The problem is that I will see comp_err(dev, "dai_params() error: invalid period_bytes."); when I try the synchronize playback topology. And the error is due to dd->local_buffer->stream.channels is 0. |
lgirdwood
commented
Mar 16, 2020
Why and where are they reset to 0 ? Can you describe the flow and topology. |
bardliao
commented
Mar 17, 2020
The topology is #2542 and below is the flow Btw, I think @slawblauciak is looking into this issue. |
slawblauciak
commented
Mar 23, 2020
@lgirdwood when the values are set to 0, they are supposed to be set properly later, when stream parameters are propagated through the pipeline. However, that seems to be somewhat broken with mux/demux, I managed to pinpoint the issue. I'm currently working on a fix. |
bardliao
commented
Mar 26, 2020
@slawblauciak will create another PR to fix it. |
| @@ -41,7 +41,7 @@ static int alh_get_hw_params(struct dai *dai, | |||
| { | |||
| /* 0 means variable */ | |||
| params->rate = 0; | |||
There was a problem hiding this comment.
The rate should be set also (48000). Components SRC and ASRC need it.
This similar hack is also needed for HDA.
To avoid it is reset to 0 when second alh is registered to the same
stream.
Signed-off-by: Bard Liao yung-chuan.liao@linux.intel.com