diff options
Diffstat (limited to 'cras/src/server/cras_ramp.h')
-rw-r--r-- | cras/src/server/cras_ramp.h | 91 |
1 files changed, 0 insertions, 91 deletions
diff --git a/cras/src/server/cras_ramp.h b/cras/src/server/cras_ramp.h deleted file mode 100644 index 077e9bea..00000000 --- a/cras/src/server/cras_ramp.h +++ /dev/null @@ -1,91 +0,0 @@ -/* Copyright 2016 The Chromium OS Authors. All rights reserved. - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#ifndef CRAS_RAMP_H_ -#define CRAS_RAMP_H_ - -#include "cras_iodev.h" - -struct cras_ramp; - -/* - * Infomation telling user how to do ramping. - * action CRAS_RAMP_ACTION_NONE: No scale should be applied. - * action CRAS_RAMP_ACTION_PARTIAL: scale sample by sample starting from scaler - * and increase increment for each sample. - * action CRAS_RAMP_ACTION_INVALID: There is an error in cras_ramp. - */ -enum CRAS_RAMP_ACTION_TYPE { - CRAS_RAMP_ACTION_NONE, - CRAS_RAMP_ACTION_PARTIAL, - CRAS_RAMP_ACTION_INVALID, -}; - -/* - * Struct to hold current ramping action for user. - * Members: - * type: See CRAS_RAMP_ACTION_TYPE. - * scaler: The initial scaler to be applied. - * increment: The scaler increment that should be added to scaler for every - * frame. - */ -struct cras_ramp_action { - enum CRAS_RAMP_ACTION_TYPE type; - float scaler; - float increment; - float target; -}; - -typedef void (*cras_ramp_cb)(void *arg); - -/* Creates a ramp. */ -struct cras_ramp *cras_ramp_create(); - -/* Destroys a ramp. */ -void cras_ramp_destroy(struct cras_ramp *ramp); - -/* Ramps the scaler between from and to for duration_frames frames. - * Args: - * ramp[in]: The ramp struct to start. - * mute_ramp[in]: Is this ramp a mute->unmute or unmute->mute ramp. - * from[in]: The scaler value to ramp from. - * to[in]: The scaler value to ramp to. - * duration_frames[in]: Ramp duration in frames. - * cb[in]: The callback function to call after ramping is done. User can set - * cb to turn off speaker/headphone switch after ramping down - * is done. - * cb_data[in]: The data passed to callback function. - * Returns: - * 0 on success; negative error code on failure. - */ -int cras_ramp_start(struct cras_ramp *ramp, int mute_ramp, float from, float to, - int duration_frames, cras_ramp_cb cb, void *cb_data); - -/* Convenience wrappers for cras_ramp_start */ -static inline int cras_mute_ramp_start(struct cras_ramp *ramp, float from, - float to, int duration_frames, - cras_ramp_cb cb, void *cb_data) -{ - return cras_ramp_start(ramp, 1, from, to, duration_frames, cb, cb_data); -} - -static inline int cras_volume_ramp_start(struct cras_ramp *ramp, float from, - float to, int duration_frames, - cras_ramp_cb cb, void *cb_data) -{ - return cras_ramp_start(ramp, 0, from, to, duration_frames, cb, cb_data); -} - -/* Resets ramp and cancels current ramping. */ -int cras_ramp_reset(struct cras_ramp *ramp); - -/* Gets current ramp action. */ -struct cras_ramp_action -cras_ramp_get_current_action(const struct cras_ramp *ramp); - -/* Updates number of samples that went through ramping. */ -int cras_ramp_update_ramped_frames(struct cras_ramp *ramp, int num_frames); - -#endif /* CRAS_RAMP_H_ */ |