FreeRDP
rdpsnd_oss.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <winpr/crt.h>
#include <winpr/cmdline.h>
#include <winpr/sysinfo.h>
#include <winpr/collections.h>
#include <err.h>
#include <errno.h>
#include <fcntl.h>
#include <libgen.h>
#include <limits.h>
#include <unistd.h>
#include <sys/soundcard.h>
#include <sys/ioctl.h>
#include <freerdp/types.h>
#include <freerdp/channels/log.h>
#include "rdpsnd_main.h"

Macros

#define OSS_LOG_ERR(_text, _error)
 
#define freerdp_rdpsnd_client_subsystem_entry   FREERDP_API freerdp_rdpsnd_client_subsystem_entry
 

Functions

static int rdpsnd_oss_get_format (const AUDIO_FORMAT *format)
 
static BOOL rdpsnd_oss_format_supported (rdpsndDevicePlugin *device, const AUDIO_FORMAT *format)
 
static BOOL rdpsnd_oss_set_format (rdpsndDevicePlugin *device, const AUDIO_FORMAT *format, UINT32 latency)
 
static void rdpsnd_oss_open_mixer (rdpsndOssPlugin *oss)
 
static BOOL rdpsnd_oss_open (rdpsndDevicePlugin *device, const AUDIO_FORMAT *format, UINT32 latency)
 
static void rdpsnd_oss_close (rdpsndDevicePlugin *device)
 
static void rdpsnd_oss_free (rdpsndDevicePlugin *device)
 
static UINT32 rdpsnd_oss_get_volume (rdpsndDevicePlugin *device)
 
static BOOL rdpsnd_oss_set_volume (rdpsndDevicePlugin *device, UINT32 value)
 
static UINT rdpsnd_oss_play (rdpsndDevicePlugin *device, const BYTE *data, size_t size)
 
static int rdpsnd_oss_parse_addin_args (rdpsndDevicePlugin *device, ADDIN_ARGV *args)
 
UINT freerdp_rdpsnd_client_subsystem_entry (PFREERDP_RDPSND_DEVICE_ENTRY_POINTS pEntryPoints)
 

Variables

static COMMAND_LINE_ARGUMENT_A rdpsnd_oss_args []
 

Macro Definition Documentation

#define freerdp_rdpsnd_client_subsystem_entry   FREERDP_API freerdp_rdpsnd_client_subsystem_entry
#define OSS_LOG_ERR (   _text,
  _error 
)
Value:
{ \
if (_error != 0) \
WLog_ERR(TAG, "%s: %i - %s", _text, _error, strerror(_error)); \
}
#define TAG
Definition: audin_main.h:33
winpr freerdp if(WITH_DEBUG_SYMBOLS AND MSVC AND NOT BUILTIN_CHANNELS AND BUILD_SHARED_LIBS) install(FILES $
Definition: channels/drive/client/CMakeLists.txt:32
#define WLog_ERR(tag,...)
Definition: include/winpr/wlog.h:158

Function Documentation

UINT freerdp_rdpsnd_client_subsystem_entry ( PFREERDP_RDPSND_DEVICE_ENTRY_POINTS  pEntryPoints)

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the call graph for this function:

static void rdpsnd_oss_close ( rdpsndDevicePlugin *  device)
static

Here is the caller graph for this function:

static BOOL rdpsnd_oss_format_supported ( rdpsndDevicePlugin *  device,
const AUDIO_FORMAT format 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static void rdpsnd_oss_free ( rdpsndDevicePlugin *  device)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static int rdpsnd_oss_get_format ( const AUDIO_FORMAT format)
static

Here is the caller graph for this function:

static UINT32 rdpsnd_oss_get_volume ( rdpsndDevicePlugin *  device)
static

Here is the caller graph for this function:

static BOOL rdpsnd_oss_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:

static void rdpsnd_oss_open_mixer ( rdpsndOssPlugin *  oss)
static

Here is the caller graph for this function:

static int rdpsnd_oss_parse_addin_args ( rdpsndDevicePlugin *  device,
ADDIN_ARGV *  args 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static UINT rdpsnd_oss_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:

static BOOL rdpsnd_oss_set_format ( 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:

static BOOL rdpsnd_oss_set_volume ( rdpsndDevicePlugin *  device,
UINT32  value 
)
static

Here is the caller graph for this function:

Variable Documentation

COMMAND_LINE_ARGUMENT_A rdpsnd_oss_args[]
static
Initial value:
=
{
{ "dev", COMMAND_LINE_VALUE_REQUIRED, "<device>", NULL, NULL, -1, NULL, "device" },
{ NULL, 0, NULL, NULL, NULL, -1, NULL, NULL }
}
#define COMMAND_LINE_VALUE_REQUIRED
Definition: winpr/include/winpr/cmdline.h:34
if availableBytes return NULL
Definition: TPCircularBuffer.h:104