VSF Documented
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
vsf_audio.h File Reference
#include "../vsf_av_cfg.h"
#include "kernel/vsf_kernel.h"
#include "hal/vsf_hal.h"
#include "utilities/ooc_class.h"
#include "./decoder/wav/vsf_wav.h"
#include "./driver/winsound/vsf_winsound.h"
#include "./driver/i2s/vsf_audio_i2s.h"
#include "./driver/aic1000a/vsf_aic1000a.h"

Go to the source code of this file.

Data Structures

struct  vk_audio_stream_drv_t
 
class  vk_audio_drv_t
 
union  vk_audio_format_t
 
class  vk_audio_stream_t
 
class  vk_audio_dev_t
 
class  vsf_audio_ticktock_stream_adapter_t
 

Macros

#define PUBLIC_CONST   const
 
#define __describe_audio_ticktock_stream_adapter(__name, __stream_tx, __stream_rx, __frame_size)
 
#define describe_audio_ticktock_stream_adapter(__name, __stream_tx, __stream_rx, __frame_size)    __describe_audio_ticktock_stream_adapter(__name, (__stream_tx), (__stream_rx), __frame_size)
 
#define VSF_AUDIO_DATA_TYPE_IS_FLOAT(__VALUE)   ((__VALUE) & VSF_AUDIO_DATA_TYPE_FLOAT)
 
#define VSF_AUDIO_DATA_TYPE_IS_INT(__VALUE)   !VSF_AUDIO_DATA_TYPE_IS_FLOAT(__VALUE)
 
#define VSF_AUDIO_DATA_TYPE_IS_SIGNED(__VALUE)   ((__VALUE) & VSF_AUDIO_DATA_TYPE_SIGNED)
 
#define VSF_AUDIO_DATA_TYPE_IS_UNSIGNED(__VALUE)   !VSF_AUDIO_DATA_TYPE_IS_SIGNED(__VALUE)
 
#define VSF_AUDIO_DATA_TYPE_IS_BE(__VALUE)   ((__VALUE) & VSF_AUDIO_DATA_TYPE_BE)
 
#define VSF_AUDIO_DATA_TYPE_IS_LE(__VALUE)   !VSF_AUDIO_DATA_TYPE_IS_LE(__VALUE)
 
#define __VSF_AUDIO_DATA_TYPE_BITLEN(__LEN)   (((((__LEN) - 1) >> 1) & 0x1F) << 3)
 
#define VSF_AUDIO_DATA_TYPE_BITLEN(__VALUE)   (((((__VALUE) >> 3) & 0x1F) + 1) << 1)
 
#define VSF_AUDIO_DATA_TYPE_BEUL(__LEN)   (VSF_AUDIO_DATA_TYPE_BEU | __VSF_AUDIO_DATA_TYPE_BITLEN(__LEN))
 
#define VSF_AUDIO_DATA_TYPE_BESL(__LEN)   (VSF_AUDIO_DATA_TYPE_BES | __VSF_AUDIO_DATA_TYPE_BITLEN(__LEN))
 
#define VSF_AUDIO_DATA_TYPE_LEUL(__LEN)   (VSF_AUDIO_DATA_TYPE_LEU | __VSF_AUDIO_DATA_TYPE_BITLEN(__LEN))
 
#define VSF_AUDIO_DATA_TYPE_LESL(__LEN)   (VSF_AUDIO_DATA_TYPE_LES | __VSF_AUDIO_DATA_TYPE_BITLEN(__LEN))
 

Typedefs

typedef struct vk_audio_stream_drv_t vk_audio_stream_drv_t
 
typedef enum vk_audio_data_type_t vk_audio_data_type_t
 
typedef union vk_audio_format_t vk_audio_format_t
 

Enumerations

enum  vk_audio_data_type_t {
  VSF_AUDIO_DATA_TYPE_FLOAT = 1 << 0 ,
  VSF_AUDIO_DATA_TYPE_INT = 0 << 0 ,
  VSF_AUDIO_DATA_TYPE_SIGNED = 1 << 1 ,
  VSF_AUDIO_DATA_TYPE_UNSIGNED = 0 << 1 ,
  VSF_AUDIO_DATA_TYPE_BE = 1 << 2 ,
  VSF_AUDIO_DATA_TYPE_LE = 0 << 2 ,
  VSF_AUDIO_DATA_TYPE_BEU = VSF_AUDIO_DATA_TYPE_UNSIGNED | VSF_AUDIO_DATA_TYPE_INT | VSF_AUDIO_DATA_TYPE_BE ,
  VSF_AUDIO_DATA_TYPE_BES = VSF_AUDIO_DATA_TYPE_SIGNED | VSF_AUDIO_DATA_TYPE_INT | VSF_AUDIO_DATA_TYPE_BE ,
  VSF_AUDIO_DATA_TYPE_LEU = VSF_AUDIO_DATA_TYPE_UNSIGNED | VSF_AUDIO_DATA_TYPE_INT | VSF_AUDIO_DATA_TYPE_LE ,
  VSF_AUDIO_DATA_TYPE_LES = VSF_AUDIO_DATA_TYPE_SIGNED | VSF_AUDIO_DATA_TYPE_INT | VSF_AUDIO_DATA_TYPE_LE ,
  VSF_AUDIO_DATA_TYPE_BEU8 = VSF_AUDIO_DATA_TYPE_BEUL(8) ,
  VSF_AUDIO_DATA_TYPE_BEU16 = VSF_AUDIO_DATA_TYPE_BEUL(16) ,
  VSF_AUDIO_DATA_TYPE_BEU24 = VSF_AUDIO_DATA_TYPE_BEUL(24) ,
  VSF_AUDIO_DATA_TYPE_BEU32 = VSF_AUDIO_DATA_TYPE_BEUL(32) ,
  VSF_AUDIO_DATA_TYPE_BES8 = VSF_AUDIO_DATA_TYPE_BESL(8) ,
  VSF_AUDIO_DATA_TYPE_BES16 = VSF_AUDIO_DATA_TYPE_BESL(16) ,
  VSF_AUDIO_DATA_TYPE_BES24 = VSF_AUDIO_DATA_TYPE_BESL(24) ,
  VSF_AUDIO_DATA_TYPE_BES32 = VSF_AUDIO_DATA_TYPE_BESL(32) ,
  VSF_AUDIO_DATA_TYPE_LEU8 = VSF_AUDIO_DATA_TYPE_LEUL(8) ,
  VSF_AUDIO_DATA_TYPE_LEU16 = VSF_AUDIO_DATA_TYPE_LEUL(16) ,
  VSF_AUDIO_DATA_TYPE_LEU24 = VSF_AUDIO_DATA_TYPE_LEUL(24) ,
  VSF_AUDIO_DATA_TYPE_LEU32 = VSF_AUDIO_DATA_TYPE_LEUL(32) ,
  VSF_AUDIO_DATA_TYPE_LES8 = VSF_AUDIO_DATA_TYPE_LESL(8) ,
  VSF_AUDIO_DATA_TYPE_LES16 = VSF_AUDIO_DATA_TYPE_LESL(16) ,
  VSF_AUDIO_DATA_TYPE_LES24 = VSF_AUDIO_DATA_TYPE_LESL(24) ,
  VSF_AUDIO_DATA_TYPE_LES32 = VSF_AUDIO_DATA_TYPE_LESL(32)
}
 

Functions

 __vsf_component_peda_ifs (vk_audio_init) __vsf_component_peda_ifs(vk_audio_control
 
 __vsf_component_peda_ifs (vk_audio_start, vk_audio_stream_t *audio_stream;) __vsf_component_peda_ifs(vk_audio_stop
 
vsf_err_t vk_audio_init (vk_audio_dev_t *pthis)
 
vsf_err_t vk_audio_control (vk_audio_dev_t *pthis, uint_fast8_t stream_idx, vk_av_control_type_t type, vk_av_control_value_t value)
 
vsf_err_t vk_audio_start (vk_audio_dev_t *pthis, uint_fast8_t stream_idx, vsf_stream_t *stream, vk_audio_format_t *format)
 
vsf_err_t vk_audio_stop (vk_audio_dev_t *pthis, uint_fast8_t stream_idx)
 
void vsf_audio_playback_ticktock_stream_adapter_init (vsf_audio_ticktock_stream_adapter_t *adapter)
 
void vsf_audio_capture_ticktock_stream_adapter_init (vsf_audio_ticktock_stream_adapter_t *adapter)
 

Variables

vk_audio_stream_taudio_stream
 
vk_av_control_type_t type
 
vk_av_control_value_t value
 

Macro Definition Documentation

◆ PUBLIC_CONST

#define PUBLIC_CONST   const

◆ __describe_audio_ticktock_stream_adapter

#define __describe_audio_ticktock_stream_adapter (   __name,
  __stream_tx,
  __stream_rx,
  __frame_size 
)
Value:
VSF_STREAM_ADAPTER_INIT((__stream_tx), (__stream_rx), (__frame_size), (__frame_size))\
};
Definition vsf_audio.h:184
#define __name
Definition hci_transport_aic8800.c:552

◆ describe_audio_ticktock_stream_adapter

#define describe_audio_ticktock_stream_adapter (   __name,
  __stream_tx,
  __stream_rx,
  __frame_size 
)     __describe_audio_ticktock_stream_adapter(__name, (__stream_tx), (__stream_rx), __frame_size)

◆ VSF_AUDIO_DATA_TYPE_IS_FLOAT

#define VSF_AUDIO_DATA_TYPE_IS_FLOAT (   __VALUE)    ((__VALUE) & VSF_AUDIO_DATA_TYPE_FLOAT)

◆ VSF_AUDIO_DATA_TYPE_IS_INT

#define VSF_AUDIO_DATA_TYPE_IS_INT (   __VALUE)    !VSF_AUDIO_DATA_TYPE_IS_FLOAT(__VALUE)

◆ VSF_AUDIO_DATA_TYPE_IS_SIGNED

#define VSF_AUDIO_DATA_TYPE_IS_SIGNED (   __VALUE)    ((__VALUE) & VSF_AUDIO_DATA_TYPE_SIGNED)

◆ VSF_AUDIO_DATA_TYPE_IS_UNSIGNED

#define VSF_AUDIO_DATA_TYPE_IS_UNSIGNED (   __VALUE)    !VSF_AUDIO_DATA_TYPE_IS_SIGNED(__VALUE)

◆ VSF_AUDIO_DATA_TYPE_IS_BE

#define VSF_AUDIO_DATA_TYPE_IS_BE (   __VALUE)    ((__VALUE) & VSF_AUDIO_DATA_TYPE_BE)

◆ VSF_AUDIO_DATA_TYPE_IS_LE

#define VSF_AUDIO_DATA_TYPE_IS_LE (   __VALUE)    !VSF_AUDIO_DATA_TYPE_IS_LE(__VALUE)

◆ __VSF_AUDIO_DATA_TYPE_BITLEN

#define __VSF_AUDIO_DATA_TYPE_BITLEN (   __LEN)    (((((__LEN) - 1) >> 1) & 0x1F) << 3)

◆ VSF_AUDIO_DATA_TYPE_BITLEN

#define VSF_AUDIO_DATA_TYPE_BITLEN (   __VALUE)    (((((__VALUE) >> 3) & 0x1F) + 1) << 1)

◆ VSF_AUDIO_DATA_TYPE_BEUL

#define VSF_AUDIO_DATA_TYPE_BEUL (   __LEN)    (VSF_AUDIO_DATA_TYPE_BEU | __VSF_AUDIO_DATA_TYPE_BITLEN(__LEN))

◆ VSF_AUDIO_DATA_TYPE_BESL

#define VSF_AUDIO_DATA_TYPE_BESL (   __LEN)    (VSF_AUDIO_DATA_TYPE_BES | __VSF_AUDIO_DATA_TYPE_BITLEN(__LEN))

◆ VSF_AUDIO_DATA_TYPE_LEUL

#define VSF_AUDIO_DATA_TYPE_LEUL (   __LEN)    (VSF_AUDIO_DATA_TYPE_LEU | __VSF_AUDIO_DATA_TYPE_BITLEN(__LEN))

◆ VSF_AUDIO_DATA_TYPE_LESL

#define VSF_AUDIO_DATA_TYPE_LESL (   __LEN)    (VSF_AUDIO_DATA_TYPE_LES | __VSF_AUDIO_DATA_TYPE_BITLEN(__LEN))

Typedef Documentation

◆ vk_audio_stream_drv_t

◆ vk_audio_data_type_t

◆ vk_audio_format_t

Enumeration Type Documentation

◆ vk_audio_data_type_t

Enumerator
VSF_AUDIO_DATA_TYPE_FLOAT 
VSF_AUDIO_DATA_TYPE_INT 
VSF_AUDIO_DATA_TYPE_SIGNED 
VSF_AUDIO_DATA_TYPE_UNSIGNED 
VSF_AUDIO_DATA_TYPE_BE 
VSF_AUDIO_DATA_TYPE_LE 
VSF_AUDIO_DATA_TYPE_BEU 
VSF_AUDIO_DATA_TYPE_BES 
VSF_AUDIO_DATA_TYPE_LEU 
VSF_AUDIO_DATA_TYPE_LES 
VSF_AUDIO_DATA_TYPE_BEU8 
VSF_AUDIO_DATA_TYPE_BEU16 
VSF_AUDIO_DATA_TYPE_BEU24 
VSF_AUDIO_DATA_TYPE_BEU32 
VSF_AUDIO_DATA_TYPE_BES8 
VSF_AUDIO_DATA_TYPE_BES16 
VSF_AUDIO_DATA_TYPE_BES24 
VSF_AUDIO_DATA_TYPE_BES32 
VSF_AUDIO_DATA_TYPE_LEU8 
VSF_AUDIO_DATA_TYPE_LEU16 
VSF_AUDIO_DATA_TYPE_LEU24 
VSF_AUDIO_DATA_TYPE_LEU32 
VSF_AUDIO_DATA_TYPE_LES8 
VSF_AUDIO_DATA_TYPE_LES16 
VSF_AUDIO_DATA_TYPE_LES24 
VSF_AUDIO_DATA_TYPE_LES32 

Function Documentation

◆ __vsf_component_peda_ifs() [1/2]

__vsf_component_peda_ifs ( vk_audio_init  )

◆ __vsf_component_peda_ifs() [2/2]

__vsf_component_peda_ifs ( vk_audio_start  ,
vk_audio_stream_t *audio_stream  
)

◆ vk_audio_init()

vsf_err_t vk_audio_init ( vk_audio_dev_t pthis)
extern

◆ vk_audio_control()

vsf_err_t vk_audio_control ( vk_audio_dev_t pthis,
uint_fast8_t  stream_idx,
vk_av_control_type_t  type,
vk_av_control_value_t  value 
)
extern

◆ vk_audio_start()

vsf_err_t vk_audio_start ( vk_audio_dev_t pthis,
uint_fast8_t  stream_idx,
vsf_stream_t stream,
vk_audio_format_t format 
)
extern

◆ vk_audio_stop()

vsf_err_t vk_audio_stop ( vk_audio_dev_t pthis,
uint_fast8_t  stream_idx 
)
extern

◆ vsf_audio_playback_ticktock_stream_adapter_init()

void vsf_audio_playback_ticktock_stream_adapter_init ( vsf_audio_ticktock_stream_adapter_t adapter)
extern

◆ vsf_audio_capture_ticktock_stream_adapter_init()

void vsf_audio_capture_ticktock_stream_adapter_init ( vsf_audio_ticktock_stream_adapter_t adapter)
extern

Variable Documentation

◆ audio_stream

vk_audio_stream_t * audio_stream

◆ type

◆ value