You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@guacamole.apache.org by Amarjeet Singh <am...@gmail.com> on 2017/11/08 10:22:41 UTC

FLASH SUPPORT for Audio in IE

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/v9y9qCEsIJ4QZggoJAnDYwAwFQwASI4EO8FEMH95CRYTnfCDOyGFK6GEM6GFo7AqKI4sSSsCJH1X+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.iVBORw0KGgoAAAANSUhEUgAAAAsAAAAQCAYAAADAvYV+AAAABmJLR0QA/wD/AP+gvaeTAAAAYklEQVQokY2RQQ4AIQgDW+L/v9y9qCEsIJ4QZggoJAnDYwAwFQwASI4EO8FEMH95CRYTnfCDOyGFK6GEM6GFo7AqKI4sSSsCJH1X+roFkKdjueABX/On77lz2uGtr6pj9okfTeJQAYVaxnMAAAAASUVORK5CYII=;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 ?

Where I could possible look to resolve this issue?

 I looked the guacamole-common code where context == null is set.
I want the ArrayBuffer of audio stream so that I can send it to Flash to
play sound.

    reader.ondata = function playReceivedAudio(data) {
>       *  // NO DATA is coming*  even if I handle the following code :-
>      }

I have handled it to get the stream and mimetype and send ACK  "OK"  but it
never reaches here in IE as no audio in message stream. No audio handler is
there.

        if (!audioPlayer)
>                 audioPlayer = Guacamole.AudioPlayer.getInstance(stream,
> mimetype);
>             // If we have successfully retrieved an audio player, send
> success response
>             if (audioPlayer) {
>                 audioPlayers[stream_index] = audioPlayer;
>                 guac_client.sendAck(stream_index, "OK", 0x0000);
>             }


Please help me out to resolve the above issue or guide me where to scratch.


Thanks and Regards,
Amarjeet Singh

Re: FLASH SUPPORT for Audio in IE

Posted by Amarjeet Singh <am...@gmail.com>.
Thanks Mike,

I am getting audio stream on IE after submitting mimetype to the server.

On Wed, Nov 8, 2017 at 11:42 PM, Mike Jumper <mi...@guac-dev.org>
wrote:

> On Wed, Nov 8, 2017 at 2:22 AM, Amarjeet Singh <am...@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/v9y9qCEs
>>> IJ4QZggoJAnDYwAwFQwASI4EO8FEMH95CRYTnfCDOyGFK6GEM6GFo7AqKI4s
>>> SSsCJH1X+roFkKdjueABX/On77lz2uGtr6pj9okfTeJQAYVaxnMAAAAASUVO
>>> RK5CYII=;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.iVBORw0KGgoAAAANSUhEU
>>> gAAAAsAAAAQCAYAAADAvYV+AAAABmJLR0QA/wD/AP+gvaeTAAAAYk
>>> lEQVQokY2RQQ4AIQgDW+L/v9y9qCEsIJ4QZggoJAnDYwAwFQwASI4EO8FEMH
>>> 95CRYTnfCDOyGFK6GEM6GFo7AqKI4sSSsCJH1X+roFkKdjueABX/On77lz2u
>>> Gtr6pj9okfTeJQAYVaxnMAAAAASUVORK5CYII=;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
>
>

Re: FLASH SUPPORT for Audio in IE

Posted by Mike Jumper <mi...@guac-dev.org>.
On Wed, Nov 8, 2017 at 2:22 AM, Amarjeet Singh <am...@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