/** * @file sdrv_codec.c * @brief E3 Codec driver * * @copyright Copyright (c) 2021 Semidrive Semiconductor. * All rights reserved. * */ #include #include #include #include "sdrv_codec.h" #include "sdrv_codec_adapter.h" /** * @brief initializes codec module * * This fuction is used to initializes codec module. * * * @param [in] codec sdrv codec device * @param [in] cfg sdrv codec device configurations * @return sdrv_codec_status_t * */ sdrv_codec_status_t sdrv_codec_init(sdrv_codec_t *codec, sdrv_codec_cfg_t *cfg) { return sdrv_codec_adapter_init(codec, cfg); } /** * @brief brief set audio codec module params. * * This fuction set codec params * * @param [in] codec sdrv codec device * @param [in] params sdrv codec params * @param [in] type playback or capture type * @ return sdrv_codec_status_t * * */ sdrv_codec_status_t sdrv_codec_set_params(sdrv_codec_t *codec, sdrv_codec_params_t *params, sdrv_codec_stream_type_t type) { return sdrv_codec_adapter_set_params(codec, params, type); } /** * @brief brief start or stop audio codec module * * This fuction is used to start or stop audio codec module * * @param [in] codec sdrv codec device * @param [in] cmd start or stop cmd * @param [in] type playback or capture type * @ return sdrv_codec_status_t * * */ sdrv_codec_status_t sdrv_codec_trigger(sdrv_codec_t *codec, sdrv_codec_trigger_op_t cmd, sdrv_codec_stream_type_t type) { return sdrv_codec_adapter_trigger(codec, cmd, type); } /*! * @brief set audio codec volume. * * @param codec_dev_t * * @param volume volume value, support 0 ~ 100, 0 is mute, 100 is the maximum * volume value. * * @return sdrv_codec_status_t is success, else configure failed. */ sdrv_codec_status_t sdrv_codec_set_volume(sdrv_codec_t *codec, uint8_t volume, sdrv_codec_stream_type_t type) { return sdrv_codec_adapter_set_volume(codec, volume, type); } /*! * brief set audio codec module mute. * * param codec codec handle. * param mute true is mute, false is unmute. * return sdrv_codec_status_t is success, else configure failed. */ sdrv_codec_status_t sdrv_codec_set_mute(sdrv_codec_t *codec, bool mute, sdrv_codec_stream_type_t type) { return sdrv_codec_adapter_set_mute(codec, mute, type); }