This article is intended for Citrix administrators and technical teams only.
Non-admin users must contact their company’s Help Desk/IT support team and can refer to CTX297149 for more information.
Receiver for Linux (Rfl) leveraged Gstreamer components to decode and play the data streams, which is a set of libraries and utilities that provide a framework for processing streams of data buffers and a large number of plug-in modules for processing audio-visual data.
Before 13.5, Rfl only supported Gstreamer0.10, which was a frustration to the customers who always work on the latest OS system where Gstreamer 0.10 packages are not easily found on the default source list. However, from 13.5, Rfl started to support Gstreamer 1.x.
Multi-media redirection is enabled on Linux client by default. But gstreamer 0.10 is still the default. To switch it to Gstreamer1.0, you need to configure on the Receiver as following:
In general, apart from Gstreamer 1.x framework, you just need to install all the required plugins packages as the following:
But on some Linux OS distributions, such as SUSE or openSUSE the system may not find the source in the default source list. This means you may need to download the source code and build all the binaries locally.
Take Suse12 as an example, you could build them locally as following:
Download source code from Gstreamer website: https://gstreamer.freedesktop.org/src/, then unzip it.
Navigate to the newly created folder you unzip the package to, then run $sudo ./configure
For this step to work, you may need to install gcc ($sudo zypper install gcc), zlib-devel ($sudo zypper install zlib-devel)
If you get the error “cannot find gstreamer-plugins-base", you may need to check if gstreamer-plugins-base-devel has been installed.
If you get the error "cannot find gstreamer 1.0", you may need to check if gstreamer-devel has been installed.
Run $sudo make under the same path
Run $sudo make install. Then all the generated binaries would be copied to /usr/local/lib/gstreamer-1.0/ by default.
After that, Gstreamer1.x installation for Rfl is completed.
NOTE:The basic check on Gstreamer1.x for Rfl has been added in //ICAROOT/util/hdxcheck.sh as well as Gstreamer 0.10.
Meanwhile, it is necessary to check if the media file could be played locally via Gstreamer1.0 at first to figure out if this is a problem on Rfl or Gstreamer itself:
$gst-launch-1.0 -v playbin uri=file: ///absolute/path/to/file
checks if Gstreamer1.x is able to work locally.
Generally, if the file fails to be played locally, that is caused by lack of some plugins to decode the data or even the media type is not supported on Gstreamer: