Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added microphone redirection #727

Merged
merged 2 commits into from
Jan 17, 2016
Merged

Conversation

akallabeth
Copy link
Member

No description provided.

@antenore
Copy link
Member

I'm testing it.

@antenore
Copy link
Member

Armin, it doesn't work, but I don't have a good testing environment, so I don't know if it's my """fault""" or the patch. At the moment I cannot merge it, I'll wait your comments.

BTW, I added you to the authors list 4b4d828 welcome on board :-)

@akallabeth
Copy link
Member Author

@antenore Thx, glad to be of help :)
I've retested and indeed, there seems to be an issue occurring only sometimes here :/
Maybe the better approach is to get rid of the custom channel loading and initialization altogether and just use freerdp_client_settings_parse_command_line_arguments and freerdp_channels_client_load.

@giox069
Copy link
Contributor

giox069 commented Jan 17, 2016

@akallabeth: I can't see microphone too, but it seems to be a freerdp problem: I tried

xfreerdp /v:host /u:user /d:domain /sound /microphone

but I have no remote microphone. My suspect is that we are compiling xfreerdp without some important library or cmake flag... any suggestion ?

@akallabeth
Copy link
Member Author

@giox069 Well, embarrassing, committed the microphone flag inverted ;) deactivate it and it works...
Should be fixed with the latest commit.

As for FreeRDP I use cmake -DWITH_PULSE=ON .

@akallabeth
Copy link
Member Author

@giox069 As for the server part, check if microphone redirection is enabled there, could be disabled by policy.

@akallabeth
Copy link
Member Author

@giox069 @antenore Tested with the latest commit, microphone redirection is activated now when checked (and not inverted). Win8.1 server works, could not get it to work with win7 though, but that is not important for remmina, more of a freerdp thing.

Fixed inverted microphone settings read.
giox069 added a commit that referenced this pull request Jan 17, 2016
@giox069 giox069 merged commit d360ab1 into FreeRDP:next Jan 17, 2016
@giox069
Copy link
Contributor

giox069 commented Jan 17, 2016

Tested, worked, merged.
Some notes:

  1. In windows 10 you need to enable the policy "Allow audio recording redirection" (I used gpedit.msc). Changes are immediate, you don't need to logoff or reboot to see the microphone.
  2. In windows 7 you need to enable the policy, but sometimes it works, sometimes not.
  3. I have a machine with two microphones, but only the one is remotized, which seems to be a "mix" of all two micrphones. Is it right ?
  4. If a user does not enable remote audio on the remmina profile preferences, the microphone will not work. So @antenore, we should avoid enabling the microphone checkbox when remote audio is not enabled, if possible.
  5. The address saintizer (-DWITH_GCC_SANITIZE_ADDRESS=on in Remmina and -DWITH_SANITIZE_ADDRESS=on in FreeRDP) complains for a lot of memory leaks in FreeRDP library when audio is enabled. And now, with microphone enabled, there is also a "heap-use-after-free" error:
==7083==ERROR: AddressSanitizer: heap-use-after-free on address 0x61100014f1b0 at pc 0x7f16d506c667 bp 0x7f16989423c0 sp 0x7f16989423b0
READ of size 8 at 0x61100014f1b0 thread T46 (threaded-ml)
    #0 0x7f16d506c666 in drdynvc_send /home/giovanni/remmina_devel/FreeRDP/channels/drdynvc/client/drdynvc_main.c:709
    #1 0x7f16d506cddc in drdynvc_write_data /home/giovanni/remmina_devel/FreeRDP/channels/drdynvc/client/drdynvc_main.c:767
    #2 0x7f16d506a013 in dvcman_write_channel /home/giovanni/remmina_devel/FreeRDP/channels/drdynvc/client/drdynvc_main.c:410
    #3 0x7f16d50adeb4 in audin_send_incoming_data_pdu /home/giovanni/remmina_devel/FreeRDP/channels/audin/client/audin_main.c:139
    #4 0x7f16d50afee2 in audin_receive_wave_data /home/giovanni/remmina_devel/FreeRDP/channels/audin/client/audin_main.c:320
    #5 0x7f16d516ee76 in audin_pulse_stream_request_callback /home/giovanni/remmina_devel/FreeRDP/channels/audin/client/pulse/audin_pulse.c:355
    #6 0x7f16d3f4ab85  (/usr/lib/x86_64-linux-gnu/libpulse.so.0+0xeb85)
    #7 0x7f16d37d865e  (/usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-6.0.so+0x3c65e)
    #8 0x7f16d37da9c3  (/usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-6.0.so+0x3e9c3)
    #9 0x7f16d3f5fe86 in pa_mainloop_dispatch (/usr/lib/x86_64-linux-gnu/libpulse.so.0+0x23e86)
    #10 0x7f16d3f6028b in pa_mainloop_iterate (/usr/lib/x86_64-linux-gnu/libpulse.so.0+0x2428b)
    #11 0x7f16d3f6032f in pa_mainloop_run (/usr/lib/x86_64-linux-gnu/libpulse.so.0+0x2432f)
    #12 0x7f16d3f6e475  (/usr/lib/x86_64-linux-gnu/libpulse.so.0+0x32475)
    #13 0x7f16d37ea4d7  (/usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-6.0.so+0x4e4d7)
    #14 0x7f16e74846a9 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x76a9)
    #15 0x7f16e63f7eec in clone (/lib/x86_64-linux-gnu/libc.so.6+0x106eec)

Thank you again @akallabeth

@akallabeth akallabeth deleted the microphone_support branch January 17, 2016 18:15
akallabeth pushed a commit to akallabeth/Remmina that referenced this pull request Jan 21, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants