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 339883 - Make it possible to change video device during a call
Make it possible to change video device during a call
Status: RESOLVED FIXED
Product: ekiga
Classification: Applications
Component: PTLIB
GIT master
Other Linux
: Low enhancement
: ---
Assigned To: Ekiga maintainers
Ekiga maintainers
Depends on:
Blocks:
 
 
Reported: 2006-04-27 06:51 UTC by Snark
Modified: 2008-04-03 10:56 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Snark 2006-04-27 06:51:05 UTC
Someone requested to be able to choose his bluetooth headset upon receiving a
call, which means changing the audio 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 Damien Sandras 2008-04-02 21:40:31 UTC
New code from Matthias allows this.