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