FreeRDP
audin_ios.m File Reference
#include <freerdp/config.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <winpr/crt.h>
#include <winpr/synch.h>
#include <winpr/string.h>
#include <winpr/thread.h>
#include <winpr/debug.h>
#include <winpr/cmdline.h>
#import <AVFoundation/AVFoundation.h>
#include <CoreAudio/CoreAudioTypes.h>
#include <AudioToolbox/AudioToolbox.h>
#include <AudioToolbox/AudioQueue.h>
#include <freerdp/addin.h>
#include <freerdp/channels/rdpsnd.h>
#include "audin_main.h"

Macros

#define __COREFOUNDATION_CFPLUGINCOM__   1
 
#define IUNKNOWN_C_GUTS
 
#define IOS_AUDIO_QUEUE_NUM_BUFFERS   100
 

Functions

static AudioFormatID audin_ios_get_format (const AUDIO_FORMAT *format)
 
static AudioFormatFlags audin_ios_get_flags_for_format (const AUDIO_FORMAT *format)
 
static BOOL audin_ios_format_supported (IAudinDevice *device, const AUDIO_FORMAT *format)
 
static UINT audin_ios_set_format (IAudinDevice *device, const AUDIO_FORMAT *format, UINT32 FramesPerPacket)
 
static void ios_audio_queue_input_cb (void *aqData, AudioQueueRef inAQ, AudioQueueBufferRef inBuffer, const AudioTimeStamp *inStartTime, UInt32 inNumPackets, const AudioStreamPacketDescription *inPacketDesc)
 
static UINT audin_ios_close (IAudinDevice *device)
 
static UINT audin_ios_open (IAudinDevice *device, AudinReceive receive, void *user_data)
 
static UINT audin_ios_free (IAudinDevice *device)
 
 FREERDP_ENTRY_POINT (UINT VCAPITYPE ios_freerdp_audin_client_subsystem_entry(PFREERDP_AUDIN_DEVICE_ENTRY_POINTS pEntryPoints))
 

Macro Definition Documentation

◆ __COREFOUNDATION_CFPLUGINCOM__

#define __COREFOUNDATION_CFPLUGINCOM__   1

FreeRDP: A Remote Desktop Protocol Implementation Audio Input Redirection Virtual Channel - iOS implementation

Copyright (c) 2015 Armin Novak armin.nosp@m..nov.nosp@m.ak@th.nosp@m.inca.nosp@m.st.co.nosp@m.m Copyright 2015 Thincast Technologies GmbH

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.

◆ IOS_AUDIO_QUEUE_NUM_BUFFERS

#define IOS_AUDIO_QUEUE_NUM_BUFFERS   100

◆ IUNKNOWN_C_GUTS

#define IUNKNOWN_C_GUTS
Value:
void *_reserved; \
void *QueryInterface; \
void *AddRef; \
void *Release

Function Documentation

◆ audin_ios_close()

static UINT audin_ios_close ( IAudinDevice *  device)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ audin_ios_format_supported()

static BOOL audin_ios_format_supported ( IAudinDevice *  device,
const AUDIO_FORMAT format 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ audin_ios_free()

static UINT audin_ios_free ( IAudinDevice *  device)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ audin_ios_get_flags_for_format()

static AudioFormatFlags audin_ios_get_flags_for_format ( const AUDIO_FORMAT format)
static
Here is the caller graph for this function:

◆ audin_ios_get_format()

static AudioFormatID audin_ios_get_format ( const AUDIO_FORMAT format)
static
Here is the caller graph for this function:

◆ audin_ios_open()

static UINT audin_ios_open ( IAudinDevice *  device,
AudinReceive  receive,
void *  user_data 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ audin_ios_set_format()

static UINT audin_ios_set_format ( IAudinDevice *  device,
const AUDIO_FORMAT format,
UINT32  FramesPerPacket 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code
Here is the call graph for this function:
Here is the caller graph for this function:

◆ FREERDP_ENTRY_POINT()

FREERDP_ENTRY_POINT ( UINT VCAPITYPE   ios_freerdp_audin_client_subsystem_entry PFREERDP_AUDIN_DEVICE_ENTRY_POINTS pEntryPoints)
Here is the call graph for this function:

◆ ios_audio_queue_input_cb()

static void ios_audio_queue_input_cb ( void *  aqData,
AudioQueueRef  inAQ,
AudioQueueBufferRef  inBuffer,
const AudioTimeStamp *  inStartTime,
UInt32  inNumPackets,
const AudioStreamPacketDescription *  inPacketDesc 
)
static
Here is the call graph for this function:
Here is the caller graph for this function: