On Wed, Nov 8, 2017 at 2:22 AM, Amarjeet Singh <amarjee...@gmail.com> wrote:

> Hi Team,
>
> As there is no fallback of * AudioContext() *for IE I am trying to add
> support for sound in IE using Flashback but unable to do so.
>
> *In Chrome and Firefox  during WebSocket connection I get the following
> stream :-*
>
>>
>> 5.audio,1.1,31.audio/L16;rate=44100,channels=2;10.filesystem,1.0,12.Shared
>> Drive;4.size,1.0,4.1920,3.546;4.name,11.172.16.1.75;4.size,
>> 2.-1,2.11,2.16;3.img,1.3,2.12,2.-1,9.image/png,1.0,1.0;4.blob,1.3,232.
>> iVBORw0KGgoAAAANSUhEUgAAAAsAAAAQCAYAAADAvYV+AAAABmJLR0QA/wD/AP+
>> gvaeTAAAAYklEQVQokY2RQQ4AIQgDW+L/v9y9qCEsIJ4QZggoJAnDYwAwFQwASI
>> 4EO8FEMH95CRYTnfCDOyGFK6GEM6GFo7AqKI4sSSsCJH1X+roFkKdjueABX/
>> On77lz2uGtr6pj9okfTeJQAYVaxnMAAAAASUVORK5CYII=;3.end,1.3;6.
>> cursor,1.0,1.0,2.-1,1.0,1.0,2.11,2.16;
>
>
> *In IE I get the following stream :- *
>
>>
>> "10.filesystem,1.0,12.Shared Drive;4.size,1.0,4.1920,3.516;4.name
>> ,11.172.16.1.75;4.size,2.-1,2.11,2.16;3.img,1.3,2.12,
>> 2.-1,9.image/png,1.0,1.0;4.blob,1.3,232.iVBORw0KGgoAAAANSUhEUgAAAAsAAA
>> AQCAYAAADAvYV+AAAABmJLR0QA/wD/AP+gvaeTAAAAYklEQVQokY2RQQ4AIQgDW+L/
>> v9y9qCEsIJ4QZggoJAnDYwAwFQwASI4EO8FEMH95CRYTnfCDOyGFK6GEM6GF
>> o7AqKI4sSSsCJH1X+roFkKdjueABX/On77lz2uGtr6pj9okfTeJQAYVaxnMA
>> AAAASUVORK5CYII=;3.end,1.3;6.cursor,1.0,1.0,2.-1,1.0,1.0,2.11,2.16;"
>
>
> Why there is *no audio* coming from the back end in IE ?
>
> Does the back end code depends on the browser ?
>
>
The mimetypes of any supported audio codecs are required to be submitted
during the initial Guacamole protocol handshake. As that handshake is
handled server-side, those mimetypes need to be submitted to the server
prior to or as the connection is being established. In the mainline
Guacamole webapp, the audio mimetypes are submitted to the tunnel during
the initial connection attempt via "GUAC_AUDIO" query parameters, and the
part of the webapp that handles tunnel requests transforms those parameters
into the list of audio mimetypes required by the GuacamoleClientInformation
object which is given to ConfiguredGuacamoleSocket to perform the handshake.

See:

http://guacamole.incubator.apache.org/doc/gug/guacamole-protocol.html#guacamole-protocol-handshake

The flow for this in the mainline Guacamole webapp is:

https://github.com/apache/incubator-guacamole-client/blob/0611fe8fff694dff7e3cb6a62918f6c90668728c/guacamole-common-js/src/main/webapp/modules/AudioPlayer.js#L62-L79
https://github.com/apache/incubator-guacamole-client/blob/0611fe8fff694dff7e3cb6a62918f6c90668728c/guacamole/src/main/webapp/app/client/services/guacAudio.js
https://github.com/apache/incubator-guacamole-client/blob/0611fe8fff694dff7e3cb6a62918f6c90668728c/guacamole/src/main/webapp/app/client/types/ManagedClient.js#L229-L232
https://github.com/apache/incubator-guacamole-client/blob/0611fe8fff694dff7e3cb6a62918f6c90668728c/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelRequest.java#L333-L343
https://github.com/apache/incubator-guacamole-client/blob/0611fe8fff694dff7e3cb6a62918f6c90668728c/guacamole/src/main/java/org/apache/guacamole/tunnel/TunnelRequestService.java#L154-L157

If you are adding IE-specific support for
"audio/L16;rate=44100,channels=2", you will need to see that this mimetype
is submitted to the server. Lacking this, the code handling audio for the
remote desktop will not know what formats the client side supports, and
will not be able to provide an audio stream.

- Mike

Reply via email to