telegramdesktop / tdesktop

Telegram Desktop messaging app
https://desktop.telegram.org/
Other
26.23k stars 5.2k forks source link

selected audio output device is not respected during calls (uses two devices) #27465

Closed MrdUkk closed 8 months ago

MrdUkk commented 8 months ago

Steps to reproduce

  1. have at least two or more audio interfaces on Windows PC
  2. launch tdesktop
  3. in program settings -> speakers and cameras select NON DEFAULT audio output device (second). close dialog
  4. receive call from someone
  5. observe that ringing goes to selected in settings audio device BUT voice communication was from default windows audio device

Expected behaviour

expect tdesktop to use selected device for OUTPUT only. and don't use anything other.

Actual behaviour

actually i got tdesktop using all two sound devices (output ringing on selected, and voice on windows default).

In windows we hare 2 kinds of default devices:

  1. default device - All programs will have their audio played through this device (unless otherwise configured)
  2. default communications device - All calls/video call audio will be played through this device (unless otherwise configured) it will be cool then tdesktop can actually use this by default. Win32 API IMMDeviceEnumerator::GetDefaultAudioEndpoint have ERole parameter: use with eCommunications enum value.

Operating system

Windows

Version of Telegram Desktop

4.14.13 x64

Installation source

Static binary from official website

Crash ID

No response

Logs

No response

john-preston commented 8 months ago

@MrdUkk In the latest versions, like 4.14.13, in Settings you can specify different devices for calls / video chats and for all the media / notifications in the app. So maybe you changed the first output device, but the second is still selected on Default? You can choose to automatically inherit calls device from app device or choose a distinct one.

MrdUkk commented 8 months ago

@john-preston no, try it yourself . you need 2 audio devices for this. Look at screenshots. Windows has 2 roles kinds for audio. 1 for default multimedia output and 2 for default COMMUNICATION output.

Telegram Desktop goes for first default multimedia only. not communication default. its not same.

tgdb1 tgdb2

john-preston commented 8 months ago

Yes, it only uses default, not communication default. But you can choose the headphones yourself in Settings.

MrdUkk commented 8 months ago

So, please implement additional SINGLE "communication default" item for "Calls and video chats" sub-group. As a developer i didn't see high pain adding besides "default" another "communication default" to THAT specific distinct category. You already have two distinct groups 1. "speakers and headphones" (like media) and 2. "calls and video chats".

Another software allows to seamlessly use that distinct windows audio devices categories. so users can choice device at SINGLE point (in control panel sound). not wasting their time changing devices in each application.

ilya-fedin commented 8 months ago

Can you close the issue and re-supply it as a feature request for default communication device? The current title is really misleading: you say "uses two device" but in fact you don't like that one device is being used.

ilya-fedin commented 8 months ago

ah, I see it already exists: #26609