Skip to main content
Header: spf/api/modules/sh_mem_pull_push_mode_api.h

Structures

event_cfg_sh_mem_pull_push_mode_watermark_level_t

Payload of the EVENT_ID_SH_MEM_PULL_PUSH_MODE_WATERMARK event. Members
uint32_t
Watermark level in the circular buffer, in bytes.

event_cfg_sh_mem_pull_push_mode_watermark_t

Immediately following this structure are watermark level structures of type sh_mem_pull_push_mode_watermark_level_t. Members
uint32_t
Number of watermark levels in the array.

event_sh_mem_pull_push_mode_watermark_level_t

Payload of the EVENT_ID_SH_MEM_PULL_PUSH_MODE_WATERMARK event. Members
uint32_t
Watermark level in the circular buffer in bytes.

event_sh_mem_push_mode_eos_marker_t

Payload of the event EVENT_ID_SH_MEM_PUSH_MODE_EOS_MARKER, contains the timestamp of the EOS marker. Members
uint32_t
Index of the sample in the circular buffer at which EOS marker is set.
uint32_t
Lower 32 bits of Timestamp at which push mode module received EOS.
uint32_t
Higher 32 bits of Timestamp at which push mode module received EOS.

sh_mem_pull_push_mode_position_buffer_t

Common structure definition for the shared circular buffer between the SPF and clients. Members
volatile uint32_t
Counter used to handle interprocessor synchronization issues associated with reading write_index, wall_clock_us_lsw, and wall_clock_us_msw.
volatile uint32_t
Index (in bytes) to the buffer where the SPF is writing (Push mode) or reading (Pull mode).
volatile uint32_t
Upper 32 bits of the 64-bit timestamp, in microseconds.
volatile uint32_t
Upper 32 bits of the 64-bit timestamp, in microseconds.

sh_mem_pull_push_mode_cfg_t

Payload of the PARAM_ID_SH_MEM_PULL_PUSH_MODE_CFG parameter. Members
uint32_t
Lower 32 bits of the address of the shared circular buffer.
uint32_t
Upper 32 bits of the address of the shared circular buffer.
uint32_t
Number of bytes in the shared circular buffer.
uint32_t
Unique identifier for the shared memory address of shared circular buffer.
uint32_t
Lower 32 bits of the address of the shared position buffer.
uint32_t
Upper 32 bits of the address of the shared position buffer.
uint32_t
Unique identifier for the shared memory address of position buffer.

sh_mem_push_mode_header_cfg_t

Members
uint32_t
Bit field to enable/disable additional information to be sent along with the audio data in the buffer.

sh_mem_push_mode_batch_header_t

Batch header structure that appears at the start of each batch in shared memory. Members
uint32_t
Sync word for validation.

sh_mem_push_mode_param_header_t

Parameter header type information structure (PARAM_ID + SIZE). Members
uint32_t
Parameter ID identifying the type of data that follows.
uint32_t
Actual size of the payload in bytes.
uint32_t
Size of the padded bytes in param payload, to make next header SYNC_WORD 4-byte aligned.

sh_mem_push_mode_timestamp_payload_t

Timestamp parameter payload structure. Members
uint32_t
Lower 32 bits of the 64-bit timestamp, in microseconds.
uint32_t
Upper 32 bits of the 64-bit timestamp, in microseconds.

Type Definitions

event_cfg_sh_mem_pull_push_mode_watermark_level_t

event_cfg_sh_mem_pull_push_mode_watermark_t

event_sh_mem_pull_push_mode_watermark_level_t

event_sh_mem_push_mode_eos_marker_t

sh_mem_pull_push_mode_position_buffer_t

sh_mem_pull_push_mode_cfg_t

sh_mem_push_mode_header_cfg_t

sh_mem_push_mode_batch_header_t

sh_mem_push_mode_param_header_t

sh_mem_push_mode_timestamp_payload_t

Macros

SH_MEM_PULL_MODE_MAX_INPUT_PORTS

Enumerates the maximum number of input ports for Pull mode.

SH_MEM_PULL_MODE_MAX_OUTPUT_PORTS

Enumerates the maximum number of output ports for Pull mode.

SH_MEM_PULL_MODE_STACK_SIZE_REQUIREMENT

Enumerates the stack size of the module for Pull mode.

SH_MEM_PUSH_MODE_MAX_INPUT_PORTS

Enumerates the maximum number of input ports for Push mode.

SH_MEM_PUSH_MODE_MAX_OUTPUT_PORTS

Enumerates the maximum number of output ports for Push mode.

SH_MEM_PUSH_MODE_STACK_SIZE_REQUIREMENT

Enumerates the stack size of the module for Push mode.

EVENT_ID_SH_MEM_PULL_PUSH_MODE_WATERMARK

Identifier of the watermark event from the MODULE_ID_SH_MEM_PULL_MODE and MODULE_ID_SH_MEM_PUSH_MODE modules to the client.

EVENT_ID_SH_MEM_PUSH_MODE_EOS_MARKER

Identifier of the EOS marker event from the MODULE_ID_SH_MEM_PUSH_MODE modules to the client.

PARAM_ID_SH_MEM_PULL_PUSH_MODE_CFG

Identifier of the parameter that configures shared memory information for Pull mode and Push mode.

PARAM_ID_SH_MEM_PUSH_MODE_HEADER_CFG

Identifier of the parameter that configures header information for Push mode.

SH_MEM_PUSH_MODE_HEADER_SYNC_WORD

Sync word for header validation.

PARAM_ID_HEADER_TYPE_UTC_TIMESTAMP

Header Parameter ID for UTC timestamp.

PARAM_ID_HEADER_TYPE_PCM_DATA

Header Parameter ID for PCM data.

MODULE_ID_SH_MEM_PULL_MODE

Identifier for the Shared Memory Pull mode module, which writes data to the SPF from the host through a shared circular buffer.

MODULE_ID_SH_MEM_PUSH_MODE

Identifier for the shared memory Push mode module, which reads data from the SPF to the host through a shared circular buffer.