From 3f4832e01c4bc1bae97a9c09607ca6cd0bfce301 Mon Sep 17 00:00:00 2001 From: Rohit kumar Date: Tue, 22 Sep 2020 16:04:58 +0530 Subject: [PATCH] include: tinycompress: Add compress_ops.h Add compress_ops.h needed to support plugins. Compress_ops can be used to jump to either hw compress node ops or to virtual compress node ops. Signed-off-by: Rohit kumar --- include/tinycompress/compress_ops.h | 40 +++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 include/tinycompress/compress_ops.h diff --git a/include/tinycompress/compress_ops.h b/include/tinycompress/compress_ops.h new file mode 100644 index 0000000..58bb433 --- /dev/null +++ b/include/tinycompress/compress_ops.h @@ -0,0 +1,40 @@ +/* SPDX-License-Identifier: (LGPL-2.1-only OR BSD-3-Clause) */ +/* Copyright (c) 2020 The Linux Foundation. All rights reserved. */ + +#ifndef __COMPRESS_OPS_H__ +#define __COMPRESS_OPS_H__ + +#include "sound/compress_params.h" +#include "sound/compress_offload.h" +#include "tinycompress.h" + +struct compress_ops { + void *(*open)(unsigned int card, unsigned int device, + unsigned int flags, struct compr_config *config); + void (*close)(void *compress_data); + int (*get_hpointer)(void *compress_data, + unsigned int *avail, struct timespec *tstamp); + int (*get_tstamp)(void *compress_data, + unsigned int *samples, unsigned int *sampling_rate); + int (*write)(void *compress_data, const void *buf, size_t size); + int (*read)(void *compress_data, void *buf, size_t size); + int (*start)(void *compress_data); + int (*stop)(void *compress_data); + int (*pause)(void *compress_data); + int (*resume)(void *compress_data); + int (*drain)(void *compress_data); + int (*partial_drain)(void *compress_data); + int (*next_track)(void *compress_data); + int (*set_gapless_metadata)(void *compress_data, + struct compr_gapless_mdata *mdata); + void (*set_max_poll_wait)(void *compress_data, int milliseconds); + void (*set_nonblock)(void *compress_data, int nonblock); + int (*wait)(void *compress_data, int timeout_ms); + bool (*is_codec_supported)(unsigned int card, unsigned int device, + unsigned int flags, struct snd_codec *codec); + int (*is_compress_running)(void *compress_data); + int (*is_compress_ready)(void *compress_data); + const char *(*get_error)(void *compress_data); +}; + +#endif /* end of __COMPRESS_OPS_H__ */ -- 2.47.3