Skip to content

audio: module_adapter: remove process_audio_stream callback - #11368

Draft
softwarecki wants to merge 3 commits into
thesofproject:mainfrom
softwarecki:p20-stream
Draft

softwarecki wants to merge 3 commits into
thesofproject:mainfrom
softwarecki:p20-stream

Conversation

@softwarecki

Copy link
Copy Markdown
Collaborator

Stop using the input_buffers and output_buffers members of struct processing_module in the cmocka tests. The dcblock, eq_fir and eq_iir tests keep the number of filled frames and produced bytes in their own test data structure. Remove the stream buffer descriptors, which were not more used by the converted modules.

Remove the legacy audio_stream processing path in module_adapter. Drop the process_audio_stream callback from struct module_interface together with struct input_stream_buffer and struct output_stream_buffer. Remove the processing type selection proc_type. The sink/source process() callback is now the only supported one.

Delete the fields of struct processing_module that served only the removed path. The cache maintenance flags are not needed with the sink/source API because source_get_data() and sink_commit_buffer() operate on the requested range only, and cache operations are performed solely for buffers shared between cores. The IPC4 bind and unbind handlers keep refreshing the
sources and sinks arrays used by prepare.

Bump SOF_MODULE_API_CURRENT_VERSION to 5.0.3 since the layout of the structures changed. Modules built against the previous version are rejected by the loaders.

All modules were converted to process() earlier, so the removed code was no longer reachable.

Depends on:

Remove the process_raw_data callback from struct module_interface together
with the raw data processing mode in module_adapter. This drops the
MODULE_PROCESS_TYPE_RAW type, the raw data copy path with its deep
buffering and intermediate sink buffers, and the fields that only served
it (raw_data_buffers_list, deep_buff_bytes and output_buffer_size in
struct processing_module, buffers_list in struct comp_buffer). Related
comments and documentation are updated.

All modules that used this callback were converted to process() earlier,
so the code is no longer reachable.

Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
Stop using the input_buffers and output_buffers members of struct
processing_module in the cmocka tests. The dcblock, eq_fir and eq_iir tests
keep the number of filled frames and produced bytes in their own test data
structure. Remove the stream buffer descriptors, which were not more used
by the converted modules.

Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
Remove the legacy audio_stream processing path in module_adapter. Drop the
process_audio_stream callback from struct module_interface together with
struct input_stream_buffer and struct output_stream_buffer. Remove the
processing type selection proc_type. The sink/source process() callback is
now the only supported one.

Delete the fields of struct processing_module that served only the removed
path. The cache maintenance flags are not needed with the sink/source API
because source_get_data() and sink_commit_buffer() operate on the requested
range only, and cache operations are performed solely for buffers shared
between cores. The IPC4 bind and unbind handlers keep refreshing the
sources and sinks arrays used by prepare.

Bump SOF_MODULE_API_CURRENT_VERSION to 5.0.3 since the layout of the
structures changed. Modules built against the previous version are rejected
by the loaders.

All modules were converted to process() earlier, so the removed code
was no longer reachable.

Signed-off-by: Adrian Warecki <adrian.warecki@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.

1 participant