summaryrefslogtreecommitdiff
path: root/cras/src/server/cras_volume_curve.c
diff options
context:
space:
mode:
Diffstat (limited to 'cras/src/server/cras_volume_curve.c')
-rw-r--r--cras/src/server/cras_volume_curve.c80
1 files changed, 0 insertions, 80 deletions
diff --git a/cras/src/server/cras_volume_curve.c b/cras/src/server/cras_volume_curve.c
deleted file mode 100644
index a8661220..00000000
--- a/cras/src/server/cras_volume_curve.c
+++ /dev/null
@@ -1,80 +0,0 @@
-/* Copyright (c) 2012 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.
- */
-
-#include <stddef.h>
-#include <stdlib.h>
-#include <sys/param.h>
-
-#include "cras_util.h"
-#include "cras_volume_curve.h"
-
-/* Simple curve with configurable max volume and volume step. */
-struct stepped_curve {
- struct cras_volume_curve curve;
- long max_vol;
- long step;
-};
-
-static long get_dBFS_step(const struct cras_volume_curve *curve, size_t volume)
-{
- const struct stepped_curve *c = (const struct stepped_curve *)curve;
- return c->max_vol - (c->step * (MAX_VOLUME - volume));
-}
-
-/* Curve that has each step explicitly called out by value. */
-struct explicit_curve {
- struct cras_volume_curve curve;
- long dB_values[NUM_VOLUME_STEPS];
-};
-
-static long get_dBFS_explicit(const struct cras_volume_curve *curve,
- size_t volume)
-{
- const struct explicit_curve *c = (const struct explicit_curve *)curve;
-
- /* Limit volume to (0, MAX_VOLUME). */
- volume = MIN(MAX_VOLUME, MAX(0, volume));
- return c->dB_values[volume];
-}
-
-/*
- * Exported Interface.
- */
-
-struct cras_volume_curve *cras_volume_curve_create_default()
-{
- /* Default to max volume of 0dBFS, and a step of 0.5dBFS. */
- return cras_volume_curve_create_simple_step(0, 50);
-}
-
-struct cras_volume_curve *cras_volume_curve_create_simple_step(long max_volume,
- long volume_step)
-{
- struct stepped_curve *curve;
- curve = (struct stepped_curve *)calloc(1, sizeof(*curve));
- if (curve == NULL)
- return NULL;
- curve->curve.get_dBFS = get_dBFS_step;
- curve->max_vol = max_volume;
- curve->step = volume_step;
- return &curve->curve;
-}
-
-struct cras_volume_curve *
-cras_volume_curve_create_explicit(long dB_values[NUM_VOLUME_STEPS])
-{
- struct explicit_curve *curve;
- curve = (struct explicit_curve *)calloc(1, sizeof(*curve));
- if (curve == NULL)
- return NULL;
- curve->curve.get_dBFS = get_dBFS_explicit;
- memcpy(curve->dB_values, dB_values, sizeof(curve->dB_values));
- return &curve->curve;
-}
-
-void cras_volume_curve_destroy(struct cras_volume_curve *curve)
-{
- free(curve);
-}