After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 339881 - Make it possible to change audio device during a call
Make it possible to change audio device during a call
Status: RESOLVED FIXED
Product: ekiga
Classification: Applications
Component: PTLIB
GIT master
Other All
: Low enhancement
: ---
Assigned To: Ekiga maintainers
Ekiga maintainers
Depends on:
Blocks:
 
 
Reported: 2006-04-27 06:40 UTC by Snark
Modified: 2008-04-02 21:40 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
The header file of a would-be implementation of the idea (1.60 KB, patch)
2006-04-27 06:42 UTC, Snark
needs-work Details | Review
The code file of a would-be implementation of the idea (6.64 KB, patch)
2006-04-27 06:43 UTC, Snark
needs-work Details | Review

Description Snark 2006-04-27 06:40:43 UTC
Someone requested to be able to choose his bluetooth headset upon receiving a call, which means changing the device just before the call.

This prompted me to propose an old, yet unimplemented idea I had some time ago, which would allow to change the audio device during a call :
<quote>
Well, oh, well. Let me share a wild idea I have in the back of my mind ever since I worked on turning drivers into plugins in ekiga (but never specifically worked on this).

Why can't we change the audio device after the call has started ? Because we have set the PSoundChannel at the start, and won't change afterwards (we already configured it, and gave it to use for the codec and networking code, so it's natural).

So how can we get around it and still manage to do it!?


Simple: write a PFacadeSoundChannel, which you give to the codec & networking code as your audio device.

This channel only sends silence by default. And accepts all configurations you throw at it.

Now give your real PSoundChannel to that PFacadeSoundChannel. It will try to force it to the same configuration as itself. If it manages to do so, it will now send the audio coming from it into the codec+network. If it doesn't, it just goes on sending silence.

Now, if you decide you want to use another device during the call, just give the corresponding PSoundChannel to PFacadeSoundChannel, and it will be used automagically.

The same could be done for PVideoInputDevice, of course.


This is a little sketchy, quite a few details have to be filled to make it possible, but it shouldn't give too difficult code.
</quote>
Comment 1 Snark 2006-04-27 06:42:18 UTC
Created attachment 64366 [details] [review]
The header file of a would-be implementation of the idea
Comment 2 Snark 2006-04-27 06:43:31 UTC
Created attachment 64367 [details] [review]
The code file of a would-be implementation of the idea
Comment 3 Damien Sandras 2008-04-02 21:40:07 UTC
New code from Matthias allows this for audio and video.