FreeRDP
rdpsnd_pulse.c File Reference
#include <freerdp/config.h>
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <winpr/crt.h>
#include <winpr/assert.h>
#include <winpr/stream.h>
#include <winpr/cmdline.h>
#include <pulse/pulseaudio.h>
#include <freerdp/types.h>
#include <freerdp/codec/dsp.h>
#include "rdpsnd_main.h"

Functions

static BOOL rdpsnd_check_pulse (rdpsndPulsePlugin *pulse, BOOL haveStream)
 
static BOOL rdpsnd_pulse_format_supported (rdpsndDevicePlugin *device, const AUDIO_FORMAT *format)
 
static void rdpsnd_pulse_get_sink_info (pa_context *c, const pa_sink_info *i, int eol, void *userdata)
 
static void rdpsnd_pulse_context_state_callback (pa_context *context, void *userdata)
 
static BOOL rdpsnd_pulse_connect (rdpsndDevicePlugin *device)
 
static void rdpsnd_pulse_stream_success_callback (pa_stream *stream, int success, void *userdata)
 
static void rdpsnd_pulse_wait_for_operation (rdpsndPulsePlugin *pulse, pa_operation *operation)
 
static void rdpsnd_pulse_stream_state_callback (pa_stream *stream, void *userdata)
 
static void rdpsnd_pulse_stream_request_callback (pa_stream *stream, size_t length, void *userdata)
 
static void rdpsnd_pulse_close (rdpsndDevicePlugin *device)
 
static BOOL rdpsnd_pulse_set_format_spec (rdpsndPulsePlugin *pulse, const AUDIO_FORMAT *format)
 
static BOOL rdpsnd_pulse_context_connect (rdpsndDevicePlugin *device)
 
static BOOL rdpsnd_pulse_open_stream (rdpsndDevicePlugin *device)
 
static BOOL rdpsnd_pulse_open (rdpsndDevicePlugin *device, const AUDIO_FORMAT *format, UINT32 latency)
 
static void rdpsnd_pulse_free (rdpsndDevicePlugin *device)
 
static BOOL rdpsnd_pulse_default_format (rdpsndDevicePlugin *device, const AUDIO_FORMAT *desired, AUDIO_FORMAT *defaultFormat)
 
static UINT32 rdpsnd_pulse_get_volume (rdpsndDevicePlugin *device)
 
static void rdpsnd_set_volume_success_cb (pa_context *c, int success, void *userdata)
 
static BOOL rdpsnd_pulse_set_volume (rdpsndDevicePlugin *device, UINT32 value)
 
static UINT rdpsnd_pulse_play (rdpsndDevicePlugin *device, const BYTE *data, size_t size)
 
static UINT rdpsnd_pulse_parse_addin_args (rdpsndDevicePlugin *device, const ADDIN_ARGV *args)
 
 FREERDP_ENTRY_POINT (UINT pulse_freerdp_rdpsnd_client_subsystem_entry(PFREERDP_RDPSND_DEVICE_ENTRY_POINTS pEntryPoints))
 

Function Documentation

◆ FREERDP_ENTRY_POINT()

FREERDP_ENTRY_POINT ( UINT   pulse_freerdp_rdpsnd_client_subsystem_entry PFREERDP_RDPSND_DEVICE_ENTRY_POINTS pEntryPoints)
Here is the call graph for this function:

◆ rdpsnd_check_pulse()

static BOOL rdpsnd_check_pulse ( rdpsndPulsePlugin *  pulse,
BOOL  haveStream 
)
static
Here is the caller graph for this function:

◆ rdpsnd_pulse_close()

static void rdpsnd_pulse_close ( rdpsndDevicePlugin *  device)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rdpsnd_pulse_connect()

static BOOL rdpsnd_pulse_connect ( rdpsndDevicePlugin *  device)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rdpsnd_pulse_context_connect()

static BOOL rdpsnd_pulse_context_connect ( rdpsndDevicePlugin *  device)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rdpsnd_pulse_context_state_callback()

static void rdpsnd_pulse_context_state_callback ( pa_context *  context,
void *  userdata 
)
static
Here is the caller graph for this function:

◆ rdpsnd_pulse_default_format()

static BOOL rdpsnd_pulse_default_format ( rdpsndDevicePlugin *  device,
const AUDIO_FORMAT desired,
AUDIO_FORMAT defaultFormat 
)
static
Here is the caller graph for this function:

◆ rdpsnd_pulse_format_supported()

BOOL rdpsnd_pulse_format_supported ( rdpsndDevicePlugin *  device,
const AUDIO_FORMAT format 
)
static
Here is the caller graph for this function:

◆ rdpsnd_pulse_free()

static void rdpsnd_pulse_free ( rdpsndDevicePlugin *  device)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rdpsnd_pulse_get_sink_info()

static void rdpsnd_pulse_get_sink_info ( pa_context *  c,
const pa_sink_info *  i,
int  eol,
void *  userdata 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rdpsnd_pulse_get_volume()

static UINT32 rdpsnd_pulse_get_volume ( rdpsndDevicePlugin *  device)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rdpsnd_pulse_open()

static BOOL rdpsnd_pulse_open ( rdpsndDevicePlugin *  device,
const AUDIO_FORMAT format,
UINT32  latency 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rdpsnd_pulse_open_stream()

static BOOL rdpsnd_pulse_open_stream ( rdpsndDevicePlugin *  device)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rdpsnd_pulse_parse_addin_args()

static UINT rdpsnd_pulse_parse_addin_args ( rdpsndDevicePlugin *  device,
const ADDIN_ARGV args 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rdpsnd_pulse_play()

static UINT rdpsnd_pulse_play ( rdpsndDevicePlugin *  device,
const BYTE data,
size_t  size 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rdpsnd_pulse_set_format_spec()

static BOOL rdpsnd_pulse_set_format_spec ( rdpsndPulsePlugin *  pulse,
const AUDIO_FORMAT format 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rdpsnd_pulse_set_volume()

static BOOL rdpsnd_pulse_set_volume ( rdpsndDevicePlugin *  device,
UINT32  value 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rdpsnd_pulse_stream_request_callback()

static void rdpsnd_pulse_stream_request_callback ( pa_stream *  stream,
size_t  length,
void *  userdata 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rdpsnd_pulse_stream_state_callback()

static void rdpsnd_pulse_stream_state_callback ( pa_stream *  stream,
void *  userdata 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rdpsnd_pulse_stream_success_callback()

static void rdpsnd_pulse_stream_success_callback ( pa_stream *  stream,
int  success,
void *  userdata 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rdpsnd_pulse_wait_for_operation()

static void rdpsnd_pulse_wait_for_operation ( rdpsndPulsePlugin *  pulse,
pa_operation *  operation 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rdpsnd_set_volume_success_cb()

static void rdpsnd_set_volume_success_cb ( pa_context *  c,
int  success,
void *  userdata 
)
static
Here is the call graph for this function:
Here is the caller graph for this function: