FreeRDP
rdpsnd_ios.c File Reference
#include <freerdp/config.h>
#include <winpr/wtypes.h>
#include <freerdp/types.h>
#include <freerdp/codec/dsp.h>
#import <AudioToolbox/AudioToolbox.h>
#include "rdpsnd_main.h"
#include "TPCircularBuffer.h"

Macros

#define INPUT_BUFFER_SIZE   32768
 
#define CIRCULAR_BUFFER_SIZE   (INPUT_BUFFER_SIZE * 4)
 
#define THIS(__ptr)   ((rdpsndIOSPlugin*)__ptr)
 

Functions

static OSStatus rdpsnd_ios_render_cb (void *inRefCon, AudioUnitRenderActionFlags __unused *ioActionFlags, const AudioTimeStamp __unused *inTimeStamp, UInt32 inBusNumber, UInt32 __unused inNumberFrames, AudioBufferList *ioData)
 
static BOOL rdpsnd_ios_format_supported (rdpsndDevicePlugin *__unused device, const AUDIO_FORMAT *format)
 
static BOOL rdpsnd_ios_set_volume (rdpsndDevicePlugin *__unused device, UINT32 __unused value)
 
static void rdpsnd_ios_start (rdpsndDevicePlugin *device)
 
static void rdpsnd_ios_stop (rdpsndDevicePlugin *__unused device)
 
static UINT rdpsnd_ios_play (rdpsndDevicePlugin *device, const BYTE *data, size_t size)
 
static BOOL rdpsnd_ios_open (rdpsndDevicePlugin *device, const AUDIO_FORMAT *format, int __unused latency)
 
static void rdpsnd_ios_close (rdpsndDevicePlugin *device)
 
static void rdpsnd_ios_free (rdpsndDevicePlugin *device)
 
 FREERDP_ENTRY_POINT (UINT ios_freerdp_rdpsnd_client_subsystem_entry(PFREERDP_RDPSND_DEVICE_ENTRY_POINTS pEntryPoints))
 

Macro Definition Documentation

◆ CIRCULAR_BUFFER_SIZE

#define CIRCULAR_BUFFER_SIZE   (INPUT_BUFFER_SIZE * 4)

◆ INPUT_BUFFER_SIZE

#define INPUT_BUFFER_SIZE   32768

FreeRDP: A Remote Desktop Protocol Implementation Audio Output Virtual Channel

Copyright 2013 Dell Software Mike..nosp@m.McDo.nosp@m.nald@.nosp@m.soft.nosp@m.ware..nosp@m.dell.nosp@m..com Copyright 2015 Thincast Technologies GmbH Copyright 2015 DI (FH) Martin Haimberger marti.nosp@m.n.ha.nosp@m.imber.nosp@m.ger@.nosp@m.thinc.nosp@m.ast..nosp@m.com

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

◆ THIS

#define THIS (   __ptr)    ((rdpsndIOSPlugin*)__ptr)

Function Documentation

◆ FREERDP_ENTRY_POINT()

FREERDP_ENTRY_POINT ( UINT   ios_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:

◆ rdpsnd_ios_close()

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

◆ rdpsnd_ios_format_supported()

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

◆ rdpsnd_ios_free()

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

◆ rdpsnd_ios_open()

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

◆ rdpsnd_ios_play()

static UINT rdpsnd_ios_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_ios_render_cb()

static OSStatus rdpsnd_ios_render_cb ( void *  inRefCon,
AudioUnitRenderActionFlags __unused *  ioActionFlags,
const AudioTimeStamp __unused *  inTimeStamp,
UInt32  inBusNumber,
UInt32 __unused  inNumberFrames,
AudioBufferList *  ioData 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rdpsnd_ios_set_volume()

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

◆ rdpsnd_ios_start()

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

◆ rdpsnd_ios_stop()

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