farsighr module is now optional. Fixes #5278

This commit is contained in:
Yann Leboulanger 2009-09-20 20:46:03 +02:00
parent c162780a58
commit 40199e359c
5 changed files with 29 additions and 5 deletions

View File

@ -1253,7 +1253,8 @@ class ChatControl(ChatControlBase, ChatCommands):
'muc_active').get_pixbuf())
self._audio_image = self.xml.get_widget('audio_image')
if gajim.capscache.is_supported(contact, NS_JINGLE_RTP_AUDIO):
if gajim.capscache.is_supported(contact, NS_JINGLE_RTP_AUDIO) and \
gajim.HAVE_FARSIGHT:
self.set_audio_state('available')
else:
self.set_audio_state('not_available')

View File

@ -51,7 +51,14 @@ from common import exceptions
from common.commands import ConnectionCommands
from common.pubsub import ConnectionPubSub
from common.caps import ConnectionCaps
from common.jingle import ConnectionJingle
if gajim.HAVE_FARSIGHT:
from common.jingle import ConnectionJingle
else:
class ConnectionJingle():
def __init__(self):
pass
def _JingleCB(self, con, stanza):
pass
from common import dbus_support
if dbus_support.supported:

View File

@ -189,6 +189,11 @@ try:
except ImportError:
HAVE_INDICATOR = False
HAVE_FARSIGHT = True
try:
import farsight, gst
except ImportError:
HAVE_FARSIGHT = False
gajim_identity = {'type': 'pc', 'category': 'client', 'name': 'Gajim'}
gajim_common_features = [xmpp.NS_BYTESTREAM, xmpp.NS_SI, xmpp.NS_FILE,
xmpp.NS_MUC, xmpp.NS_MUC_USER, xmpp.NS_MUC_ADMIN, xmpp.NS_MUC_OWNER,
@ -196,9 +201,7 @@ gajim_common_features = [xmpp.NS_BYTESTREAM, xmpp.NS_SI, xmpp.NS_FILE,
'jabber:iq:gateway', xmpp.NS_LAST, xmpp.NS_PRIVACY, xmpp.NS_PRIVATE,
xmpp.NS_REGISTER, xmpp.NS_VERSION, xmpp.NS_DATA, xmpp.NS_ENCRYPTED, 'msglog',
'sslc2s', 'stringprep', xmpp.NS_PING, xmpp.NS_TIME_REVISED, xmpp.NS_SSN,
xmpp.NS_MOOD, xmpp.NS_ACTIVITY, xmpp.NS_NICK, xmpp.NS_ROSTERX,
xmpp.NS_JINGLE, xmpp.NS_JINGLE_RTP, xmpp.NS_JINGLE_RTP_AUDIO,
xmpp.NS_JINGLE_RTP_VIDEO, xmpp.NS_JINGLE_ICE_UDP]
xmpp.NS_MOOD, xmpp.NS_ACTIVITY, xmpp.NS_NICK, xmpp.NS_ROSTERX]
# Optional features gajim supports per account
gajim_optional_features = {}

View File

@ -1352,6 +1352,12 @@ def update_optional_features(account = None):
gajim.gajim_optional_features[a].append(xmpp.NS_ESESSION)
if gajim.config.get_per('accounts', a, 'answer_receipts'):
gajim.gajim_optional_features[a].append(xmpp.NS_RECEIPTS)
if gajim.HAVE_FARSIGHT:
gajim.gajim_optional_features[a].append(xmpp.NS_JINGLE)
gajim.gajim_optional_features[a].append(xmpp.NS_JINGLE_RTP)
gajim.gajim_optional_features[a].append(xmpp.NS_JINGLE_RTP_AUDIO)
gajim.gajim_optional_features[a].append(xmpp.NS_JINGLE_RTP_VIDEO)
gajim.gajim_optional_features[a].append(xmpp.NS_JINGLE_ICE_UDP)
gajim.caps_hash[a] = compute_caps_hash([gajim.gajim_identity],
gajim.gajim_common_features + gajim.gajim_optional_features[a])
# re-send presence with new hash

View File

@ -107,6 +107,10 @@ class FeaturesWindow:
_('Ability to have clickable URLs in chat and groupchat window banners.'),
_('Requires python-sexy.'),
_('Requires python-sexy.')),
_('Audio / Video'): (self.farsight_available,
_('Ability to start audio and video chat.'),
_('Requires python-farsight.'),
_('Feature not available under Windows.')),
}
# name, supported
@ -265,4 +269,7 @@ class FeaturesWindow:
def pysexy_available(self):
return gajim.HAVE_PYSEXY
def farsight_available(self):
return gajim.HAVE_FARSIGHT
# vim: se ts=3: