FreeRDP
rdpsnd_server_context Struct Reference

#include <rdpsnd.h>

Collaboration diagram for rdpsnd_server_context:

Data Fields

HANDLE vcm
 
psRdpsndStart Start
 
psRdpsndStop Stop
 
RdpsndServerPrivate * priv
 
voiddata
 
AUDIO_FORMATserver_formats
 
size_t num_server_formats
 
AUDIO_FORMATsrc_format
 
int latency
 
AUDIO_FORMATclient_formats
 
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
 

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 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.

Field Documentation

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.

UINT8 rdpsnd_server_context::block_no
AUDIO_FORMAT* rdpsnd_server_context::client_formats
UINT16 rdpsnd_server_context::clientVersion

MS-RDPEA channel version the client announces

psRdpsndServerClose rdpsnd_server_context::Close

Close the audio stream.

psRdpsndServerConfirmBlock rdpsnd_server_context::ConfirmBlock

Called when block confirm is received from the client

void* rdpsnd_server_context::data
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.

int rdpsnd_server_context::latency
UINT16 rdpsnd_server_context::num_client_formats
size_t rdpsnd_server_context::num_server_formats
RdpsndServerPrivate* rdpsnd_server_context::priv
rdpContext* rdpsnd_server_context::rdpcontext
UINT16 rdpsnd_server_context::selected_client_format
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.

psRdpsndServerSendSamples rdpsnd_server_context::SendSamples

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

AUDIO_FORMAT* rdpsnd_server_context::server_formats
psRdpsndServerSetVolume rdpsnd_server_context::SetVolume

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

AUDIO_FORMAT* rdpsnd_server_context::src_format
psRdpsndStart rdpsnd_server_context::Start
psRdpsndStop rdpsnd_server_context::Stop
HANDLE rdpsnd_server_context::vcm

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