Skip to content

Conversation

@RanderWang
Copy link
Collaborator

Module will update source & sink information when bind & unbind event happen.

Copy link
Contributor

@marcinszkudlinski marcinszkudlinski left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't duplicate identical functionality - pointers to sink and sources are set twice, using identical code

remove module_adapter_sink_src_prepare from module adapter - consider applying d0bf41b together with this patch

@RanderWang
Copy link
Collaborator Author

Don't duplicate identical functionality - pointers to sink and sources are set twice, using identical code

remove module_adapter_sink_src_prepare from module adapter - consider applying d0bf41b together with this patch

@marcinszkudlinski Thanks, integrate your suggestion.

@serhiy-katsyuba-intel
Copy link
Contributor

Looks like CI reports problems with commits from this PR cherry-picked here #8576. On previous versions of this fix there were no such CI failures.

@lgirdwood
Copy link
Member

@RanderWang we are getting a failure loading topology then a leak (which could be in testbench and NOT in pipeline). @andrula-song and @singalsu can you help here.

2023-12-08T16:59:38.5846510Z Spectrogram test 48000 Hz ...
2023-12-08T16:59:38.5851053Z Using parameters Fs=48.0, bits_in=24, ch=1, ch=2, Nch=2
2023-12-08T16:59:38.5921810Z Mixing -0.1 dBFS chirp ...
2023-12-08T16:59:38.6038426Z Writing output data file chirp_test_in_782019.raw...
2023-12-08T16:59:38.6072872Z Done.
2023-12-08T16:59:38.6088655Z Running './comp_run.sh -t /tmp/oct-gKhTCr_config.sh'...
2023-12-08T16:59:38.6112951Z Command:          ../../testbench/build_testbench/install/bin/testbench
2023-12-08T16:59:38.6115674Z Argument:        -q -r 48000 -R 48000 -c 2 -n 2 -b S24_LE -t ../../build_tools/test/topology/test-playback-ssp5-mclk-0-I2S-src-s24le-s24le-48k-24576k-codec.tplg  -i chirp_test_in_782019.raw -o chirp_test_out_782019.raw
2023-12-08T16:59:38.6184874Z ==24403== Memcheck, a memory error detector
2023-12-08T16:59:38.6186128Z ==24403== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
2023-12-08T16:59:38.6187268Z ==24403== Using Valgrind-3.18.1 and LibVEX; rerun with -h for copyright info
2023-12-08T16:59:38.6189429Z ==24403== Command: ../../testbench/build_testbench/install/bin/testbench -q -r 48000 -R 48000 -c 2 -n 2 -b S24_LE -t ../../build_tools/test/topology/test-playback-ssp5-mclk-0-I2S-src-s24le-s24le-48k-24576k-codec.tplg -i chirp_test_in_782019.raw -o chirp_test_out_782019.raw
2023-12-08T16:59:38.6191000Z ==24403== 
2023-12-08T16:59:39.0855641Z 1702054779.073434:(ipc-common.c:268) ipc_init()
2023-12-08T16:59:39.0872106Z 1702054779.086434:(ll_schedule.c:116) ll_scheduler_init()
2023-12-08T16:59:39.0881855Z 1702054779.087850:(edf_schedule.c:114) edf_scheduler_init()
2023-12-08T16:59:39.1161197Z 1702054779.115006:(helper.c:149) get_drv(), found driver type 1, uuid 0x1a9c00U
2023-12-08T16:59:39.1166446Z 1702054779.116174:(helper.c:332) comp new 0x1a9c00U type 1 id 1.1
2023-12-08T16:59:39.1238377Z 1702054779.123638:(helper.c:149) get_drv(), found driver type 22, uuid 0x1a9d80U
2023-12-08T16:59:39.1239683Z 1702054779.123711:(helper.c:332) comp new 0x1a9d80U type 8 id 1.2
2023-12-08T16:59:39.1245931Z 1702054779.124214:(module_adapter.c:47) module_adapter_new() start
2023-12-08T16:59:39.1255214Z 1702054779.125274:(generic.c:30) module_load_config() start
2023-12-08T16:59:39.1261037Z 1702054779.125868:(generic.c:69) module_load_config() done
2023-12-08T16:59:39.1268120Z 1702054779.126579:(generic.c:84) module_init() start
2023-12-08T16:59:39.1274735Z 1702054779.127244:(src_ipc3.c:164) src_init()
2023-12-08T16:59:39.1283264Z 1702054779.128092:(generic.c:120) module_init() done
2023-12-08T16:59:39.1288339Z 1702054779.128594:(module_adapter.c:114) module_adapter_new() done
2023-12-08T16:59:39.1305175Z 1702054779.130066:(ipc-helper.c:43) buffer new size 0x1200 id 1.3 flags 0x0
2023-12-08T16:59:39.1309393Z 1702054779.130692:(buffer.c:36) buffer_alloc()
2023-12-08T16:59:39.1325006Z 1702054779.132368:(ipc-helper.c:43) buffer new size 0xc00 id 1.4 flags 0x0
2023-12-08T16:59:39.1325838Z 1702054779.132418:(buffer.c:36) buffer_alloc()
2023-12-08T16:59:39.1339606Z 1702054779.133808:(helper.c:149) get_drv(), found driver type 2, uuid 0x1a9c00U
2023-12-08T16:59:39.1340732Z 1702054779.133859:(helper.c:332) comp new 0x1a9c00U type 2 id 1.5
2023-12-08T16:59:39.1358675Z 1702054779.135508:(pipeline-graph.c:118) pipeline new pipe_id 1 priority 0
2023-12-08T16:59:39.1399253Z 1702054779.139557:(helper.c:569) ipc: comp sink 3, source 1 -> connect
2023-12-08T16:59:39.1405643Z 1702054779.140256:(pipeline-graph.c:184) connect buffer 3 as sink
2023-12-08T16:59:39.1417302Z 1702054779.141390:(helper.c:585) ipc: comp sink 2, source 3 -> connect
2023-12-08T16:59:39.1422837Z 1702054779.141980:(pipeline-graph.c:186) connect buffer 3 as source
2023-12-08T16:59:39.1424637Z 1702054779.142339:(helper.c:569) ipc: comp sink 4, source 2 -> connect
2023-12-08T16:59:39.1425788Z 1702054779.142397:(pipeline-graph.c:184) connect buffer 4 as sink
2023-12-08T16:59:39.1426912Z 1702054779.142457:(helper.c:585) ipc: comp sink 5, source 4 -> connect
2023-12-08T16:59:39.1428014Z 1702054779.142503:(pipeline-graph.c:186) connect buffer 4 as source
2023-12-08T16:59:39.1445305Z 1702054779.144204:(ipc-helper.c:235) ipc: pipe 1 -> complete on comp 6
2023-12-08T16:59:39.1452410Z 1702054779.144922:(pipeline-graph.c:294) pipeline complete, clock freq 0Hz
2023-12-08T16:59:39.1458924Z 1702054779.145484:(pipeline-graph.c:255) pipeline_comp_complete(), current->comp.id = 1, dir = 0
2023-12-08T16:59:39.1467919Z 1702054779.146619:(pipeline-graph.c:255) pipeline_comp_complete(), current->comp.id = 2, dir = 0
2023-12-08T16:59:39.1469522Z 1702054779.146669:(pipeline-graph.c:255) pipeline_comp_complete(), current->comp.id = 5, dir = 0
2023-12-08T16:59:39.1512536Z 1702054779.150841:(pipeline-params.c:238) pipe params dir 0 frame_fmt 1 buffer_fmt 0 rate 48000
2023-12-08T16:59:39.1517460Z 1702054779.151235:(pipeline-params.c:241) pipe params stream_tag 0 channels 2 sample_valid_bytes 3 sample_container_bytes 4
2023-12-08T16:59:39.1522688Z 1702054779.151902:(pipeline-params.c:153) pipeline_comp_hw_params(), current->comp.id = 1, dir = 0
2023-12-08T16:59:39.1526432Z 1702054779.152461:(pipeline-params.c:153) pipeline_comp_hw_params(), current->comp.id = 2, dir = 0
2023-12-08T16:59:39.1528103Z 1702054779.152507:(pipeline-params.c:153) pipeline_comp_hw_params(), current->comp.id = 5, dir = 0
2023-12-08T16:59:39.1532863Z 1702054779.153029:(file.c:901) file_hw_params()
2023-12-08T16:59:39.1563350Z 1702054779.155966:(pipeline-params.c:86) pipeline_comp_params(), current->comp.id = 1, dir = 0
2023-12-08T16:59:39.1573197Z 1702054779.156951:(file.c:696) file_params()
2023-12-08T16:59:39.1576198Z 1702054779.157334:(file.c:666) file_verify_params()
2023-12-08T16:59:39.1603591Z 1702054779.160181:(pipeline-params.c:86) pipeline_comp_params(), current->comp.id = 2, dir = 0
2023-12-08T16:59:39.1617439Z 1702054779.161569:(pipeline-params.c:86) pipeline_comp_params(), current->comp.id = 5, dir = 0
2023-12-08T16:59:39.1618581Z 1702054779.161620:(file.c:696) file_params()
2023-12-08T16:59:39.1619254Z 1702054779.161662:(file.c:666) file_verify_params()
2023-12-08T16:59:39.1633702Z 1702054779.163067:(pipeline-params.c:340) pipe prepare
2023-12-08T16:59:39.1639341Z 1702054779.163585:(pipeline-params.c:286) pipeline_comp_prepare(), current->comp.id = 1, dir = 0
2023-12-08T16:59:39.1652582Z 1702054779.164988:(file.c:875) file_prepare()
2023-12-08T16:59:39.1663747Z 1702054779.166200:(pipeline-params.c:286) pipeline_comp_prepare(), current->comp.id = 2, dir = 0
2023-12-08T16:59:39.1668480Z 1702054779.166561:(module_adapter.c:289) module_adapter_prepare() start
2023-12-08T16:59:39.1674762Z 1702054779.167206:(generic.c:205) module_prepare() start
2023-12-08T16:59:39.1680792Z 1702054779.167824:(src.c:617) src_prepare()
2023-12-08T16:59:39.1690302Z 1702054779.168353:(generic.c:216) module_prepare() error -22: module specific prepare failed, comp_id 2
2023-12-08T16:59:39.1696214Z 1702054779.169286:(module_adapter.c:310) module_adapter_prepare() error ffffffea: module prepare failed
2023-12-08T16:59:39.1703590Z 1702054779.170007:(pipeline-params.c:346) pipeline_prepare(): ret = -22, dev->comp.id = 1
2023-12-08T16:59:39.1762064Z error: Failed prepare pipeline command: Unknown error -22
2023-12-08T16:59:39.1768615Z error: pipeline params
2023-12-08T16:59:39.1773451Z error: pipeline run 0 failed -22
2023-12-08T16:59:39.1852744Z pipeline run 0/1
2023-12-08T16:59:39.1853399Z ==========================================================
2023-12-08T16:59:39.1854039Z 		           Test Start 0
2023-12-08T16:59:39.1854470Z ==========================================================
2023-12-08T16:59:39.1855004Z type: 8, size: 0x70 count: 1 index: 0
2023-12-08T16:59:39.1855497Z type: 5, size: 0x548 count: 6 index: 1
2023-12-08T16:59:39.1855982Z number of DAPM widgets 6
2023-12-08T16:59:39.1856635Z debug: loading idx 0 comp_id 1: widget PCM0P type 11 size 132 at offset 384
2023-12-08T16:59:39.1857417Z debug: loading comp_id 1: widget PCM0P id 11
2023-12-08T16:59:39.1858174Z debug: loading idx 1 comp_id 2: widget SRC1.0 type 20 size 132 at offset 656
2023-12-08T16:59:39.1858946Z debug: loading comp_id 2: widget SRC1.0 id 20
2023-12-08T16:59:39.1859652Z debug: loading idx 2 comp_id 3: widget BUF1.0 type 16 size 132 at offset 816
2023-12-08T16:59:39.1860271Z debug: loading comp_id 3: widget BUF1.0 id 16
2023-12-08T16:59:39.1860867Z debug: loading idx 3 comp_id 4: widget BUF1.1 type 16 size 132 at offset 976
2023-12-08T16:59:39.1861471Z debug: loading comp_id 4: widget BUF1.1 id 16
2023-12-08T16:59:39.1862354Z debug: loading idx 4 comp_id 5: widget SSP5.OUT type 13 size 132 at offset 1324
2023-12-08T16:59:39.1863002Z debug: loading comp_id 5: widget SSP5.OUT id 13
2023-12-08T16:59:39.1863695Z debug: loading idx 5 comp_id 6: widget PIPELINE.1.SSP5.OUT type 17 size 132 at offset 1536
2023-12-08T16:59:39.1864463Z debug: loading comp_id 6: widget PIPELINE.1.SSP5.OUT id 17
2023-12-08T16:59:39.1864971Z type: 7, size: 0x390 count: 1 index: 0
2023-12-08T16:59:39.1865372Z type: a, size: 0x724 count: 1 index: 0
2023-12-08T16:59:39.1865754Z type: 4, size: 0x210 count: 4 index: 1
2023-12-08T16:59:39.1866364Z loading route PCM0P -> BUF1.0
2023-12-08T16:59:39.1866767Z loading route BUF1.0 -> SRC1.0
2023-12-08T16:59:39.1867149Z loading route SRC1.0 -> BUF1.1
2023-12-08T16:59:39.1867544Z loading route BUF1.1 -> SSP5.OUT
2023-12-08T16:59:39.1867941Z test params: rate 48000 channels 2 format 1
2023-12-08T16:59:39.1958955Z ==24403== 
2023-12-08T16:59:39.1959253Z ==24403== HEAP SUMMARY:
2023-12-08T16:59:39.1959622Z ==24403==     in use at exit: 6,913 bytes in 34 blocks
2023-12-08T16:59:39.1960321Z ==24403==   total heap usage: 58 allocs, 24 frees, 35,478 bytes allocated
2023-12-08T16:59:39.1960897Z ==24403== 
2023-12-08T16:59:39.1962957Z ==24403== 5,951 (32 direct, 5,919 indirect) bytes in 1 blocks are definitely lost in loss record 32 of 32
2023-12-08T16:59:39.1964168Z ==24403==    at 0x484DA83: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
2023-12-08T16:59:39.1964915Z ==24403==    by 0x116DAC: ipc_comp_new (helper.c:660)
2023-12-08T16:59:39.1965492Z ==24403==    by 0x113FBB: tb_register_fileread (topology.c:382)
2023-12-08T16:59:39.1966109Z ==24403==    by 0x114FAC: tb_register_aif_in_out (topology.c:440)
2023-12-08T16:59:39.1966702Z ==24403==    by 0x114FAC: tb_register_aif_in_out (topology.c:436)
2023-12-08T16:59:39.1967491Z ==24403==    by 0x114FAC: tb_load_widget (topology.c:523)
2023-12-08T16:59:39.1968043Z ==24403==    by 0x114FAC: tb_parse_topology (topology.c:700)
2023-12-08T16:59:39.1968616Z ==24403==    by 0x110B43: test_pipeline_load (testbench.c:524)
2023-12-08T16:59:39.1969218Z ==24403==    by 0x110B43: pipline_test (testbench.c:645)
2023-12-08T16:59:39.1969771Z ==24403==    by 0x110B43: main (testbench.c:810)
2023-12-08T16:59:39.1970164Z ==24403== 
2023-12-08T16:59:39.1970413Z ==24403== LEAK SUMMARY:
2023-12-08T16:59:39.1970773Z ==24403==    definitely lost: 32 bytes in 1 blocks
2023-12-08T16:59:39.1971357Z ==24403==    indirectly lost: 5,919 bytes in 30 blocks
2023-12-08T16:59:39.1971854Z ==24403==      possibly lost: 0 bytes in 0 blocks
2023-12-08T16:59:39.1972329Z ==24403==    still reachable: 962 bytes in 3 blocks
2023-12-08T16:59:39.1972797Z ==24403==         suppressed: 0 bytes in 0 blocks
2023-12-08T16:59:39.1973415Z ==24403== Reachable blocks (those to which a pointer was found) are not shown.
2023-12-08T16:59:39.1974249Z ==24403== To see them, rerun with: --leak-check=full --show-leak-kinds=all
2023-12-08T16:59:39.1974775Z ==24403== 
2023-12-08T16:59:39.1975219Z ==24403== For lists of detected and suppressed errors, rerun with: -s
2023-12-08T16:59:39.1975915Z ==24403== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
2023-12-08T16:59:39.2010675Z error: './comp_run.sh -t /tmp/oct-gKhTCr_config.sh' returned status 1
2023-12-08T16:59:39.2145181Z src test failed!
2023-12-08T16:59:39.2159984Z ##[error]Process completed with exit code 1.
2023-12-08T16:59:39.2242175Z Post job cleanup.
2023-12-08T16:59:39.3112522Z [command]/usr/bin/git version
2023-12-08T16:59:39.3160346Z git version 2.43.0
2023-12-08T16:59:39.3200567Z Temporarily overriding HOME='/home/runner/work/_temp/e50893ce-6ead-4595-a8e4-cfb289a2fb88' before making global git config changes
2023-12-08T16:59:39.3202079Z Adding repository directory to the temporary git global config as a safe directory
2023-12-08T16:59:39.3206670Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/sof/sof
2023-12-08T16:59:39.3250146Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2023-12-08T16:59:39.3290397Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :"
2023-12-08T16:59:39.3547547Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2023-12-08T16:59:39.3581908Z http.https://github.com/.extraheader
2023-12-08T16:59:39.3593950Z [command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader
2023-12-08T16:59:39.3634429Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :"
2023-12-08T16:59:39.4134858Z Cleaning up orphan processes

@kv2019i
Copy link
Collaborator

kv2019i commented Dec 11, 2023

This looks good to go otherwise, but the testbench failure needs to be fixed. If it's a problem in testbench, we can have a fix in separate PR, but we need a rootcause before we can merge this.

@singalsu
Copy link
Collaborator

The fail with testbench (and likely all IPC3) is because num_of_sources and num_of_sinks is zero when calling src_prepare().

Screenshot from 2023-12-11 16-25-18

@singalsu
Copy link
Collaborator

@RanderWang Does the SRC work in a normal IPC4 device with this PR? I'm not sure we have in CI test that runs a SRC pipeline. Looks that mod->num_of_sources and mod->num_of_sinks() are set after calling module_prepare() in module_adapter_dp_queue_prepare().

For testbench in module_adapter_prepare() the first if true is not taken because mod->dev->ipc_config.proc_domain is not COMP_PROCESSING_DOMAIN_DP. Then in the second else if the num_of_ arguments are zeros.

	if (IS_PROCESSING_MODE_SINK_SOURCE(mod) &&
	    mod->dev->ipc_config.proc_domain == COMP_PROCESSING_DOMAIN_DP)
		ret = module_adapter_dp_queue_prepare(dev);

	else if (IS_PROCESSING_MODE_SINK_SOURCE(mod) &&
		 mod->dev->ipc_config.proc_domain == COMP_PROCESSING_DOMAIN_LL)
		ret = module_prepare(mod, mod->sources, mod->num_of_sources,
				     mod->sinks, mod->num_of_sinks);

@RanderWang
Copy link
Collaborator Author

@RanderWang Does the SRC work in a normal IPC4 device with this PR? I'm not sure we have in CI test that runs a SRC pipeline. Looks that mod->num_of_sources and mod->num_of_sinks() are set after calling module_prepare() in module_adapter_dp_queue_prepare().

For testbench in module_adapter_prepare() the first if true is not taken because mod->dev->ipc_config.proc_domain is not COMP_PROCESSING_DOMAIN_DP. Then in the second else if the num_of_ arguments are zeros.

	if (IS_PROCESSING_MODE_SINK_SOURCE(mod) &&
	    mod->dev->ipc_config.proc_domain == COMP_PROCESSING_DOMAIN_DP)
		ret = module_adapter_dp_queue_prepare(dev);

	else if (IS_PROCESSING_MODE_SINK_SOURCE(mod) &&
		 mod->dev->ipc_config.proc_domain == COMP_PROCESSING_DOMAIN_LL)
		ret = module_prepare(mod, mod->sources, mod->num_of_sources,
				     mod->sinks, mod->num_of_sinks);

I tested SRC. but it is working LL mode not in DP mode

@RanderWang
Copy link
Collaborator Author

I also tested SRC in DP mode, but no issue found

Module will update source & sink information when bind & unbind
event happen.

Signed-off-by: Rander Wang <rander.wang@intel.com>
@singalsu
Copy link
Collaborator

I also tested SRC in DP mode, but no issue found

Thanks, then it looks like this is only issue for IPC3 or testbench. Can you check if adding for IPC3 build some of the removed num_of calculations fixes the test issue? In the above code snippet, for the else if call before calling module_prepare().

ipc4

They are done in bind & unbind(). But we need to keep it for ipc3.

Signed-off-by: Marcin Szkudlinski <marcin.szkudlinski@intel.com>
Signed-off-by: Rander Wang <rander.wang@intel.com>
@RanderWang
Copy link
Collaborator Author

I also tested SRC in DP mode, but no issue found

Thanks, then it looks like this is only issue for IPC3 or testbench. Can you check if adding for IPC3 build some of the removed num_of calculations fixes the test issue? In the above code snippet, for the else if call before calling module_prepare().

thanks, I got the same idea. IPC3 doesnt has bind & unbind

@kv2019i
Copy link
Collaborator

kv2019i commented Dec 12, 2023

Looks better now, let's wait for the mandatory CI runs to complete and if all good, this is ready to be merged.

@kv2019i
Copy link
Collaborator

kv2019i commented Dec 13, 2023

CI almost clean. I do see one fail here:
https://sof-ci.01.org/sofpr/PR8594/build1044/devicetest/index.html?model=TGLU_RVP_SDW-ipc4&testcase=check-signal-stop-start-playback-10

Looks like a case of thesofproject/linux#4832 but triggered in a different test case.

@kv2019i
Copy link
Collaborator

kv2019i commented Dec 13, 2023

@RanderWang Can you check the above fail? I browsed through history of PR tests and I don't see this failing for any other PR.

@RanderWang
Copy link
Collaborator Author

@RanderWang Can you check the above fail? I browsed through history of PR tests and I don't see this failing for any other PR.

@kv2019i it was a old bug hard to be reproduced. Let run it again.

[   53.980498] <err> dai_comp: dai_common_new: comp:1 0x10004 dai_new(): dai_get() failed to create DAI.
[   53.980518] <err> copier: copier_dai_create: comp:1 0x10004 failed to create dai

@RanderWang
Copy link
Collaborator Author

SOFCI TEST

@RanderWang
Copy link
Collaborator Author

@kv2019i pass. It is unlucky that it can't be reproduced again.

@kv2019i kv2019i merged commit 5d1f8b4 into thesofproject:main Dec 14, 2023
serhiy-katsyuba-intel added a commit to serhiy-katsyuba-intel/sof that referenced this pull request Dec 20, 2023
After thesofproject#8594 been merged, sources
and sinks are now setup on .bind() and .unbind(). Previously they were
setup in .prepare(). However, there were code left in
module_adapter_reset() which clears sources and sinks arrays. That broke
some tests: modules which use source/sink API stopped working correctly
after pipeline reset.

Signed-off-by: Serhiy Katsyuba <serhiy.katsyuba@intel.com>
marcinszkudlinski pushed a commit that referenced this pull request Dec 21, 2023
After #8594 been merged, sources
and sinks are now setup on .bind() and .unbind(). Previously they were
setup in .prepare(). However, there were code left in
module_adapter_reset() which clears sources and sinks arrays. That broke
some tests: modules which use source/sink API stopped working correctly
after pipeline reset.

Signed-off-by: Serhiy Katsyuba <serhiy.katsyuba@intel.com>
lgirdwood pushed a commit that referenced this pull request Dec 21, 2023
After #8594 been merged, sources
and sinks are now setup on .bind() and .unbind(). Previously they were
setup in .prepare(). However, there were code left in
module_adapter_reset() which clears sources and sinks arrays. That broke
some tests: modules which use source/sink API stopped working correctly
after pipeline reset.

Signed-off-by: Serhiy Katsyuba <serhiy.katsyuba@intel.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants