Asterisk - The Open Source Telephony Project  18.5.0
Public Member Functions | Data Fields
softmix_bridge_data Struct Reference

#include <bridge_softmix_internal.h>

Collaboration diagram for softmix_bridge_data:
Collaboration graph
[legend]

Public Member Functions

 AST_VECTOR (, struct softmix_remb_collector *) remb_collectors
 

Data Fields

unsigned int binaural_init
 
float bitrate
 
struct ast_bridgebridge
 Bridge pointer passed to the softmix mixing thread. More...
 
ast_cond_t cond
 
struct convolve_data convolve
 
unsigned int default_sample_size
 
unsigned int internal_mixing_interval
 
unsigned int internal_rate
 
struct timeval last_remb_update
 
struct timeval last_video_update
 
ast_mutex_t lock
 
unsigned int stop:1
 
pthread_t thread
 
struct ast_timertimer
 

Detailed Description

Definition at line 184 of file bridge_softmix_internal.h.

Member Function Documentation

◆ AST_VECTOR()

AST_VECTOR ( struct softmix_remb_collector )

Per-bridge stream REMB collectors, which flow back to video source

Field Documentation

◆ binaural_init

unsigned int binaural_init

TRUE if the first attempt to init binaural rendering data was done (does not guarantee success)

Definition at line 212 of file bridge_softmix_internal.h.

Referenced by softmix_mixing_thread().

◆ bitrate

float bitrate

Per-bridge REMB bitrate

Definition at line 220 of file bridge_softmix_internal.h.

Referenced by remb_collect_report(), remb_collect_report_all(), remb_send_report(), and softmix_mixing_loop().

◆ bridge

struct ast_bridge* bridge

Bridge pointer passed to the softmix mixing thread.

Note
Does not need a reference because the bridge will always exist while the mixing thread exists even if the bridge is no longer actively using the softmix technology.

Definition at line 193 of file bridge_softmix_internal.h.

Referenced by softmix_bridge_create(), and softmix_mixing_thread().

◆ cond

ast_cond_t cond

Condition, used if we need to wake up the mixing thread.

Definition at line 197 of file bridge_softmix_internal.h.

Referenced by softmix_bridge_create(), softmix_bridge_data_destroy(), softmix_bridge_destroy(), softmix_mixing_thread(), and softmix_poke_thread().

◆ convolve

struct convolve_data convolve

◆ default_sample_size

unsigned int default_sample_size

The default sample size (e.g. using Opus at 48khz and 20 ms mixing interval, sample size is 960)

Definition at line 206 of file bridge_softmix_internal.h.

Referenced by binaural_mixing(), random_binaural_pos_change(), softmix_bridge_create(), softmix_bridge_join(), softmix_bridge_leave(), softmix_mixing_loop(), and softmix_mixing_thread().

◆ internal_mixing_interval

unsigned int internal_mixing_interval

◆ internal_rate

unsigned int internal_rate

◆ last_remb_update

struct timeval last_remb_update

The last time a REMB frame was sent to each source of video

Definition at line 216 of file bridge_softmix_internal.h.

Referenced by softmix_mixing_loop().

◆ last_video_update

struct timeval last_video_update

The last time a video update was sent into the bridge

Definition at line 214 of file bridge_softmix_internal.h.

Referenced by softmix_bridge_write_control().

◆ lock

◆ stop

unsigned int stop

TRUE if the mixing thread should stop

Definition at line 203 of file bridge_softmix_internal.h.

Referenced by softmix_bridge_destroy(), softmix_bridge_stop(), softmix_mixing_loop(), and softmix_mixing_thread().

◆ thread

pthread_t thread

Thread handling the mixing

Definition at line 199 of file bridge_softmix_internal.h.

Referenced by softmix_bridge_create(), and softmix_bridge_destroy().

◆ timer

struct ast_timer* timer

The documentation for this struct was generated from the following file: