HDX server rendered audio enables two primary use cases: Unified Communication applications like VoIP, and server rendered media. In XenDesktop 5.5, we have made tons of improvements around supporting multiple audio devices and delivering low latency and high quality audio over any type of network connection.
Supporting multiple audio devices with HDX Plug-n-Play
In XenDesktop 5.0 and XenApp 6.0 or earlier versions, there are limitations around supporting audio devices connected to the end point when using the optimized Audio virtual channel. First of all, the audio device such as the headset or speaker must be connected before the connection is made to the virtual desktop or hosted application. If the audio device is plugged in after the connection is made then to use the device, the user would need to disconnect and reconnect the session. While this was not an issue when using the generic USB virtual channel, it is generally preferable to use the Audio virtual channel because it supports a much wider range of network conditions and uses much less bandwidth. Now with the new Audio Plug-n-Play technology in XenDesktop 5.5 and XenApp 6.5, we support true plug-n-play where the audio device could be plugged in and out anytime during the session and it would behave just like a local desktop.
Along with true plug-n-play, this release also adds in support for multiple audio devices with friendly names. With the earlier versions of XenDesktop and XenApp, only the default audio device connected to the remote end point was supported even if multiple audio devices were connected. It would also provide a generic name like “Citrix HDX Audio” instead of the actual device name. With multiple device support, users can now plug in multiple audio devices and select a specific device for a specific application. With many softphones, this enables the user to direct ringtone to the speakers but direct the voice path to a headset, so the user can remove his/her headset between calls. It now also displays friendly device names that will help end users recognize the device easily.
Low latency and high quality audio over any network connection
Providing very low latency audio with good quality is key to the VoIP and media experience in a virtual desktop or when using hosted applications.
We have made huge improvements in XenDesktop 5.5 in the ICA scheduling algorithms to make sure that audio data is processed and sent real-time even under heavy CPU load or under challenging network conditions to maintain a great user experience when using VoIP or playing server-rendered media. HDX now adds less than 50ms latency each way providing true real-time audio experience. To improve audio quality when using VoIP calls, the microphone gain control has an appropriate default. Citrix Receiver 3.0 for Windows also includes improved echo cancellation algorithms for those who use speakers and a microphone in their office.
In real-life deployments, challenging network conditions like jitter and lossy/congested links are common and would impact real-time audio delivery for VoIP and media applications when using a virtual desktop. We have added two new features to handle such challenging network conditions – an adaptive jitter buffer in Citrix Receiver 3.0 for Windows to handle variations in network latency and real-time UDP transport in XenDesktop 5.5 VDI FlexCast model to handle lossy/congested networks.
Jitter is variable delays in getting the audio samples. Jitter could be either caused by the network or could be also caused by the sender like the virtual desktop or the client if it is not able to process and send the audio samples at the right intervals. Jitter buffer smoothens out the audio flow from the variable delays. By making it adaptive, the jitter buffer will adjust the size of the buffer automatically based on the jitter keeping latency low and provide better audio quality.
HDX now adds support for real-time transport – UDP. Unlike other protocols in the market, HDX uses UDP as an opportunistic approach for only real-time data like audio. It has automatic failover to TCP transport when UDP can’t be used. By having a separate UDP stream for real-time data it also helps to do true network- based QoS. More information on QoS in HDX can be found here. We use Real Time Protocol (RTP) over UDP to provide real time audio data delivery. By using industry standards like RTP, we expect that it will be better accepted and more widely deployed than using a proprietary UDP protocol as most of the VoIP applications already make use of RTP for voice data.
With these tons of improvements in the real time audio delivery and better audio device support in HDX, using VoIP applications and server-rendered media in a virtual desktop provides an outstanding local-like experience. The feedback from customers who participated in our Early Release program has been extremely positive. So, please try it out!