Uh oh!
There was an error while loading. Please reload this page.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shall we just call this PROCESS now that we are using UUID. @plbossart ? This would cover all cases.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Right, I thought we'd stop adding such types.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@plbossart@lgirdwood
Wait a second, so should I refrain from adding a new type to sof_comp_type and use the new UUID approach for components right? (I need to revise the UUID PR again).
Also, what about the "subtypes" (flavours) of PROCESS component like (mp3, aac, etc). Can I still use enum sof_ipc_process_type for that, right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@dbaluta the intention is to move away from kernel updates to minimise upstreaming (since the kernel does not care about general processing components). Having said that the ALSA compressed PCM may need to know the media type or does it not care and just acts as a passthrough ? @plbossart can you comment, does compressed ALSA API need to know media types ?
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It only needs to know enough to translate the userspace request to properly select the correct type. I think a good idea is to just have the enum copied and the value of the type field outright passed through directly to the firmware without the kernel interpreting/translating it in any way.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@lgirdwood when ALSA compressed device is created, ALSA needs to know the media type. But the PROCESS component on the FW side is created much early when the topology is parsed. Current infrastructure allows to set both component type (PROCESS) and process component type (mp3/aac etc) when the topology is created.
See sof_ipc_comp_process.comp.type and sof_ipc_comp_process.type.
I think for the first implementation we will use by default:
(1) ideally will be received by ALSA Compress API from userspace and will be set when we start a stream.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@dbaluta this is an interesting one: i think the compressed API lets you specify the codec type at run time, when setting the params. So in theory it's possible to have a generic decoder that can handle multiple formats. Setting a unique format at the topology creation time is possible, but would be a restriction (just like setting a single frequency for a PCM device is permitted but isn't always required).