rdpsnd_server_context Struct Reference

#include <rdpsnd.h>

Collaboration diagram for rdpsnd_server_context:

Data Fields

psRdpsndStart Start
psRdpsndStop Stop
RdpsndServerPrivate * priv
void * data
BOOL use_dynamic_virtual_channel
size_t num_server_formats
UINT32 latency
UINT16 num_client_formats
UINT16 selected_client_format
UINT8 block_no
psRdpsndServerInitialize Initialize
psRdpsndServerSelectFormat SelectFormat
psRdpsndServerSendSamples SendSamples
psRdpsndServerConfirmBlock ConfirmBlock
psRdpsndServerSetVolume SetVolume
psRdpsndServerClose Close
psRdpsndServerActivated Activated
UINT16 clientVersion
rdpContext * rdpcontext
UINT32 capsFlags
UINT32 initialVolume
UINT32 initialPitch
UINT16 qualityMode
psRdpsndServerSendFormats SendFormats
psRdpsndServerTraining Training
psRdpsndServerSendSamples2 SendSamples2
psRdpsndServerTrainingConfirm TrainingConfirm
psRdpsndChannelIdAssigned ChannelIdAssigned

Detailed Description

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

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

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.

Field Documentation

◆ Activated

psRdpsndServerActivated rdpsnd_server_context::Activated

The channel has been activated. The server maybe choose audio format and start audio stream from this point. Note that this callback is called from a different thread context so the server must be careful of thread synchronization.

◆ block_no

UINT8 rdpsnd_server_context::block_no

◆ capsFlags

UINT32 rdpsnd_server_context::capsFlags

◆ ChannelIdAssigned

psRdpsndChannelIdAssigned rdpsnd_server_context::ChannelIdAssigned

Callback, when the channel got its id assigned. Only called, when use_dynamic_virtual_channel=TRUE.

◆ client_formats

AUDIO_FORMAT* rdpsnd_server_context::client_formats

◆ clientVersion

UINT16 rdpsnd_server_context::clientVersion

MS-RDPEA channel version the client announces

◆ Close

psRdpsndServerClose rdpsnd_server_context::Close

Close the audio stream.

◆ ConfirmBlock

psRdpsndServerConfirmBlock rdpsnd_server_context::ConfirmBlock

Called when block confirm is received from the client

◆ data

void* rdpsnd_server_context::data

◆ Initialize

psRdpsndServerInitialize rdpsnd_server_context::Initialize

Initialize the channel. The caller should check the return value to see whether the initialization succeed. If not, the "Activated" callback will not be called and the server must not call any API on this context.

◆ initialPitch

UINT32 rdpsnd_server_context::initialPitch

◆ initialVolume

UINT32 rdpsnd_server_context::initialVolume

◆ latency

UINT32 rdpsnd_server_context::latency

◆ num_client_formats

UINT16 rdpsnd_server_context::num_client_formats

◆ num_server_formats

size_t rdpsnd_server_context::num_server_formats

◆ priv

RdpsndServerPrivate* rdpsnd_server_context::priv

◆ qualityMode

UINT16 rdpsnd_server_context::qualityMode

◆ rdpcontext

rdpContext* rdpsnd_server_context::rdpcontext

◆ selected_client_format

UINT16 rdpsnd_server_context::selected_client_format

◆ SelectFormat

psRdpsndServerSelectFormat rdpsnd_server_context::SelectFormat

Choose the audio format to be sent. The index argument is an index into the client_formats array and must be smaller than num_client_formats.

◆ SendFormats

psRdpsndServerSendFormats rdpsnd_server_context::SendFormats

Send server formats and version to the client. Automatically sent, when opening the channel. Also used to restart the protocol after sending the Close PDU.

◆ SendSamples

psRdpsndServerSendSamples rdpsnd_server_context::SendSamples

Send audio samples. Actually bytes in the buffer must be: nframes * src_format.nBitsPerSample * src_format.nChannels / 8

◆ SendSamples2

psRdpsndServerSendSamples2 rdpsnd_server_context::SendSamples2

Send encoded audio samples using a Wave2 PDU. When successful, the block_no member is incremented.

◆ server_formats

AUDIO_FORMAT* rdpsnd_server_context::server_formats

◆ SetVolume

psRdpsndServerSetVolume rdpsnd_server_context::SetVolume

Set the volume level of the client. Valid range is between 0 and 0xFFFF.

◆ src_format

AUDIO_FORMAT* rdpsnd_server_context::src_format

◆ Start

psRdpsndStart rdpsnd_server_context::Start

◆ Stop

psRdpsndStop rdpsnd_server_context::Stop

◆ Training

psRdpsndServerTraining rdpsnd_server_context::Training

Send Training PDU.

◆ TrainingConfirm

psRdpsndServerTrainingConfirm rdpsnd_server_context::TrainingConfirm

Called when a TrainingConfirm PDU is received from the client.

◆ use_dynamic_virtual_channel

BOOL rdpsnd_server_context::use_dynamic_virtual_channel

◆ vcm

HANDLE rdpsnd_server_context::vcm

The documentation for this struct was generated from the following file: