Sound Open Firmware
Loading...
Searching...
No Matches
ring_buffer.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-3-Clause
2 *
3 * Copyright(c) 2023 Intel Corporation. All rights reserved.
4 *
5 */
6
7#ifndef __SOF_RING_BUFFER_H__
8#define __SOF_RING_BUFFER_H__
9
10#include <sof/audio/sink_api.h>
14#include <rtos/bit.h>
15#include <sof/common.h>
16#include <ipc/topology.h>
17#include <sof/coherent.h>
18
99
100struct comp_dev;
101struct ring_buffer;
102struct sof_audio_stream_params;
103
104/* the ring_buffer structure */
106 /* public: read only */
108
110
112 size_t _write_offset; /* private: to be modified by data producer using API */
113 size_t _read_offset; /* private: to be modified by data consumer using API */
114};
115
127struct ring_buffer *ring_buffer_create(struct comp_dev *dev, size_t min_available,
128 size_t min_free_space, bool is_shared,
129 uint32_t id);
130
131#endif /* __SOF_RING_BUFFER_H__ */
Audio Stream API definition.
struct ring_buffer * ring_buffer_create(struct comp_dev *dev, size_t min_available, size_t min_free_space, bool is_shared, uint32_t id)
Audio component base device "class".
Definition component.h:645
Definition ring_buffer.h:105
uint8_t __sparse_cache * _data_buffer
Definition ring_buffer.h:111
size_t _write_offset
Definition ring_buffer.h:112
size_t _read_offset
Definition ring_buffer.h:113
struct sof_audio_buffer audio_buffer
Definition ring_buffer.h:107
size_t data_buffer_size
Definition ring_buffer.h:109
Definition audio_buffer.h:65
#define __sparse_cache
Definition compiler_attributes.h:11