summary refs log tree commit diff
diff options
context:
space:
mode:
authorDaniel Wagner-Hall <daniel@matrix.org>2015-08-19 15:19:37 +0100
committerDaniel Wagner-Hall <daniel@matrix.org>2015-08-19 15:19:37 +0100
commitecc59ae66ef8e0b491a3ade89f363238abccaab8 (patch)
tree0a8f6b85ccbc42a7e02b9995ee58f13181fe240a
parentRe-add whitespace around caveat operators (diff)
parenthacky support for video for FS CC DD (diff)
downloadsynapse-ecc59ae66ef8e0b491a3ade89f363238abccaab8.tar.xz
Merge branch 'master' into auth
-rwxr-xr-xcontrib/vertobot/bot.pl40
-rw-r--r--contrib/vertobot/cpanfile3
2 files changed, 25 insertions, 18 deletions
diff --git a/contrib/vertobot/bot.pl b/contrib/vertobot/bot.pl

index 0430a38aa8..31eed40925 100755 --- a/contrib/vertobot/bot.pl +++ b/contrib/vertobot/bot.pl
@@ -126,12 +126,26 @@ sub on_unknown_event if (!$bridgestate->{$room_id}->{gathered_candidates}) { $bridgestate->{$room_id}->{gathered_candidates} = 1; my $offer = $bridgestate->{$room_id}->{offer}; - my $candidate_block = ""; + my $candidate_block = { + audio => '', + video => '', + }; foreach (@{$event->{content}->{candidates}}) { - $candidate_block .= "a=" . $_->{candidate} . "\r\n"; + if ($_->{sdpMid}) { + $candidate_block->{$_->{sdpMid}} .= "a=" . $_->{candidate} . "\r\n"; + } + else { + $candidate_block->{audio} .= "a=" . $_->{candidate} . "\r\n"; + $candidate_block->{video} .= "a=" . $_->{candidate} . "\r\n"; + } } - # XXX: collate using the right m= line - for now assume audio call - $offer =~ s/(a=rtcp.*[\r\n]+)/$1$candidate_block/; + + # XXX: assumes audio comes first + #$offer =~ s/(a=rtcp-mux[\r\n]+)/$1$candidate_block->{audio}/; + #$offer =~ s/(a=rtcp-mux[\r\n]+)/$1$candidate_block->{video}/; + + $offer =~ s/(m=video)/$candidate_block->{audio}$1/; + $offer =~ s/(.$)/$1\n$candidate_block->{video}$1/; my $f = send_verto_json_request("verto.invite", { "sdp" => $offer, @@ -172,22 +186,18 @@ sub on_room_message warn "[Matrix] in $room_id: $from: " . $content->{body} . "\n"; } -my $verto_connecting = $loop->new_future; -$bot_verto->connect( - %{ $CONFIG{"verto-bot"} }, - on_connect_error => sub { die "Cannot connect to verto - $_[-1]" }, - on_resolve_error => sub { die "Cannot resolve to verto - $_[-1]" }, -)->then( sub { - warn("[Verto] connected to websocket"); - $verto_connecting->done($bot_verto) if not $verto_connecting->is_done; -}); - Future->needs_all( $bot_matrix->login( %{ $CONFIG{"matrix-bot"} } )->then( sub { $bot_matrix->start; }), - $verto_connecting, + $bot_verto->connect( + %{ $CONFIG{"verto-bot"} }, + on_connect_error => sub { die "Cannot connect to verto - $_[-1]" }, + on_resolve_error => sub { die "Cannot resolve to verto - $_[-1]" }, + )->on_done( sub { + warn("[Verto] connected to websocket"); + }), )->get; $loop->attach_signal( diff --git a/contrib/vertobot/cpanfile b/contrib/vertobot/cpanfile
index c29fcaa6f6..800dc288ed 100644 --- a/contrib/vertobot/cpanfile +++ b/contrib/vertobot/cpanfile
@@ -11,7 +11,4 @@ requires 'YAML', 0; requires 'JSON', 0; requires 'Getopt::Long', 0; -on 'test' => sub { - requires 'Test::More', '>= 0.98'; -};