mirror of https://github.com/thesofproject/sof.git
ipc4: check pipeline priority for error report
Fix capture issue on windows and linux. In original code if the source is in another pipeline line and is inactive , ENODATA is returned. If current pipeline has higher priority than the source pipeline, then the source pipeline may be not started, so we return error only when source pipeline has higher priority. Signed-off-by: Rander Wang <rander.wang@intel.com>
This commit is contained in:
parent
b67c2bf0d9
commit
b154132b46
|
@ -52,6 +52,10 @@ pipeline_should_report_enodata_on_trigger(struct comp_dev *rsrc,
|
||||||
if (pipe_source && dev_comp_type(pipe_source) == SOF_COMP_DAI)
|
if (pipe_source && dev_comp_type(pipe_source) == SOF_COMP_DAI)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
/* source pipeline may not be active since priority is not higher than current one */
|
||||||
|
if (rsrc->pipeline->priority <= ppl_data->start->pipeline->priority)
|
||||||
|
return false;
|
||||||
|
|
||||||
/* if component on which we depend to provide data is inactive, then the
|
/* if component on which we depend to provide data is inactive, then the
|
||||||
* pipeline has no means of providing data
|
* pipeline has no means of providing data
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue