mirror of https://github.com/thesofproject/sof.git
0b7b3a5c7e
When 2 modules are bound together, they are bound with a buffer between them with the connection like this : source_module->buffer->sink_module. So, what this means is that there is only one connection going from a module to the buffer. So, calling pipeline_disconnect() from the same module to the same buffer in both directions makes no sense. Consider the following pipeline: host_copier->gain->mixin With the current logic, while iterating through the list of modules, if mixin goes first for freeing, we'd end up freeing the buffer between the mixin and gain before it is disconnected from the gain. The right way to free a module would be first disconnect the module from the sink buffer, then check if the sink buffer has been disconnected from its sink module. If so, the buffer should be freed. Otherwise the buffer will be freed whenever the sink module is disconnected from it. The same thing must be repeated for the module's source buffer as well. Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> |
||
---|---|---|
.github | ||
app | ||
doc | ||
installer | ||
keys | ||
rimage@3ee717eebc | ||
scripts | ||
smex | ||
src | ||
submanifests | ||
test | ||
third_party/include | ||
tools | ||
xtos/include | ||
zephyr | ||
.gitignore | ||
.gitmodules | ||
.travis.yml | ||
CMakeLists.txt | ||
CODEOWNERS | ||
Kconfig | ||
Kconfig.sof | ||
Kconfig.xtos-build | ||
Kconfig.xtos-dbg | ||
Kconfig.zephyr-log | ||
LICENCE | ||
README.md | ||
west.yml |
README.md
Sound Open Firmware
Status
Documentation
See docs
Running the tests
See unit testing documentation
Deployment
TODO: Add additional notes about how to deploy this on a live system
Contributing
See Contributing to the Project
License
This project is licensed under the BSD Clause 3 - see the LICENCE file for details