815 Commits

Author SHA1 Message Date
guoweis
318166bed7 Revert of Convert internal representation of Srtp cryptos from string to int. (patchset #10 id:180001 of https://codereview.webrtc.org/1416673006/ )
Reason for revert:
Broke chromium fyi build.

Original issue's description:
> Convert internal representation of Srtp cryptos from string to int.
>
> Note that the coversion from int to string happens in 3 places
> 1) SDP layer from int to external names. mediasession.cc GetSupportedSuiteNames.
> 2) for SSL_CTX_set_tlsext_use_srtp(), converting from int to internal names.
> 3) stats collection also needs external names.
>
> External names are like AES_CM_128_HMAC_SHA1_80, specified in sslstreamadapter.cc.
> Internal names are like SRTP_AES128_CM_SHA1_80, specified in opensslstreamadapter.cc.
>
> The conversion from string to int happens in one place only, SDP layer, SrtpFilter::ApplyParams().
>
> BUG=webrtc:5043
>
> Committed: https://crrev.com/2764e1027a08a5543e04b854a27a520801faf6eb
> Cr-Commit-Position: refs/heads/master@{#10701}

TBR=juberti@webrtc.org,pthatcher@webrtc.org,juberti@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5043

Review URL: https://codereview.webrtc.org/1455233005

Cr-Commit-Position: refs/heads/master@{#10702}
2015-11-19 03:03:46 +00:00
guoweis
2764e1027a Convert internal representation of Srtp cryptos from string to int.
Note that the coversion from int to string happens in 3 places
1) SDP layer from int to external names. mediasession.cc GetSupportedSuiteNames.
2) for SSL_CTX_set_tlsext_use_srtp(), converting from int to internal names.
3) stats collection also needs external names.

External names are like AES_CM_128_HMAC_SHA1_80, specified in sslstreamadapter.cc.
Internal names are like SRTP_AES128_CM_SHA1_80, specified in opensslstreamadapter.cc.

The conversion from string to int happens in one place only, SDP layer, SrtpFilter::ApplyParams().

BUG=webrtc:5043

Review URL: https://codereview.webrtc.org/1416673006

Cr-Commit-Position: refs/heads/master@{#10701}
2015-11-19 02:02:40 +00:00
Henrik Kjellander
2557b86e76 modules/video_coding refactorings
The main purpose was the interface-> include rename, but other files
were also moved, eliminating the "main" dir.

To avoid breaking downstream, the "interface" directories were copied
into a new "video_coding/include" dir. The old headers got pragma
warnings added about deprecation (a very short deprecation since I plan
to remove them as soon downstream is updated).

Other files also moved:
video_coding/main/source -> video_coding
video_coding/main/test -> video_coding/test

BUG=webrtc:5095
TESTED=Passing compile-trybots with --clobber flag:
git cl try --clobber --bot=win_compile_rel --bot=linux_compile_rel --bot=android_compile_rel --bot=mac_compile_rel --bot=ios_rel --bot=linux_gn_rel --bot=win_x64_gn_rel --bot=mac_x64_gn_rel --bot=android_gn_rel -m tryserver.webrtc

R=stefan@webrtc.org, tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1417283007 .

Cr-Commit-Position: refs/heads/master@{#10694}
2015-11-18 21:00:33 +00:00
Peter Boström
2aff615bd7 Remove spammy logging of RTCP delivery failures.
Since BundleFilter doesn't filter RTCP anymore we can have incoming
RTCPs for audio delivered to video, that delivery will fail when there
are no video receivers causing the log to be spammed.

BUG=webrtc:5223
R=henrika@webrtc.org

Review URL: https://codereview.webrtc.org/1458853002 .

Cr-Commit-Position: refs/heads/master@{#10687}
2015-11-18 12:47:25 +00:00
kjellander
6f8ce060a2 common_video: rename interface -> include
To avoid breaking downstream, the "interface" directories were copied
into a new "common_video/include" dir. The old headers got pragma
warnings added about deprecation (a very short deprecation since I plan
to remove them as soon downstream is updated).
The header guards are also identical to avoid mixing them up in the transition.

BUG=webrtc:5095
TESTED=Passing compile-trybots with --clobber flag:
git cl try --clobber --bot=win_compile_rel --bot=linux_compile_rel --bot=android_compile_rel --bot=mac_compile_rel --bot=ios_rel --bot=linux_gn_rel --bot=win_x64_gn_rel --bot=mac_x64_gn_rel --bot=android_gn_rel -m tryserver.webrtc

Review URL: https://codereview.webrtc.org/1418913006

Cr-Commit-Position: refs/heads/master@{#10659}
2015-11-16 21:52:31 +00:00
solenberg
3a94154035 Move some send stream configuration into webrtc::AudioSendStream.
BUG=webrtc:4690

Review URL: https://codereview.webrtc.org/1418503010

Cr-Commit-Position: refs/heads/master@{#10652}
2015-11-16 15:34:59 +00:00
solenberg
8093d5442e Change default SSRC for RTCP receiver reports to not collide with video.
BUG=chromium:547661
TBR=pthatcher@webrtc.org

Review URL: https://codereview.webrtc.org/1438183002

Cr-Commit-Position: refs/heads/master@{#10621}
2015-11-12 14:02:35 +00:00
Henrik Kjellander
5dda80abea Remove webrtc/modules/video_{capture,render}/include
BUG=webrtc:5095
TESTED=git cl try -c --bot=android_compile_rel --bot=linux_compile_rel --bot=win_compile_rel --bot=mac_compile_rel --bot=ios_rel --bot=linux_gn_rel --bot=win_x64_gn_rel --bot=mac_x64_gn_rel --bot=android_gn_rel -m tryserver.webrtc
R=pbos@webrtc.org, perkj@webrtc.org

Review URL: https://codereview.webrtc.org/1439823002 .

Cr-Commit-Position: refs/heads/master@{#10619}
2015-11-12 11:47:02 +00:00
Peter Boström
718b6c72ae Add waiting to SetSendSsrc tests.
These tests were flaky since a paced packet could arrive between
consecutive calls to NumRtpPackets or NumRtpBytes.

BUG=webrtc:5193
R=stefan@webrtc.org
TBR=pthatcher@webrtc.org

Review URL: https://codereview.webrtc.org/1436753003 .

Cr-Commit-Position: refs/heads/master@{#10603}
2015-11-11 16:19:40 +00:00
tfarina
5237aaf243 Convert usage of ARRAY_SIZE to arraysize.
ARRAY_SIZE is the old version of arraysize and does not cover
all the cases in C++, arraysize is a copy of Chromium's
version and thus have wider coverage.

BUG=None
R=tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1405023016

Cr-Commit-Position: refs/heads/master@{#10594}
2015-11-11 07:44:39 +00:00
Karl Wiberg
be57983f4b Rename Maybe to Optional
And add examples of good and bad usage to the documentation.

R=aluebs@webrtc.org, henrik.lundin@webrtc.org, pthatcher@webrtc.org

Review URL: https://codereview.webrtc.org/1432553007 .

Cr-Commit-Position: refs/heads/master@{#10588}
2015-11-10 21:34:32 +00:00
asapersson
3ed348707e Remove field trial check for VP9.
VP9 is put as second codec in supported codec list.

BUG=chromium:500602

Review URL: https://codereview.webrtc.org/1432673002

Cr-Commit-Position: refs/heads/master@{#10577}
2015-11-10 13:16:30 +00:00
solenberg
566ef247b9 Move VoiceEngineObserver into AudioSendStream so that we detect typing noises and return properly in GetStats().
BUG=webrtc:4690

Review URL: https://codereview.webrtc.org/1403363003

Cr-Commit-Position: refs/heads/master@{#10548}
2015-11-06 23:34:58 +00:00
Fredrik Solenberg
0ccae13556 Changed FakeVoiceEngine into a MockVoiceEngine.
BUG=webrtc:4690
R=tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1402403008 .

Cr-Commit-Position: refs/heads/master@{#10491}
2015-11-03 09:15:59 +00:00
kwiberg
102c6a61bc Replace rtc:🦗:Settable with rtc::Maybe
The former is very similar to the latter, but less general (mostly in
naming).

This CL, which is the first to use Maybe at scale, also removes the implicit conversion from T to Maybe<T>, since it was agreed that the increased verbosity increased legibility.

Review URL: https://codereview.webrtc.org/1430433004

Cr-Commit-Position: refs/heads/master@{#10461}
2015-10-30 09:47:44 +00:00
Stefan Holmer
bbaf3633c5 Filter overlapping RTP header extensions.
This removes unnecessary RTP header extension overhead since only one of
these extensions is used at a time.

BUG=webrtc:4254
R=pbos@webrtc.org

Review URL: https://codereview.webrtc.org/1429753003 .

Cr-Commit-Position: refs/heads/master@{#10455}
2015-10-29 17:53:33 +00:00
Henrik Kjellander
98f53510b2 system_wrappers: rename interface -> include
BUG=webrtc:5095
R=tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1413333002 .

Cr-Commit-Position: refs/heads/master@{#10438}
2015-10-28 17:17:50 +00:00
rlester
ec9d187f70 Added override keyword to overridden methods to stop compiler warnings.
BUG=

Review URL: https://codereview.webrtc.org/1417543002

Cr-Commit-Position: refs/heads/master@{#10433}
2015-10-27 21:22:21 +00:00
solenberg
85a0496b8c Implement AudioSendStream::GetStats().
BUG=webrtc:4690

Review URL: https://codereview.webrtc.org/1414743004

Cr-Commit-Position: refs/heads/master@{#10424}
2015-10-27 10:35:30 +00:00
pbos
4cba4eba59 Disable denoising for VP9 by default.
BUG=webrtc:5108
R=marpan@webrtc.org

Review URL: https://codereview.webrtc.org/1418133012

Cr-Commit-Position: refs/heads/master@{#10413}
2015-10-26 18:18:24 +00:00
noahric
5d9b92b53d Update Bind to match its comments and always capture by value. Also update the generated count to 9 args.
The existing comment is wrong, and the test even ensures it: Bind will capture reference values by reference. That makes it hard to use with AsyncInvoker, because you can't safely Bind to a function that takes (const) reference params.

The new version of this code strips references in the bound object, so it captures by value, but can bind against functions that take const references, they'll just be references to the copy.

As the class comment implies, actual by-reference args should be passed as pointers or things that safely share (e.g. scoped_refptr) and not references directly. A new test case ensures the pointer reference works. The new code will also give a compiler error if you try to bind
to a non-const reference.

BUG=

Review URL: https://codereview.webrtc.org/1291543006

Cr-Commit-Position: refs/heads/master@{#10397}
2015-10-24 18:14:52 +00:00
tfarina
ff134ebd3d talk: Use NDEBUG macro.
NDEBUG is a standard macro with the semantic "Not Debug" for C89, C99, C++98,
  C++2003, C++2011, C++2014 standards. There are no _DEBUG macros in the
  standards.

_DEBUG is a macro Visual Studio defines when you specify the /MTd or /MDd
option.

http://stackoverflow.com/a/29253284/5237416

This should help fix the TODO in third_party/libjingle/libjingle.gyp

BUG=None
R=sergeyu@chromium.org

Review URL: https://codereview.webrtc.org/1419733004

Cr-Commit-Position: refs/heads/master@{#10377}
2015-10-22 23:15:25 +00:00
ivoc
797ef12324 Added StopAecDump function to PeerConnectionFactory.
The function to stop recording an AEC dump was missing from the PeerConnectionFactory interface (only a start function was provided). This CL adds the missing stop function.

BUG=webrtc:4741

Review URL: https://codereview.webrtc.org/1415733005

Cr-Commit-Position: refs/heads/master@{#10372}
2015-10-22 10:25:45 +00:00
Fredrik Solenberg
4f4ec0a927 Re-Land: Implement AudioReceiveStream::GetStats().
R=tommi@webrtc.org
BUG=webrtc:4690

Committed: a457752f4a

Review URL: https://codereview.webrtc.org/1390753002 .

Cr-Commit-Position: refs/heads/master@{#10369}
2015-10-22 08:49:39 +00:00
solenberg
c96df779b0 - Introduce internal classes WebRtcAudio[Send|Receive]Stream in WebRtcVoiceMediaChannel.
- Remove WebRtcVoiceMediaChannel::WebRtcVoiceChannelRenderer
- Create webrtc::AudioSendStreams.

BUG=webrtc:4690

Review URL: https://codereview.webrtc.org/1415563003

Cr-Commit-Position: refs/heads/master@{#10361}
2015-10-21 20:02:00 +00:00
Peter Boström
dfa2815b4f Update receive report SSRCs on RemoveSendStream.
Prevents RTCP receiver reports, including PLIs with an old
receiver-report SSRC, from being dropped from the remote sender's
BundleFilter due to no longer being in use.

BUG=chromium:523928, webrtc:4883
R=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1404363003 .

Cr-Commit-Position: refs/heads/master@{#10359}
2015-10-21 15:21:21 +00:00
Peter Boström
b64a32bf25 Remove old VideoFrame::Reset.
Hopefully all external implementations are updated, I could build
Chromium locally with this patch. This Reset implementation causes (for
some mysterious reason) -WError=overloaded-virtual failures when trying
to build libjingle APKs.

R=guoweis@webrtc.org, magjed@webrtc.org, pthatcher@webrtc.org
BUG=webrtc:2365

Review URL: https://codereview.webrtc.org/1411253002 .

Cr-Commit-Position: refs/heads/master@{#10352}
2015-10-21 09:54:10 +00:00
tommi
e4f96501fc Remove system_wrappers/interface/trace_event.h
BUG=

Review URL: https://codereview.webrtc.org/1417773002

Cr-Commit-Position: refs/heads/master@{#10346}
2015-10-21 06:00:57 +00:00
solenberg
0a617e22a4 Remove the default send channel in WVoE.
BUG=webrtc:4690

Review URL: https://codereview.webrtc.org/1364643003

Cr-Commit-Position: refs/heads/master@{#10344}
2015-10-20 22:49:45 +00:00
solenberg
43e83d44f0 Revert of Implement AudioReceiveStream::GetStats(). (patchset #19 id:360001 of https://codereview.webrtc.org/1390753002/ )
Reason for revert:
webrtc_perf_tests started failing on Win32 Release, Mac32 Release and Linux64 Release (all running large tests). These were not caught by try bots.

Original issue's description:
> Implement AudioReceiveStream::GetStats().
>
> R=tommi@webrtc.org
> TBR=hta@webrtc.org
> BUG=webrtc:4690
>
> Committed: a457752f4a

TBR=tommi@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:4690

Review URL: https://codereview.webrtc.org/1411083006

Cr-Commit-Position: refs/heads/master@{#10340}
2015-10-20 13:41:06 +00:00
Fredrik Solenberg
a457752f4a Implement AudioReceiveStream::GetStats().
R=tommi@webrtc.org
TBR=hta@webrtc.org
BUG=webrtc:4690

Review URL: https://codereview.webrtc.org/1390753002 .

Cr-Commit-Position: refs/heads/master@{#10338}
2015-10-20 13:01:55 +00:00
Peter Boström
f56eca031c Remove dummyinstantiation.cc.
Prevented Android libjingle APK building since EnsureAPIMatch is defined
but not used.

BUG=webrtc:2365
R=solenberg@webrtc.org

Review URL: https://codereview.webrtc.org/1410643005 .

Cr-Commit-Position: refs/heads/master@{#10323}
2015-10-19 12:47:20 +00:00
pbos
22993e1a0c Unify FrameType and VideoFrameType.
Prevents some heap allocation and frame-type conversion since interfaces
mismatch. Also it's less confusing to have one type for this.

BUG=webrtc:5042
R=magjed@webrtc.org, mflodman@webrtc.org, henrik.lundin@webrtc.org, solenberg@webrtc.org, stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1371043003

Cr-Commit-Position: refs/heads/master@{#10320}
2015-10-19 09:39:15 +00:00
pbos
be16f79818 Remove simulcast bitrate modes.
Instead always use the SBM_VERY_HIGH setting.

BUG=webrtc:4885
R=hta@webrtc.org, mflodman@webrtc.org

Review URL: https://codereview.webrtc.org/1407693005

Cr-Commit-Position: refs/heads/master@{#10305}
2015-10-16 19:49:47 +00:00
ivoc
112a3d81db Added functions on libjingle API to start and stop the recording of an RtcEventLog.
BUG=webrtc:4741

Review URL: https://codereview.webrtc.org/1374253002

Cr-Commit-Position: refs/heads/master@{#10297}
2015-10-16 09:22:23 +00:00
stefan
c1aeaf0dc3 Wire up packet_id / send time callbacks to webrtc via libjingle.
BUG=webrtc:4173

Review URL: https://codereview.webrtc.org/1363573002

Cr-Commit-Position: refs/heads/master@{#10289}
2015-10-15 14:26:17 +00:00
solenberg
1ac561447e Remove default receive channel from WVoE; baby step 3.
Get rid of default receive channel.

BUG=webrtc:4690

Review URL: https://codereview.webrtc.org/1385893002

Cr-Commit-Position: refs/heads/master@{#10262}
2015-10-13 10:58:25 +00:00
solenberg
8fb30c328b Remove default receive channel from WVoE; baby step 2.
Rename voe_channel_ to default_send_channel_id_.

BUG=webrtc:4690

Review URL: https://codereview.webrtc.org/1388733002

Cr-Commit-Position: refs/heads/master@{#10261}
2015-10-13 10:07:07 +00:00
Magnus Jedvert
1b40a9a8af RefCountInterface: Make AddRef() and Release() const
This CL makes AddRef() and Release() const member methods and the refcount integer mutable. This is reasonable, because they only manage the lifetime of the object, and this is also how it's done in Chromium.

The purpose is to be able to capture a const pointer in a scoped_refptr, which is currenty impossible. The practial problem this CL solves is this:

void Foo::Bar() const {}

rtc::Callback0<void> Foo::MakeClosure() const {
  return rtc::Bind(&Foo::Bar, this);
}

We currently capture |this| as const Foo*. With this CL, |this| will be captured as scoped_refptr<const Foo>.

A test is also added in bind_unittest to check this behaviour.

BUG=webrtc:5065
R=perkj@webrtc.org, tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1403683004 .

Cr-Commit-Position: refs/heads/master@{#10253}
2015-10-12 13:50:50 +00:00
solenberg
d4cec0d8fa Remove MediaChannel::SetRemoteRenderer().
This is following discussion in: https://codereview.webrtc.org/1385893002/diff/60001/talk/media/webrtc/webrtcvoiceengine.cc#newcode2410

BUG=webrtc:4690

Review URL: https://codereview.webrtc.org/1398823003

Cr-Commit-Position: refs/heads/master@{#10237}
2015-10-09 15:55:54 +00:00
solenberg
98c68865e7 - Remove AudioTrackRenderer.
- Remove AddChannel/RemoveChannel from AudioRenderer interface.

BUG=webrtc:4690

Committed: https://crrev.com/1c0bb386b67835feb5934f503dddfe0912bce3ac
Cr-Commit-Position: refs/heads/master@{#10226}

Review URL: https://codereview.webrtc.org/1399553003

Cr-Commit-Position: refs/heads/master@{#10235}
2015-10-09 10:27:42 +00:00
solenberg
4bac9c53da Change SetOutputScaling to set a single level, not left/right levels.
BUG=webrtc:4690

Review URL: https://codereview.webrtc.org/1397773002

Cr-Commit-Position: refs/heads/master@{#10234}
2015-10-09 09:32:58 +00:00
solenberg
0b67546d8c Remove default receive channel from WVoE; baby step 1.
Rx AGC config bits copied from https://codereview.webrtc.org/1315903004.

BUG=webrtc:4690

Review URL: https://codereview.webrtc.org/1388723002

Cr-Commit-Position: refs/heads/master@{#10233}
2015-10-09 08:37:17 +00:00
torbjorng
eefbc3bbd7 Revert of Remove AudioTrackRenderer (patchset #3 id:40001 of https://codereview.webrtc.org/1399553003/ )
Reason for revert:
Breaks Chrome since its build files were not updated prior to file removal.

Original issue's description:
> - Remove AudioTrackRenderer.
> - Remove AddChannel/RemoveChannel from AudioRenderer interface.
>
> BUG=webrtc:4690
>
> Committed: https://crrev.com/1c0bb386b67835feb5934f503dddfe0912bce3ac
> Cr-Commit-Position: refs/heads/master@{#10226}

TBR=tommi@webrtc.org,solenberg@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:4690

Review URL: https://codereview.webrtc.org/1393343003

Cr-Commit-Position: refs/heads/master@{#10228}
2015-10-08 20:10:40 +00:00
solenberg
1c0bb386b6 - Remove AudioTrackRenderer.
- Remove AddChannel/RemoveChannel from AudioRenderer interface.

BUG=webrtc:4690

Review URL: https://codereview.webrtc.org/1399553003

Cr-Commit-Position: refs/heads/master@{#10226}
2015-10-08 19:49:53 +00:00
Peter Boström
0c4e06b4c6 Use suffixed {uint,int}{8,16,32,64}_t types.
Removes the use of uint8, etc. in favor of uint8_t.

BUG=webrtc:5024
R=henrik.lundin@webrtc.org, henrikg@webrtc.org, perkj@webrtc.org, solenberg@webrtc.org, stefan@webrtc.org, tina.legrand@webrtc.org

Review URL: https://codereview.webrtc.org/1362503003 .

Cr-Commit-Position: refs/heads/master@{#10196}
2015-10-07 10:23:32 +00:00
solenberg
d97ec30ce4 Remove default receive channel from WVoE; baby step 0.
Cleanup + add thread checker DCHECKs to various method in WebRtcVoiceEngine/MediaChannel.

BUG=webrtc:4690

Review URL: https://codereview.webrtc.org/1386653002

Cr-Commit-Position: refs/heads/master@{#10194}
2015-10-07 08:40:38 +00:00
stefan
1d8a506405 Add a PacketOptions struct to webrtc::Transport.
This allows us to pass packet meta data, such as transport sequence
number, to libjingle and further down to the socket implementation. A
similar struct already exist in libjingle, see rtc::PacketOptions in asyncpacketsocket.h.

BUG=4173

Review URL: https://codereview.webrtc.org/1376673004

Cr-Commit-Position: refs/heads/master@{#10144}
2015-10-02 10:39:40 +00:00
pbos
da903eaabb Unify newapi::RtcpMode and RTCPMethod.
BUG=webrtc:1695
R=solenberg@webrtc.org, stefan@webrtc.org
TBR=mflodman@webrtc.org

Review URL: https://codereview.webrtc.org/1373903003

Cr-Commit-Position: refs/heads/master@{#10143}
2015-10-02 09:37:18 +00:00
peah
5aaa9b4fe4 Removed unused API functions in AudioProcessing and AudioProcessingModule
BUG=

Review URL: https://codereview.webrtc.org/1379123002

Cr-Commit-Position: refs/heads/master@{#10138}
2015-10-02 06:58:21 +00:00