Commit Graph

8589 Commits

Author SHA1 Message Date
Peter Boström
02c9b36733 Roll gtest-parallel.
Includes modification by kwiberg@ for starting slowest tests first,
reducing total runtime without increasing workers.

BUG=
R=kwiberg@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/46339004

Cr-Commit-Position: refs/heads/master@{#9207}
2015-05-18 13:18:09 +00:00
Karl Wiberg
7e0c7d49ea Add support for external encoders in ACM
Also introduce tests using external (mock) encoders, both for
CodecOwner and for AudioCodingModule.

Support for external decoders is still missing.

COAUTHOR=henrik.lundin@webrtc.org
BUG=4474
R=jmarusic@webrtc.org, minyue@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/49939004

Cr-Commit-Position: refs/heads/master@{#9206}
2015-05-18 12:52:13 +00:00
Tommi
ea14f0ac11 Move SetCurrentThreadName to platform_thread.* in rtc_base_approved,
update all webrtc and libjingle code to use the same function and remove
extra implementations.

BUG=
R=andresp@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/55439004

Cr-Commit-Position: refs/heads/master@{#9205}
2015-05-18 11:50:31 +00:00
Karl Wiberg
bd1bc47395 Restructure decoder registration in ACM
Before this change, a decoder was registered into ACMReceiver through
the CodecOwner; the CodecOwner had to have a pointer back to the
AudioCodingModuleImpl object to make this call. With this change, the
AudioCodingModuleImpl object asks the CodecOwner for a decoder pointer
instead, making the chain of calls more straightforward.

COAUTHOR=henrik.lundin@webrtc.org
BUG=4474
R=jmarusic@webrtc.org, minyue@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/52439004

Cr-Commit-Position: refs/heads/master@{#9204}
2015-05-18 10:18:44 +00:00
Peter Boström
9d8b71e4c0 Remove some dead code in ViEChannel.
BUG=1695
R=asapersson@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/54429004

Cr-Commit-Position: refs/heads/master@{#9203}
2015-05-18 09:48:17 +00:00
André Susano Pinto
a6e883bc6b Fix constant in SetCurrentThreadName.
TBR=juberti@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/46329004

Cr-Commit-Position: refs/heads/master@{#9202}
2015-05-18 07:55:20 +00:00
Tommi
bebc69010d Add platform_thread source files and move types from thread_checker_impl to there.
BUG=
R=henrika@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/52529004

Cr-Commit-Position: refs/heads/master@{#9201}
2015-05-18 07:51:16 +00:00
Henrik Kjellander
24ec128fb6 Roll chromium_revision 5118a5b..1b9c098 (330060:330302)
Picks up https://codereview.chromium.org/1139263002/
which fixes an MSan issue with BoringSSL when enabling it for
Linux, which I tested in
https://webrtc-codereview.appspot.com/46239004.

Relevant changes:
* src/third_party/android_tools: 0c03d3b..3445d55
* src/third_party/boringssl/src: 771a138..9660032
* src/third_party/icu: ce41627..5788e27
* src/third_party/libsrtp: 6446144..9c53f85
* src/third_party/openmax_dl: 0b238cb..22bb108
Details: 5118a5b..1b9c098/DEPS

Clang version was not updated in this roll.

TBR=pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/50979004

Cr-Commit-Position: refs/heads/master@{#9200}
2015-05-17 13:30:32 +00:00
Henrik Kjellander
a7d03aec84 Roll chromium_revision 62a5bb3..5118a5b (329063:330060)
Relevant changes:
* src/buildtools: b0ede9c..b73e5f7
* src/testing/gtest: be18681..23574bf
* src/third_party/boringssl/src: 68de407..771a138
* src/third_party/icu: f8c0e58..ce41627
* src/third_party/libvpx: e9830e1..d1c022c
* src/tools/swarming_client: f222001..b39a448
Details: 62a5bb3..5118a5b/DEPS

Clang version was not updated in this roll.

TBR=pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/54439004

Cr-Commit-Position: refs/heads/master@{#9199}
2015-05-17 10:14:27 +00:00
Donald Curtis
144d01850b fix indent on tokenize_first function signatures
R=juberti@google.com, pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/52499004

Cr-Commit-Position: refs/heads/master@{#9198}
2015-05-15 20:14:13 +00:00
Peter Thatcher
42af6caf5c Add logging of "use candidate" and when we switch ICE "best" connections.
R=guoweis@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/46309004

Cr-Commit-Position: refs/heads/master@{#9197}
2015-05-15 19:23:16 +00:00
Peter Thatcher
b2d2623902 Don't use rtc::LogCheckLevel, because it breaks Chrome.
R=guoweis@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/55429004

Cr-Commit-Position: refs/heads/master@{#9196}
2015-05-15 18:24:59 +00:00
Peter Thatcher
1cf6f8101a Add logging for sending and receiving STUN binding requests and TURN requests and responses.
BUG=
R=guoweis@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/46189004

Cr-Commit-Position: refs/heads/master@{#9195}
2015-05-15 17:40:34 +00:00
Guo-wei Shieh
37931c4b85 Stunprober interface, its implementation and a command line driver.
Chrome will only see stunprober.h and stunprobercontext.h and link with libstunprober.a.

It has support for shared and non-shared mode. In shared mode, a socket will be used to ping all resolved IPs once. In non-shared mode, each ping will get a new socket.

The thread scheduling will try to run MaybeScheduleStunRequest every 1 ms. When the time is up for next ping, it'll send it out.

BUG=4576
R=pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/51729004

Cr-Commit-Position: refs/heads/master@{#9194}
2015-05-15 17:26:40 +00:00
Donald Curtis
0e07f92043 Split fmtp on semicolons not spaces as per RFC6871
BUG=4617
R=pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/47169004

Cr-Commit-Position: refs/heads/master@{#9193}
2015-05-15 16:21:16 +00:00
Peter Boström
20f3f942a0 Clear bitrate stats for unused SSRCs.
Prevents bug where transmitted bitrate was reported as higher than what
was actually sent, since unused RTP modules weren't updated to say that
they sent zero.

BUG=
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/49979004

Cr-Commit-Position: refs/heads/master@{#9192}
2015-05-15 09:33:27 +00:00
Henrik Kjellander
4cd6940e49 Enable -Wformat-security warning and cleanup GYP.
Enable the -Wformat-security and -Wformat warnings for talk/.

Remove *.def and *.h.pump files from webrtc/base/base.gyp since they're not supported by some tools.

BUG=4242
R=henrika@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/49969004

Cr-Commit-Position: refs/heads/master@{#9191}
2015-05-15 07:10:32 +00:00
Yuriy Shevchuk
39f2b0c870 Implemented video device info for iOS
R=pbos@webrtc.org, tkchin@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/42189004

Patch from Yuriy Shevchuk <youwrk@gmail.com>.

Cr-Commit-Position: refs/heads/master@{#9190}
2015-05-14 21:16:01 +00:00
Tommi
a4463b2b8a Further updates to fix libjingle logging.
Since libjingle log constant values decrease as severety goes up while Chrome's increase, I decided to handle the verbosity level check explicitly and convert libjingle severity over to chrome constants only when we log.
This also requires updating the unittests on the Chrome side.

BUG=chromium:401963
TBR=magjed@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/51839004

Cr-Commit-Position: refs/heads/master@{#9189}
2015-05-14 02:18:15 +00:00
Tommi
99eeee39eb Fix logging in Chrome.
The constants we were using for severities don't match Chrome's, so I added a little translation function.
A longer term fix could be to simply use the same values as in Chrome to not need the translation.
That will however be a bigger change.

BUG=chromium:401963
TBR=magjed@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/50949004

Cr-Commit-Position: refs/heads/master@{#9188}
2015-05-13 21:49:38 +00:00
Henrik Kjellander
06c577fd18 Set msvs_error_on_missing_sources=1 in GYP_GENERATOR_FLAGS on Windows.
This will make us detect when sources are listed in GYP files that
are no longer present on disk. This check only exists for Windows
but should be enough to keep our GYP files up to date with the file
system.

R=pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/54409004

Cr-Commit-Position: refs/heads/master@{#9187}
2015-05-13 13:00:11 +00:00
Minyue
2013aeced2 Propagating RTT from send-only channel to receive-only channel.
This is important for obtaining ntp time at receiver-only channel, which does not have RTT directly.

BUG=3978

TEST=chromium with hangout calls
R=henrika@webrtc.org, mflodman@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/29989004

Cr-Commit-Position: refs/heads/master@{#9186}
2015-05-13 12:14:36 +00:00
Stefan Holmer
070376697a Fix issue where receive-side encoders are included in the padding bitrate.
BUG=chromium:487528
R=mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/49959004

Cr-Commit-Position: refs/heads/master@{#9185}
2015-05-13 12:01:35 +00:00
Peter Boström
9a63866272 Move IncomingVideoFrames to common_video/.
Permits using IncomingVideoFrame in VideoReceiveStream without depending
on VideoRender.

BUG=4588
R=mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/49199004

Cr-Commit-Position: refs/heads/master@{#9184}
2015-05-13 11:28:04 +00:00
Peter Boström
4feb50500d Remove VideoProcessing::ColorEnhancement.
Code for creating this table still (currently) exists under
webrtc/modules/video_processing/main/test/unit_test/createTable.m. This
processing effect is disabled but still occupies 64k of binary size.

BUG=4491
R=marpan@google.com, mflodman@webrtc.org, marpan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/47069004

Cr-Commit-Position: refs/heads/master@{#9183}
2015-05-13 09:27:14 +00:00
André Susano Pinto
5ec998511c Windows utility to setTheadName to help debugging.
R=juberti@google.com, mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/49919004

Cr-Commit-Position: refs/heads/master@{#9182}
2015-05-13 07:20:48 +00:00
Noah Richards
9b9f1c4562 Remove basictypes.h dependency from bitbuffer.
This reduces the types exported in webrtc proper, which can cause other
issues (since it doesn't generally use webrtc/base/basictypes.h).
basictypes.h integral types (e.g. uint8) have been replaced by the
stdint counterparts (e.g. uint8_t), which matches general webrtc style.

The include for common.h has been replaced by constructormagic.h, which
was the only part used.

BUG=
R=pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/50859004

Cr-Commit-Position: refs/heads/master@{#9181}
2015-05-12 19:20:44 +00:00
Andrew MacDonald
e2357149eb Guard new protobuf target with enable_protobuf==1.
Fixes a gyp error on iOS.

BUG=4642
TBR=aluebs@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/46229004

Cr-Commit-Position: refs/heads/master@{#9180}
2015-05-12 15:43:38 +00:00
Peter Boström
300eeb68f5 Remove VideoEngine interfaces.
Removes ViE interfaces, _impl.cc files, managers (such as
ViEChannelManager and ViEInputManager) as well as ViESharedData.

Interfaces necessary to implement observers have been moved to a
corresponding header (such as vie_channel.h).

BUG=1695, 4491
R=mflodman@webrtc.org, solenberg@webrtc.org
TBR=pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/55379004

Cr-Commit-Position: refs/heads/master@{#9179}
2015-05-12 14:51:08 +00:00
Henrik Lundin
8171735b0c Add NetEqIlbcQualityTest
This is virtually the same as NetEq{Isac,Opus}QualityTest but for iLBC.

BUG=2692
R=minyue@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/50909004

Cr-Commit-Position: refs/heads/master@{#9178}
2015-05-12 13:04:29 +00:00
Peter Boström
df664536af Remove FPS->kilo-FPS conversion in VideoSender.
Wat.

Also moving the parameter to make sure this doesn't happen as easily
(right now it was part of a bitrate conversion from kilobits to bits).

BUG=
R=mflodman@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/51819004

Cr-Commit-Position: refs/heads/master@{#9177}
2015-05-12 10:22:07 +00:00
Henrik Lundin
e5ff00a1c6 Add NetEqPcmuQualityTest
This is virtually the same as NetEq{Isac,Opus}QualityTest but for PCMu.

BUG=2692
R=minyue@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/54379004

Cr-Commit-Position: refs/heads/master@{#9176}
2015-05-12 10:09:53 +00:00
Peter Boström
fade1790a7 Remove leaking aecdump testfiles.
Also removes tracing to file in ApmTest because it leads to remaining
files.

BUG=4258
R=bjornv@webrtc.org, kjellander@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/52469004

Cr-Commit-Position: refs/heads/master@{#9175}
2015-05-12 08:44:03 +00:00
Karl Wiberg
075bb8d125 Fix race in AudioCodingModuleImpl::Add10MsData()
AudioCodingModuleImpl::Add10MsData() calls two private methods that
together do all the work: Add10MsDataInternal() and Encode(). They
each took locks internally in order to protect access to, among other
things, codec_manager_.

This turned out to be inadequate. Add10MsDataInternal() calls
codec_manager_.CurrentEncoder()->SampleRateHz() in order to be able to
resample the audio data to what the current encoder wants. When the
resampled data is fed to the encoder deep inside the Encode() call,
that sample rate must still be correct, but occasionally it wasn't,
which triggered a CHECK. (The specific test that failed was the
voe_auto_test subtest
CodecTest.OpusMaxPlaybackRateCannotBeSetForNonOpus, which changes the
current encoder while encoding is in progress.)

This CL solves the problem by covering all of
AudioCodingModuleImpl::Add10MsData() in a single critical section, so
that the sample rate obtained in Add10MsDataInternal() is guaranteed
to still be valid during the Encode() call.

BUG=4644
R=henrik.lundin@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/52459004

Cr-Commit-Position: refs/heads/master@{#9174}
2015-05-12 08:09:58 +00:00
Joachim Bauch
1b794d56b7 Switch to use SHA-256 for certificates / fingerprints.
This CL changes identity generation to use SHA-256 for the self-signed
certificates and the fingerprints sent in the SDP.

BUG=4602
R=juberti@google.com

Review URL: https://webrtc-codereview.appspot.com/47149004

Cr-Commit-Position: refs/heads/master@{#9173}
2015-05-12 01:32:22 +00:00
Henrik Lundin
cb3e8fe492 Increase the tolerance in NetEq's DelayManagerTest a notch
This change is to make the test pass on Samsung devices.

BUG=4426
R=kjellander@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/52449004

Cr-Commit-Position: refs/heads/master@{#9172}
2015-05-11 13:15:49 +00:00
Peter Boström
67c9df7982 Base NACK on send codecs.
Addressing discrepancy where NACK used to be set from send codecs in
WebRtcVideoEngine(1), and before this change, from recv codecs in
WebRtcVideoEngine2. This should address that NACK might be sent even if
the remote side does not support it.

BUG=4626
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/53409004

Cr-Commit-Position: refs/heads/master@{#9171}
2015-05-11 12:34:53 +00:00
Peter Boström
126c03ea02 Base decision to send REMB on send codecs.
Fixes bug where Chromium would send REMB even though the remote party
doesn't announce support for it (because it was based on local codec
settings instead of remote ones).

BUG=4626
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/54389004

Cr-Commit-Position: refs/heads/master@{#9170}
2015-05-11 10:48:08 +00:00
Henrik Lundin
64dad838e6 Reland r9159 "Adding a new constraint to set NetEq buffer capacity ..."
The original change was reverted due to a breakage in the chrome build.
This change includes a fix for this.

TBR=mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/49329004

Cr-Commit-Position: refs/heads/master@{#9169}
2015-05-11 10:44:20 +00:00
Minyue Li
092041c1cd Setting OPUS_SIGNAL_VOICE when enable DTX.
A better solution than forcing OPUS_APPLICATION_VOIP when enabling DTX has been found, which is to set OPUS_SIGNAL_VOICE.

This reduces the uncertainty of entering DTX over silence period of audio.

This CL contains the setup of OPUS_SIGNAL_VOICE and decoupling opus application mode with DTX.

BUG=4559
R=henrik.lundin@webrtc.org, henrika@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/46959004

Cr-Commit-Position: refs/heads/master@{#9168}
2015-05-11 10:19:36 +00:00
Henrik Kjellander
9f7908e497 Roll chromium_revision ec5b768..62a5bb3 (328242:329063)
A minor code change had to be made due to
https://codereview.chromium.org/951983002

Relevant changes:
* src/buildtools: 15f5fc6..b0ede9c
Details: ec5b768..62a5bb3/DEPS

Clang version was not updated in this roll.

R=henrika@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/49949004

Cr-Commit-Position: refs/heads/master@{#9167}
2015-05-11 09:34:26 +00:00
Erik Språng
242e22b055 Refactor RTCP sender
The main purpose of this CL is to clean up RTCPSender::PrepareRTCP, but
it has quite a few ramifications. Notable changes:

* Removed the rtcpPacketTypeFlags bit vector and don't assume
  RTCPPacketType values have a single unique bit set. This will allow
  making this an enum class once rtcp_receiver has been overhauled.

* Flags are now stored in a map that is a member of the class. This
  meant we could remove some bool flags (eg send_remb_) which was
  previously masked into rtcpPacketTypeFlags and then masked out again
  when testing if a remb packet should be sent.

* Make all build methods, eg. BuildREMB(), have the same signature.
  An RtcpContext struct was introduced for this purpose. This allowed
  the use of a map from RTCPPacketType to method pointer. Instead of
  18 consecutive if-statements, there is now a single loop.
  The context class also allowed some simplifications in the build
  methods themselves.

* A few minor simplifications and cleanups.

The next step is to gradually replace the builder methods with the
builders from the new RtcpPacket classes.

BUG=2450
R=asapersson@webrtc.org, pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/48329004

Cr-Commit-Position: refs/heads/master@{#9166}
2015-05-11 08:17:46 +00:00
Henrik Lundin
1f629232d5 Revert r9164 "Adding a new constraint to set NetEq buffer capacity ..."
This reverts commit fd32f35aff.

TBR=mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/55369004

Cr-Commit-Position: refs/heads/master@{#9165}
2015-05-10 09:06:20 +00:00
Henrik Lundin
fd32f35aff Reland r9159 "Adding a new constraint to set NetEq buffer capacity ..."
This reverts commit cdb47a4533.

Contains a tentative fix to the chrome build breakage caused by the
original change.

TBR=mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/47139004

Cr-Commit-Position: refs/heads/master@{#9164}
2015-05-10 09:03:00 +00:00
Jiayang Liu
54adb28e89 mac: Explicitly redeclare methods only available on 10.7+.
When compiling against an OSX 10.7+ SDK, explicitly redeclare methods only
available from an OSX 10.7+ SDK. This suppresses the clang warning
-Wpartial-availability, which will be turned on in the future.

BUG=chromium:471823
R=jiayl@webrtc.org, mark@chromium.org

Review URL: https://webrtc-codereview.appspot.com/44359004

Cr-Commit-Position: refs/heads/master@{#9163}
2015-05-08 18:48:58 +00:00
Lally Singh
4c277bb938 Add basic SCTP packet logging.
Attempts to get wireshark to decode the DTLS were problematic (wireshark only does it for certain versions of some DTLS implementations), so just do what firefox does and dump a txt2pcap-compatible log when requested.

R=pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/49159004

Cr-Commit-Position: refs/heads/master@{#9162}
2015-05-08 18:39:04 +00:00
Henrik Lundin
cdb47a4533 Revert r9159 "Adding a new constraint to set NetEq buffer capacity ..."
This reverts commit 208a2294cd.
Breaks the Chrome build.

TBR=mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/53399004

Cr-Commit-Position: refs/heads/master@{#9161}
2015-05-08 12:03:46 +00:00
Peter Boström
45553aefac Remove VideoEngine interface usage from new API.
Instantiates ProcessThread/ChannelGroup inside Call instead of using
VideoEngine or ViEBase. This removes the need for ViEChannelManager,
ViEInputManager and other ViESharedData completely.

Some interface headers are still referenced due to external interfaces
being defined there. Upon interface removal these will be moved to
implementation headers.

BUG=1695
R=mflodman@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/50849005

Cr-Commit-Position: refs/heads/master@{#9160}
2015-05-08 11:54:39 +00:00
Henrik Lundin
208a2294cd Adding a new constraint to set NetEq buffer capacity from peerconnection
This change makes it possible to set a custom value for the maximum
capacity of the packet buffer in NetEq (the audio jitter buffer). The
default value is 50 packets, but any value can be set with the new
functionality.

R=jmarusic@webrtc.org, mflodman@webrtc.org, pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/50869004

Cr-Commit-Position: refs/heads/master@{#9159}
2015-05-08 10:58:51 +00:00
Henrik Lundin
83b5c053b9 Modify NetEqQualityTest
- Take input sample rate as parameter - provides resampling when needed.
- Add support for wav output.

BUG=2692
R=minyue@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/49699004

Cr-Commit-Position: refs/heads/master@{#9158}
2015-05-08 08:34:00 +00:00