Bufferization player.
Copyright (c) 2009-2018 Microchip Technology Inc. and its subsidiaries.
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
#include "board.h"
#include "compiler.h"
#include "audio_mixer.h"
#include "buff_player.h"
#include "conf_buff_player.h"
Data Structures | |
struct | buff_player_pcm_buf_fifo_t |
struct | buff_player_pcm_buf_t |
Macros | |
#define | BUFF_PLAYER_MAX_BUF_CNT 64 |
Variables | |
static buff_player_pcm_buf_fifo_t * | buff_player_pcm_buf_fifo = NULL |
#define BUFF_PLAYER_MAX_BUF_CNT 64 |
void buff_player_close | ( | void | ) |
References NULL.
bool buff_player_create | ( | uint8_t | nb_buffers, |
size_t | buffer_size | ||
) |
void buff_player_dacs_end_of_pcm_buf | ( | void | ) |
void buff_player_dacs_flush | ( | bool | force | ) |
References audio_mixer_dacs_flush_direct(), and buff_player_is_pcm_buf_fifo_empty().
Referenced by buff_player_mute_audio().
bool buff_player_dacs_output | ( | void * | sample_buffer, |
size_t | sample_length | ||
) |
void buff_player_dacs_setup | ( | uint32_t | sample_rate_hz, |
uint8_t | num_channels, | ||
uint8_t | bits_per_sample, | ||
bool | swap_channels | ||
) |
References audio_mixer_dacs_setup_direct().
|
static |
References buff_player_get_first_pcm_buf_idx(), and buff_player_pcm_buf_fifo_t::pcm_buf.
Referenced by buff_player_malloc().
|
static |
References BUFF_PLAYER_MAX_BUF_CNT, and buff_player_pcm_buf_fifo_t::rd_idx.
Referenced by buff_player_get_first_pcm_buf().
|
static |
References buff_player_get_last_pcm_buf_idx(), and buff_player_pcm_buf_fifo_t::pcm_buf.
Referenced by buff_player_malloc().
|
static |
References BUFF_PLAYER_MAX_BUF_CNT, and buff_player_pcm_buf_fifo_t::wr_idx.
Referenced by buff_player_get_last_pcm_buf().
|
static |
|
static |
References buff_player_get_reload_pcm_buf_idx(), and buff_player_pcm_buf_fifo_t::pcm_buf.
Referenced by buff_player_peek_reload_pcm_buf().
|
static |
References BUFF_PLAYER_MAX_BUF_CNT, and buff_player_pcm_buf_fifo_t::rd_idx.
Referenced by buff_player_get_reload_pcm_buf().
|
static |
References buff_player_get_wr_pcm_buf_idx(), and buff_player_pcm_buf_fifo_t::pcm_buf.
Referenced by buff_player_put_pcm_buf().
|
static |
References BUFF_PLAYER_MAX_BUF_CNT, and buff_player_pcm_buf_fifo_t::wr_idx.
Referenced by buff_player_get_wr_pcm_buf().
|
static |
References buff_player_get_pcm_buf_fifo_size().
Referenced by buff_player_dacs_flush(), buff_player_malloc(), and buff_player_remove_used_pcm_buf().
|
static |
References buff_player_get_pcm_buf_fifo_size(), and BUFF_PLAYER_MAX_BUF_CNT.
Referenced by buff_player_dacs_output(), buff_player_malloc(), and buff_player_put_pcm_buf().
|
static |
References buff_player_get_pcm_buf_fifo_size().
Referenced by buff_player_peek_reload_pcm_buf().
void* buff_player_malloc | ( | size_t | buffer_size | ) |
void buff_player_mute_audio | ( | bool | mute | ) |
References audio_mixer_mute_audio_direct(), and buff_player_dacs_flush().
|
static |
References buff_player_get_reload_pcm_buf(), buff_player_is_pcm_buf_fifo_reloadable(), and buff_player_pcm_buf_fifo.
Referenced by buff_player_dacs_end_of_pcm_buf().
|
static |
References buff_player_get_wr_pcm_buf(), buff_player_is_pcm_buf_fifo_full(), BUFF_PLAYER_MAX_BUF_CNT, buff_player_pcm_buf_fifo, buff_player_pcm_buf_t::sample_buffer, sample_buffer, buff_player_pcm_buf_t::sample_length, sample_length, and buff_player_pcm_buf_fifo_t::wr_idx.
Referenced by buff_player_dacs_output().
|
static |
References buff_player_is_pcm_buf_fifo_empty(), BUFF_PLAYER_MAX_BUF_CNT, buff_player_pcm_buf_fifo, and buff_player_pcm_buf_fifo_t::rd_idx.
Referenced by buff_player_dacs_end_of_pcm_buf().
|
static |