FreeRDP
server/rdpsnd_main.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <winpr/crt.h>
#include <winpr/print.h>
#include <winpr/stream.h>
#include <freerdp/channels/log.h>
#include "rdpsnd_common.h"
#include "rdpsnd_main.h"

Functions

static UINT rdpsnd_server_send_formats (RdpsndServerContext *context, wStream *s)
 
static UINT rdpsnd_server_recv_waveconfirm (RdpsndServerContext *context, wStream *s)
 
static UINT rdpsnd_server_recv_quality_mode (RdpsndServerContext *context, wStream *s)
 
static UINT rdpsnd_server_recv_formats (RdpsndServerContext *context, wStream *s)
 
static DWORD WINAPI rdpsnd_server_thread (LPVOID arg)
 
static UINT rdpsnd_server_initialize (RdpsndServerContext *context, BOOL ownThread)
 
static UINT rdpsnd_server_select_format (RdpsndServerContext *context, UINT16 client_format_index)
 
static BOOL rdpsnd_server_align_wave_pdu (wStream *s, UINT32 alignment)
 
static UINT rdpsnd_server_send_wave_pdu (RdpsndServerContext *context, UINT16 wTimestamp)
 
static UINT rdpsnd_server_send_wave2_pdu (RdpsndServerContext *context, UINT16 wTimestamp)
 
static UINT rdpsnd_server_send_audio_pdu (RdpsndServerContext *context, UINT16 wTimestamp)
 
static UINT rdpsnd_server_send_samples (RdpsndServerContext *context, const void *buf, int nframes, UINT16 wTimestamp)
 
static UINT rdpsnd_server_set_volume (RdpsndServerContext *context, int left, int right)
 
static UINT rdpsnd_server_close (RdpsndServerContext *context)
 
static UINT rdpsnd_server_start (RdpsndServerContext *context)
 
static UINT rdpsnd_server_stop (RdpsndServerContext *context)
 
RdpsndServerContext * rdpsnd_server_context_new (HANDLE vcm)
 
void rdpsnd_server_context_reset (RdpsndServerContext *context)
 
void rdpsnd_server_context_free (RdpsndServerContext *context)
 
HANDLE rdpsnd_server_get_event_handle (RdpsndServerContext *context)
 
UINT rdpsnd_server_handle_messages (RdpsndServerContext *context)
 

Function Documentation

static BOOL rdpsnd_server_align_wave_pdu ( wStream *  s,
UINT32  alignment 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static UINT rdpsnd_server_close ( RdpsndServerContext *  context)
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:

void rdpsnd_server_context_free ( RdpsndServerContext *  context)

Here is the call graph for this function:

Here is the caller graph for this function:

RdpsndServerContext* rdpsnd_server_context_new ( HANDLE  vcm)

Here is the call graph for this function:

Here is the caller graph for this function:

void rdpsnd_server_context_reset ( RdpsndServerContext *  context)

Here is the call graph for this function:

HANDLE rdpsnd_server_get_event_handle ( RdpsndServerContext *  context)
UINT rdpsnd_server_handle_messages ( RdpsndServerContext *  context)

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:

static UINT rdpsnd_server_initialize ( RdpsndServerContext *  context,
BOOL  ownThread 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the caller graph for this function:

static UINT rdpsnd_server_recv_formats ( RdpsndServerContext *  context,
wStream *  s 
)
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:

static UINT rdpsnd_server_recv_quality_mode ( RdpsndServerContext *  context,
wStream *  s 
)
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:

static UINT rdpsnd_server_recv_waveconfirm ( RdpsndServerContext *  context,
wStream *  s 
)
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:

static UINT rdpsnd_server_select_format ( RdpsndServerContext *  context,
UINT16  client_format_index 
)
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:

static UINT rdpsnd_server_send_audio_pdu ( RdpsndServerContext *  context,
UINT16  wTimestamp 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static UINT rdpsnd_server_send_formats ( RdpsndServerContext *  context,
wStream *  s 
)
static

FreeRDP: A Remote Desktop Protocol Implementation Server Audio Virtual Channel

Copyright 2012 Vic Lee 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. 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:

static UINT rdpsnd_server_send_samples ( RdpsndServerContext *  context,
const void buf,
int  nframes,
UINT16  wTimestamp 
)
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:

static UINT rdpsnd_server_send_wave2_pdu ( RdpsndServerContext *  context,
UINT16  wTimestamp 
)
static

Function description context->priv->lock should be obtained before calling this function

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:

static UINT rdpsnd_server_send_wave_pdu ( RdpsndServerContext *  context,
UINT16  wTimestamp 
)
static

Function description context->priv->lock should be obtained before calling this function

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:

static UINT rdpsnd_server_set_volume ( RdpsndServerContext *  context,
int  left,
int  right 
)
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:

static UINT rdpsnd_server_start ( RdpsndServerContext *  context)
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:

static UINT rdpsnd_server_stop ( RdpsndServerContext *  context)
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:

static DWORD WINAPI rdpsnd_server_thread ( LPVOID  arg)
static

Here is the call graph for this function:

Here is the caller graph for this function: