summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2013-10-07 13:57:44 -0400
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2013-10-07 14:39:09 -0400
commit947fe43bd11c51adc0fb2e68b616b62032214958 (patch)
treefb7fe759faa8877232a2e0e6c28bad1eec0b9c39 /src
parentcf214a6ee6c2cdb8b6a62ed768093ee11a9c9b6b (diff)
media-factory: stop using TpChannelMediaCapabilities
We don't implement StreamedMedia any more, so this flag is just used for historical reason. Re-implement it, using the same values to make things easier, as this flag will be gone in Telepathy 1.0
Diffstat (limited to 'src')
-rw-r--r--src/media-factory.c53
1 files changed, 31 insertions, 22 deletions
diff --git a/src/media-factory.c b/src/media-factory.c
index e29ce57bd..b20234dbf 100644
--- a/src/media-factory.c
+++ b/src/media-factory.c
@@ -704,12 +704,21 @@ gabble_media_factory_add_caps (GabbleCapabilitySet *caps,
}
}
+typedef enum {
+ MEDIA_CAPABILITY_AUDIO = 1,
+ MEDIA_CAPABILITY_VIDEO = 2,
+ MEDIA_CAPABILITY_NAT_TRAVERSAL_STUN = 4,
+ MEDIA_CAPABILITY_NAT_TRAVERSAL_GTALK_P2P = 8,
+ MEDIA_CAPABILITY_NAT_TRAVERSAL_ICE_UDP = 16,
+ MEDIA_CAPABILITY_IMMUTABLE_STREAMS = 32,
+} MediaCapabilities;
+
/* The switch in gabble_media_factory_get_contact_caps needs to be kept in
* sync with the possible returns from this function. */
-static TpChannelMediaCapabilities
+static MediaCapabilities
_gabble_media_factory_caps_to_typeflags (const GabbleCapabilitySet *caps)
{
- TpChannelMediaCapabilities typeflags = 0;
+ MediaCapabilities typeflags = 0;
gboolean has_a_transport, just_google, one_media_type;
has_a_transport = gabble_capability_set_has_one (caps,
@@ -718,12 +727,12 @@ _gabble_media_factory_caps_to_typeflags (const GabbleCapabilitySet *caps)
if (has_a_transport &&
gabble_capability_set_has_one (caps,
gabble_capabilities_get_any_audio ()))
- typeflags |= TP_CHANNEL_MEDIA_CAPABILITY_AUDIO;
+ typeflags |= MEDIA_CAPABILITY_AUDIO;
if (has_a_transport &&
gabble_capability_set_has_one (caps,
gabble_capabilities_get_any_video ()))
- typeflags |= TP_CHANNEL_MEDIA_CAPABILITY_VIDEO;
+ typeflags |= MEDIA_CAPABILITY_VIDEO;
/* The checks below are an intentional asymmetry with the function going the
* other way - we don't require the other end to advertise the GTalk-P2P
@@ -731,10 +740,10 @@ _gabble_media_factory_caps_to_typeflags (const GabbleCapabilitySet *caps)
* Having Google voice implied Google session and GTalk-P2P. */
if (gabble_capability_set_has (caps, NS_GOOGLE_FEAT_VOICE))
- typeflags |= TP_CHANNEL_MEDIA_CAPABILITY_AUDIO;
+ typeflags |= MEDIA_CAPABILITY_AUDIO;
if (gabble_capability_set_has (caps, NS_GOOGLE_FEAT_VIDEO))
- typeflags |= TP_CHANNEL_MEDIA_CAPABILITY_VIDEO;
+ typeflags |= MEDIA_CAPABILITY_VIDEO;
just_google =
gabble_capability_set_has_one (caps,
@@ -742,11 +751,11 @@ _gabble_media_factory_caps_to_typeflags (const GabbleCapabilitySet *caps)
!gabble_capability_set_has_one (caps,
gabble_capabilities_get_any_jingle_av ());
- one_media_type = (typeflags == TP_CHANNEL_MEDIA_CAPABILITY_AUDIO)
- || (typeflags == TP_CHANNEL_MEDIA_CAPABILITY_VIDEO);
+ one_media_type = (typeflags == MEDIA_CAPABILITY_AUDIO)
+ || (typeflags == MEDIA_CAPABILITY_VIDEO);
if (just_google || one_media_type)
- typeflags |= TP_CHANNEL_MEDIA_CAPABILITY_IMMUTABLE_STREAMS;
+ typeflags |= MEDIA_CAPABILITY_IMMUTABLE_STREAMS;
return typeflags;
}
@@ -757,14 +766,14 @@ gabble_media_factory_get_contact_caps (GabbleCapsChannelManager *manager,
const GabbleCapabilitySet *caps,
GPtrArray *arr)
{
- TpChannelMediaCapabilities typeflags =
+ MediaCapabilities typeflags =
_gabble_media_factory_caps_to_typeflags (caps);
GValueArray *va;
const gchar * const *call_allowed;
- typeflags &= (TP_CHANNEL_MEDIA_CAPABILITY_AUDIO |
- TP_CHANNEL_MEDIA_CAPABILITY_VIDEO |
- TP_CHANNEL_MEDIA_CAPABILITY_IMMUTABLE_STREAMS);
+ typeflags &= (MEDIA_CAPABILITY_AUDIO |
+ MEDIA_CAPABILITY_VIDEO |
+ MEDIA_CAPABILITY_IMMUTABLE_STREAMS);
/* This switch is over the values of several bits from a
* bitfield-represented-as-an-enum, simultaneously, which upsets gcc-4.5;
@@ -776,24 +785,24 @@ gabble_media_factory_get_contact_caps (GabbleCapsChannelManager *manager,
case 0:
return;
- case TP_CHANNEL_MEDIA_CAPABILITY_AUDIO
- | TP_CHANNEL_MEDIA_CAPABILITY_IMMUTABLE_STREAMS:
+ case MEDIA_CAPABILITY_AUDIO
+ | MEDIA_CAPABILITY_IMMUTABLE_STREAMS:
call_allowed = call_audio_allowed;
break;
- case TP_CHANNEL_MEDIA_CAPABILITY_VIDEO
- | TP_CHANNEL_MEDIA_CAPABILITY_IMMUTABLE_STREAMS:
+ case MEDIA_CAPABILITY_VIDEO
+ | MEDIA_CAPABILITY_IMMUTABLE_STREAMS:
call_allowed = call_video_allowed;
break;
- case TP_CHANNEL_MEDIA_CAPABILITY_AUDIO
- | TP_CHANNEL_MEDIA_CAPABILITY_VIDEO: /* both */
+ case MEDIA_CAPABILITY_AUDIO
+ | MEDIA_CAPABILITY_VIDEO: /* both */
call_allowed = call_both_allowed;
break;
- case TP_CHANNEL_MEDIA_CAPABILITY_AUDIO /* both but immutable */
- | TP_CHANNEL_MEDIA_CAPABILITY_VIDEO
- | TP_CHANNEL_MEDIA_CAPABILITY_IMMUTABLE_STREAMS:
+ case MEDIA_CAPABILITY_AUDIO /* both but immutable */
+ | MEDIA_CAPABILITY_VIDEO
+ | MEDIA_CAPABILITY_IMMUTABLE_STREAMS:
call_allowed = call_both_allowed_immutable;
break;