diff options
Diffstat (limited to 'cras/src/server/cras_fmt_conv.h')
-rw-r--r-- | cras/src/server/cras_fmt_conv.h | 105 |
1 files changed, 0 insertions, 105 deletions
diff --git a/cras/src/server/cras_fmt_conv.h b/cras/src/server/cras_fmt_conv.h deleted file mode 100644 index 12c0c16a..00000000 --- a/cras/src/server/cras_fmt_conv.h +++ /dev/null @@ -1,105 +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. - */ - -/* - * Used to convert from one audio format to another. Currently only supports - * sample rate conversion with the speex backend. - */ -#ifndef CRAS_FMT_CONV_H_ -#define CRAS_FMT_CONV_H_ - -#include <stdint.h> -#include <stdlib.h> - -#include "cras_types.h" - -struct cras_audio_format; -struct cras_fmt_conv; - -/* Create and destroy format converters. */ -struct cras_fmt_conv *cras_fmt_conv_create(const struct cras_audio_format *in, - const struct cras_audio_format *out, - size_t max_frames, - size_t pre_linear_resample); -void cras_fmt_conv_destroy(struct cras_fmt_conv **conv); - -/* Creates the format converter for channel remixing. The conversion takes - * a N by N float matrix, to multiply each N-channels sample. - * Args: - * num_channels - Number of channels of PCM data. - * coefficient - Float array of length N * N representing the conversion - * matrix, where matrix[i][j] corresponds to coefficient[i * N + j] - */ -struct cras_fmt_conv *cras_channel_remix_conv_create(unsigned int num_channels, - const float *coefficient); - -/* Converts nframes of sample from in_buf, using given remix converter. - * Args: - * conv - The format converter. - * fmt - The format of the buffer to convert. - * in_buf - The buffer to convert. - * nframes - The number of frames to convert. - */ -void cras_channel_remix_convert(struct cras_fmt_conv *conv, - const struct cras_audio_format *fmt, - uint8_t *in_buf, size_t nframes); - -/* Get the input format of the converter. */ -const struct cras_audio_format * -cras_fmt_conv_in_format(const struct cras_fmt_conv *conv); - -/* Get the output format of the converter. */ -const struct cras_audio_format * -cras_fmt_conv_out_format(const struct cras_fmt_conv *conv); - -/* Get the number of output frames that will result from converting in_frames */ -size_t cras_fmt_conv_in_frames_to_out(struct cras_fmt_conv *conv, - size_t in_frames); -/* Get the number of input frames that will result from converting out_frames */ -size_t cras_fmt_conv_out_frames_to_in(struct cras_fmt_conv *conv, - size_t out_frames); -/* Sets the input and output rate to the linear resampler. */ -void cras_fmt_conv_set_linear_resample_rates(struct cras_fmt_conv *conv, - float from, float to); -/* Converts in_frames samples from in_buf, storing the results in out_buf. - * Args: - * conv - The format converter returned from cras_fmt_conv_create(). - * in_buf - Samples to convert. - * out_buf - Converted samples are placed here. - * in_frames - Number of frames from in_buf to convert. - * out_frames - Maximum number of frames to store in out_buf. If there isn't - * any format conversion, out_frames must be >= in_frames. When doing - * format conversion out_frames should be able to hold all the converted - * frames, this can be checked with cras_fmt_conv_in_frames_to_out(). - * Return number of frames put in out_buf. */ -size_t cras_fmt_conv_convert_frames(struct cras_fmt_conv *conv, - const uint8_t *in_buf, uint8_t *out_buf, - unsigned int *in_frames, size_t out_frames); - -/* Checks if format conversion is needed for a fmt converter. - * Args: - * conv - The format convert to check. - * Returns: - * Non-zero if a format conversion is needed. - */ -int cras_fmt_conversion_needed(const struct cras_fmt_conv *conv); - -/* If the server cannot provide the requested format, configures an audio format - * converter that handles transforming the input format to the format used by - * the server. - * Args: - * conv - filled with the new converter if needed. - * dir - the stream direction the new converter used for. - * from - Format to convert from. - * to - Format to convert to. - * frames - size of buffer. - */ -int config_format_converter(struct cras_fmt_conv **conv, - enum CRAS_STREAM_DIRECTION dir, - const struct cras_audio_format *from, - const struct cras_audio_format *to, - unsigned int frames); - -#endif /* CRAS_FMT_CONV_H_ */ |