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;
|
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 codec_process(struct comp_dev *dev)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
|
|
@ -48,6 +48,7 @@ struct cadence_codec_data {
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
int cadence_codec_init(struct comp_dev *dev);
|
int cadence_codec_init(struct comp_dev *dev);
|
||||||
int cadence_codec_prepare(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_process(struct comp_dev *dev);
|
||||||
int cadence_codec_apply_config(struct comp_dev *dev);
|
int cadence_codec_apply_config(struct comp_dev *dev);
|
||||||
int cadence_codec_reset(struct comp_dev *dev);
|
int cadence_codec_reset(struct comp_dev *dev);
|
||||||
|
|
|
@ -48,6 +48,14 @@ struct codec_interface {
|
||||||
* component preparation in .prepare()
|
* component preparation in .prepare()
|
||||||
*/
|
*/
|
||||||
int (*prepare)(struct comp_dev *dev);
|
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
|
* Codec specific processing procedure, called as part of codec_adapter
|
||||||
* component copy in .copy(). This procedure is responsible to consume
|
* 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);
|
int codec_free_memory(struct comp_dev *dev, void *ptr);
|
||||||
void codec_free_all_memory(struct comp_dev *dev);
|
void codec_free_all_memory(struct comp_dev *dev);
|
||||||
int codec_prepare(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_process(struct comp_dev *dev);
|
||||||
int codec_apply_runtime_config(struct comp_dev *dev);
|
int codec_apply_runtime_config(struct comp_dev *dev);
|
||||||
int codec_reset(struct comp_dev *dev);
|
int codec_reset(struct comp_dev *dev);
|
||||||
|
|
Loading…
Reference in New Issue