mirror of https://github.com/thesofproject/sof.git
codec_adapter: Introduce codec_init_process api
This function should be called before processing. It searches for a valid header, does header decoding to get the parameters and initializes state and configuration structures. Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
This commit is contained in:
parent
90831338ad
commit
b59e53034b
|
@ -245,6 +245,25 @@ end:
|
|||
return ret;
|
||||
}
|
||||
|
||||
int codec_init_process(struct comp_dev *dev)
|
||||
{
|
||||
int ret;
|
||||
struct comp_data *cd = comp_get_drvdata(dev);
|
||||
struct codec_data *codec = &cd->codec;
|
||||
|
||||
comp_dbg(dev, "codec_init_process() start");
|
||||
|
||||
ret = codec->ops->init_process(dev);
|
||||
if (ret) {
|
||||
comp_err(dev, "codec_init_process() error %x", ret);
|
||||
goto out;
|
||||
}
|
||||
|
||||
comp_dbg(dev, "codec_init_process() done");
|
||||
out:
|
||||
return ret;
|
||||
}
|
||||
|
||||
int codec_process(struct comp_dev *dev)
|
||||
{
|
||||
int ret;
|
||||
|
|
|
@ -48,6 +48,7 @@ struct cadence_codec_data {
|
|||
/*****************************************************************************/
|
||||
int cadence_codec_init(struct comp_dev *dev);
|
||||
int cadence_codec_prepare(struct comp_dev *dev);
|
||||
int cadence_codec_init_process(struct comp_dev *dev);
|
||||
int cadence_codec_process(struct comp_dev *dev);
|
||||
int cadence_codec_apply_config(struct comp_dev *dev);
|
||||
int cadence_codec_reset(struct comp_dev *dev);
|
||||
|
|
|
@ -48,6 +48,14 @@ struct codec_interface {
|
|||
* component preparation in .prepare()
|
||||
*/
|
||||
int (*prepare)(struct comp_dev *dev);
|
||||
/**
|
||||
* Codec specific init processing procedure, called as a part of
|
||||
* codec_adapter component copy in .copy(). Typically in this
|
||||
* phase a processing algorithm searches for the valid header,
|
||||
* does header decoding to get the parameters and initializes
|
||||
* state and configuration structures.
|
||||
*/
|
||||
int (*init_process)(struct comp_dev *dev);
|
||||
/**
|
||||
* Codec specific processing procedure, called as part of codec_adapter
|
||||
* component copy in .copy(). This procedure is responsible to consume
|
||||
|
@ -203,6 +211,7 @@ void *codec_allocate_memory(struct comp_dev *dev, uint32_t size,
|
|||
int codec_free_memory(struct comp_dev *dev, void *ptr);
|
||||
void codec_free_all_memory(struct comp_dev *dev);
|
||||
int codec_prepare(struct comp_dev *dev);
|
||||
int codec_init_process(struct comp_dev *dev);
|
||||
int codec_process(struct comp_dev *dev);
|
||||
int codec_apply_runtime_config(struct comp_dev *dev);
|
||||
int codec_reset(struct comp_dev *dev);
|
||||
|
|
Loading…
Reference in New Issue