summaryrefslogtreecommitdiff
path: root/src/call-channel.c
AgeCommit message (Collapse)AuthorFilesLines
2013-01-16Update Wocky snapshot for wocky.h with Jingle headersWill Thompson1-1/+1
2012-12-11Rename most of GabbleJingle* to WockyJingle*Will Thompson1-40/+40
This renames the classes I'm moving to Wocky, and updates all the remaining code to cope. A few things are missed out because it's only reasonable to change them when the code is in Wocky: • GABBLE_TYPE_STUN_SERVER_SOURCE (the GEnum for WockyStunServerSource) can't be renamed easily because it is generated by Gabble's enumtype thing. • GABBLE_DEBUG_MEDIA. Here's the program I used, for posterity. #!/usr/bin/perl -pi use strict; BEGIN { undef $/; } my @Classes = qw(Factory Session Transport_Iface Transport_IceUdp Transport_RawUdp Transport_Google Content Info Media_Rtp Relay); for my $Class (@Classes) { my $FullClass = "Jingle$Class"; $FullClass =~ s/_//g; my $under_class = "jingle_" . lc($Class); my $UNDER_CLASS = uc($under_class); s/Gabble$FullClass/Wocky$FullClass/g; s/gabble_$under_class/wocky_$under_class/g; s/GABBLE_$UNDER_CLASS/WOCKY_$UNDER_CLASS/g; s/GABBLE_TYPE_$UNDER_CLASS/WOCKY_TYPE_$UNDER_CLASS/g; s/GABBLE_IS_$UNDER_CLASS/WOCKY_IS_$UNDER_CLASS/g; } s/GabbleGoogleRelay/WockyGoogleRelay/g; s/gabble_google_relay/wocky_google_relay/g; s/GABBLE_N_JINGLE_RELAY_TYPES/WOCKY_N_JINGLE_RELAY_TYPES/g; s/gabble_stun_server/wocky_stun_server/g; s/GABBLE_STUN_SERVER/WOCKY_STUN_SERVER/g; # Can't rename GABBLE_TYPE_STUN_SERVER_SOURCE because it's generated. Blah. s/GabbleStunServer/WockyStunServer/g; my @Blah_Blah = qw(Candidate State Action Content_Senders Transport_Type Transport_Protocol Candidate_Type Reason Transport_State Dialect Content_State Media_Type Codec Media_Description Feedback_Message Rtp_Header_Extension Media_Profile); for my $Class (@Blah_Blah) { my $FullClass = "Jingle$Class"; $FullClass =~ s/_//g; my $under_class = "jingle_" . lc($Class); my $UNDER_CLASS = uc($under_class); s/\b$FullClass/Wocky$FullClass/g; s/\b_$FullClass/_Wocky$FullClass/g; s/\b$under_class/wocky_$under_class/g; s/\b$UNDER_CLASS/WOCKY_$UNDER_CLASS/g; } s/MAX_JINGLE_STATES/WOCKY_N_JINGLE_STATES/g; s/JINGLE_IS_GOOGLE_DIALECT/WOCKY_JINGLE_DIALECT_IS_GOOGLE/g;
2012-05-30Use meta-headers for everythingSimon McVittie1-7/+2
Reviewed-by: Xavier Claessens <xavier.claessens@collabora.co.uk> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=49384
2012-05-17configure: ignore post 0.18 deprecations so we can build against tp-glib masterJonny Lamb1-0/+1
Gabble still uses emit_new_channels and tp_handle_{,un}ref, but for now we can ignore it with this. config.h had to be included in the right place for a lot of source files. Signed-off-by: Jonny Lamb <jonny.lamb@collabora.co.uk>
2012-05-07Use TP_ERROR instead of deprecated TP_ERRORSSimon McVittie1-3/+3
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=49596 Reviewed-by: Xavier Claessens <xavier.claessens@collabora.co.uk>
2012-02-23Split Telepathy<->Jingle enum mapping out of Jingle codeWill Thompson1-0/+1
2012-02-16Add a direction parameter to AddContentOlivier Crête1-1/+30
2012-01-25call: Connect signals in sync constructorNicolas Dufresne1-0/+10
The sync constructor was not connecting to jingle session "terminate" and "content-removed" signal. This was causing incoming call to not send the ENDED state.
2012-01-25call: Add trace on jingle session terminateNicolas Dufresne1-1/+5
2012-01-20Add the other reason from Jingle to the Call channel terminationOlivier Crête1-1/+20
2012-01-12call-channel: Fix build warningXavier Claessens1-1/+1
2012-01-11Fix reason when a call is rejectedNicolas Dufresne1-4/+5
2012-01-11Set the Call termination reasonOlivier Crête1-11/+77
2012-01-11Implement local hold for CallOlivier Crête1-0/+27
2012-01-11Update to correctly set the local and remote sending statesOlivier Crête1-3/+2
Also update the unit tests and move some work to the base class
2012-01-11Port to BaseMediaCallChannelOlivier Crête1-3/+6
2012-01-11Replace tp-yell with tp-glib's Call1 APIXavier Claessens1-59/+38
2011-01-18Remove left-over debug codeSjoerd Simons1-2/+0
2011-01-16Use Update Yell apis and TpyBaseCallChannelSjoerd Simons1-33/+40
2011-01-12Use base-classes from telepathy-yellSjoerd Simons1-3/+3
2011-01-11use telepathy-yell generated codeJonny Lamb1-11/+12
Signed-off-by: Jonny Lamb <jonny.lamb@collabora.co.uk>
2011-01-11Correctly namespace [gabble_]base_call_channel_remove_content()Will Thompson1-1/+1
2011-01-11Port GabbleBaseCallChannel to TpBaseChannelWill Thompson1-19/+32
Unfortunately this makes jingle/test-wait-for-caps-incomplete.py reveal a bug: if we're waiting for a contacts caps, but never receive them or give up before we disconnect, async_init() on the channel never finishes, so the channel is leaked. Since TpBaseChannel holds a ref to its connection, this bug means the connection, too, is leaked; thus, everyone dies.
2011-01-11Extract a base class from GabbleCallContentWill Thompson1-1/+3
2010-10-19call-channel: implement Initial{Audio,Video}NameJonny Lamb1-2/+10
Signed-off-by: Jonny Lamb <jonny.lamb@collabora.co.uk>
2010-10-19call-channel: the ContentAdded signal lost its second argumentJonny Lamb1-2/+1
Signed-off-by: Jonny Lamb <jonny.lamb@collabora.co.uk>
2010-09-21various Call classes: use tp_clear_object, tp_clear_pointerSimon McVittie1-3/+1
2010-08-24Don't leak Call channels when waiting for caps.Will Thompson1-2/+4
call_channel_capabilities_discovered_cb() gets the channel by calling g_simple_async_result_get_source_object(), which returns a reference to the source object. Previously, it then failed to release its reference. This meant that if we have to wait for caps before completing a channel request, we'd always leak the channel. There's no regression test here. I found it while porting GabbleBaseCallChannel to use TpBaseChannel, because the latter holds a ref to its connection, and so leaking the Call channel leaks the connection which prevents it falling off the bus, which makes the existing regression tests for waiting for caps both fail! I've also audited Wocky and fixed a few places that make this same mistake there.
2010-08-11Replace all JingleSessionState with JingleStateSimon McVittie1-3/+3
As a side benefit, this fixes some cases of comparing a JingleState to a JingleSessionState (using the fact that they happen to be numerically equal), which gcc 4.5 apparently warns about.
2010-04-29Call channel is assume to keep a ref to the internal sessionSjoerd Simons1-1/+1
2010-04-23Make the user adding content in a call a virtual functionSjoerd Simons1-0/+32
2010-04-05Add some debugging if we don't understand the media typesSjoerd Simons1-1/+2
2010-04-01Merge remote branch 'upstream/master' into muc-callsSjoerd Simons1-0/+4
Conflicts: src/call-channel.c
2010-03-26Fix refcounting of the JingleSessionSjoerd Simons1-0/+6
When asking the jingle factory to create a session it gives you back a object you don't have a ref to, so first of all make sure we have a ref. And second, do actually unref it when disposing the channel :)
2010-02-18Wait for capabilities before completely initializing a call.Mike Ruprecht1-14/+142
If Gabble doesn't have a contact's capabilities, it should wait until they are retrieved before returning from the CreateChannel or EnsureChannel call. The caps must be checked to ensure they have the required capabilities before returning whether or not the call was successful. Some of the capabilities checking code was copied from media-channel.c.
2010-02-18Remove CallContent when CallMemberContent is removed.Mike Ruprecht1-0/+24
This is for CallChannels only. CallMucChannels shouldn't have their CallContents removed when there are no members left. Someone might join the conference.
2010-02-18CallChannel: Handle additional contents added by the remote side.Mike Ruprecht1-0/+35
2010-02-18Use a virtual function for the actual acceptance of callsSjoerd Simons1-0/+10
2010-02-18Purely use CallMemberContents instead of JingleContentsSjoerd Simons1-8/+14
2010-02-18Start using seperate CallMember objectsSjoerd Simons1-32/+127
2010-02-18Make the handle type a class variableSjoerd Simons1-0/+4
2010-02-18Split a BaseCallChannel out of CallChannelSjoerd Simons1-945/+20
Both Muji related call channels and 1-to-1 call channel should be able to share quite some code. The main difference is in setting up the call. This is a very minimal split, more 1-to-1 call specific code will move out of the base class into the call-channel
2010-01-22Merge remote branch 'maiku/replace-codecoffers'Sjoerd Simons1-1/+1
Conflicts: src/call-content.c src/call-content.h
2010-01-22Merge remote branch 'maiku/handle-new-content'Sjoerd Simons1-0/+28
2010-01-20Add a _deinit function to CallContent.Mike Ruprecht1-1/+1
Using _deinit, CallContent will wait for its CodecOffer (if any) to be freed before allowing itself to be freed.
2010-01-20Add debug messages for unexpected events in Accept().Mike Ruprecht1-0/+3
2010-01-20In Accept(), set sending state from Pending to Sending automatically.Mike Ruprecht1-0/+2
As per the spec, in Accept(), all streams that are in the pending send state and are in contents whose disposition is initial should be automatically set to the sending state.
2010-01-20Handle when the remote end adds a content to the session.Mike Ruprecht1-0/+26
2010-01-20Set the Ringing_Locally flag when Ringing is called.Mike Ruprecht1-2/+29
2010-01-20Ensure Accept isn't called in an invalid state.Mike Ruprecht1-0/+16