changeset cf7a9b63343d in /home/hg/repos/gajim
branches: details:http://hg.gajim.org/gajim?cmd=changeset;node=cf7a9b63343d description: better way to set outgoing video in chat window
diffstat:
src/chat_control.py | 6 +++++- src/dialogs.py | 17 ++++++++++++----- 2 files changed, 17 insertions(+), 6 deletions(-)
diffs (45 lines):
diff -r 17b1e19e4f6f -r cf7a9b63343d src/chat_control.py --- a/src/chat_control.py Wed Jul 31 18:22:55 2013 +0200 +++ b/src/chat_control.py Wed Jul 31 19:15:42 2013 +0200 @@ -2230,9 +2230,13 @@ if gajim.config.get('video_see_self'): fixed = self.xml.get_object('outgoing_fixed') fixed.set_no_show_all(False) + video_hbox.show_all() + out_xid = self.xml.get_object('outgoing_drawingarea').\ + window.xid + else: + out_xid = None video_hbox.show_all() in_xid = self.xml.get_object('incoming_drawingarea').window.xid - out_xid = self.xml.get_object('outgoing_drawingarea').window.xid sid = gajim.connections[self.account].start_video( self.contact.get_full_jid(), in_xid, out_xid) else: diff -r 17b1e19e4f6f -r cf7a9b63343d src/dialogs.py --- a/src/dialogs.py Wed Jul 31 18:22:55 2013 +0200 +++ b/src/dialogs.py Wed Jul 31 19:15:42 2013 +0200 @@ -5319,11 +5319,18 @@ if gajim.config.get('video_see_self'): out_xid = ctrl.xml.get_object('outgoing_drawingarea').\ window.xid - b = content.pipeline.get_by_name('bin2') - c = b.get_by_name('autovideosink0') - d = c.get_by_name('autovideosink0-actual-sink-xvimage') - d.set_xwindow_id(out_xid) - content.out_xid = out_xid + b = content.src_bin + found = False + for e in b.elements(): + if e.get_name().startswith('autovideosink'): + found = True + break + if found: + found = False + for f in e.elements(): + if f.get_name().startswith('autovideosink'): + f.set_xwindow_id(out_xid) + content.out_xid = out_xid content.in_xid = in_xid ctrl.set_video_state('connecting', self.sid) # Now, accept the content/sessions.