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