changeset 28870ec787d3 in /home/hg/repos/gajim

details:http://hg.gajim.org/gajim?cmd=changeset;node=28870ec787d3
description: [Jingle] Add converters and simplify pipelines configuration-side

diffstat:

 src/common/jingle_rtp.py         |  33 +++++++++++++++++++--------------
 src/common/multimedia_helpers.py |   6 ++----
 2 files changed, 21 insertions(+), 18 deletions(-)

diffs (83 lines):

diff -r f07ebe7535c3 -r 28870ec787d3 src/common/jingle_rtp.py
--- a/src/common/jingle_rtp.py  Sun Nov 29 15:39:26 2009 +0100
+++ b/src/common/jingle_rtp.py  Sun Nov 29 21:39:50 2009 +0100
@@ -252,18 +252,21 @@
                self.p2psession.set_codec_preferences(codecs)
 
                # the local parts
+               # TODO: Add queues?
                try:
-                       self.sink = 
gst.parse_bin_from_description(gajim.config.get('audio_output_device'), True)
+                       src_bin = gst.parse_bin_from_description('%s ! 
audioconvert'
+                               % gajim.config.get('audio_input_device'), True)
+               except:
+                       self.session.connection.dispatch('ERROR', (_("Audio 
configuration error"),
+                               _("Couldn't setup audio input. Check your audio 
configuration.")))
+
+               try:
+                       self.sink = 
gst.parse_bin_from_description('audioconvert ! %s'
+                               % gajim.config.get('audio_output_device'), True)
                except:
                        self.session.connection.dispatch('ERROR', (_("Audio 
configuration error"),
                                _("Couldn't setup audio output. Check your 
audio configuration.")))
 
-               try:
-                       src_bin = 
gst.parse_bin_from_description(gajim.config.get('audio_input_device'), True)
-               except:
-                       self.session.connection.dispatch('ERROR', (_("Audio 
configuration error"),
-                               _("Couldn't setup audio input. Check your audio 
configuration.")))
-
                self.mic_volume = src_bin.get_by_name('gajim_vol')
                self.mic_volume.set_property('volume', 1)
 
@@ -291,24 +294,26 @@
 
                # the local parts
                try:
-                       src_bin = 
gst.parse_bin_from_description(gajim.config.get('video_input_device'), True)
+                       src_bin = gst.parse_bin_from_description('%s ! 
videoscale ! ffmpegcolorspace'
+                               % gajim.config.get('video_input_device'), True)
                except:
                        self.session.connection.dispatch('ERROR', (_("Video 
configuration error"),
                                _("Couldn't setup video input. Check your video 
configuration.")))
-               caps = gst.element_factory_make('capsfilter')
-               caps.set_property('caps', 
gst.caps_from_string('video/x-raw-yuv, width=320, height=240'))
+               #caps = gst.element_factory_make('capsfilter')
+               #caps.set_property('caps', 
gst.caps_from_string('video/x-raw-yuv, width=320, height=240'))
 
-               self.pipeline.add(src_bin, caps)
-               src_bin.link(caps)
+               self.pipeline.add(src_bin)#, caps)
+               #src_bin.link(caps)
 
                try:
-                       self.sink = 
gst.parse_bin_from_description(gajim.config.get('video_output_device'), True)
+                       self.sink = gst.parse_bin_from_description('videoscale 
! ffmpegcolorspace ! %s'
+                               % gajim.config.get('video_output_device'), True)
                except:
                        self.session.connection.dispatch('ERROR', (_("Video 
configuration error"),
                                _("Couldn't setup video output. Check your 
video configuration.")))
                self.pipeline.add(self.sink)
 
-               
caps.get_pad('src').link(self.p2psession.get_property('sink-pad'))
+               
src_bin.get_pad('src').link(self.p2psession.get_property('sink-pad'))
                self.p2pstream.connect('src-pad-added', self._on_src_pad_added)
 
                # The following is needed for farsight to process ICE requests:
diff -r f07ebe7535c3 -r 28870ec787d3 src/common/multimedia_helpers.py
--- a/src/common/multimedia_helpers.py  Sun Nov 29 15:39:26 2009 +0100
+++ b/src/common/multimedia_helpers.py  Sun Nov 29 21:39:50 2009 +0100
@@ -78,11 +78,9 @@
                self.detect_element('videotestsrc', _('Video test'),
                        '%s is-live=true')
                # Auto src
-               self.detect_element('autovideosrc', _('Autodetect'),
-                       '%s ! videoscale ! ffmpegcolorspace')
+               self.detect_element('autovideosrc', _('Autodetect'))
                # V4L2 src ; TODO: Figure out why it doesn't work
-               self.detect_element('v4l2src', _('V4L2: %s'),
-                       '%s ! videoscale ! ffmpegcolorspace')
+               self.detect_element('v4l2src', _('V4L2: %s'))
                # Funny things, just to test...
                # self.devices['GOOM'] = 'audiotestsrc ! goom'
                # self.devices['screen'] = 'ximagesrc'
_______________________________________________
Commits mailing list
[email protected]
http://lists.gajim.org/cgi-bin/listinfo/commits

Reply via email to