Commit Graph

9591 Commits

Author SHA1 Message Date
2bc6864278 Reland of Drop frames until specified bitrate is achieved. (patchset #1 id:1 of https://codereview.webrtc.org/2666303002/ )
Reason for revert:
Perf test broke as it made assumptions that quality scaling was turned off. This turns out not to be the case. Fixed by turning quality scaling off for the tests.

Original issue's description:
> Revert of Drop frames until specified bitrate is achieved. (patchset #12 id:240001 of https://codereview.webrtc.org/2630333002/ )
>
> Reason for revert:
> due to failures on perf tests (not on perf stats, but fails running due to dcheck failures), see e.g., https://build.chromium.org/p/client.webrtc.perf/builders/Android32%20Tests%20(K%20Nexus5)
>
> Original issue's description:
> > Drop frames until specified bitrate is achieved.
> >
> > This CL fixes a regression introduced with the new quality scaler
> > where the video would no longer start in a scaled mode. This CL adds
> > code that compares incoming captured frames to the target bitrate,
> > and if they are found to be too large, they are dropped and sinkWants
> > set to a lower resolution. The number of dropped frames should be low
> > (0-4 in most cases) and should not introduce a noticeable delay, or
> > at least should be preferrable to having the first 2-4 seconds of video
> > have very low quality.
> >
> > BUG=webrtc:6953
> >
> > Review-Url: https://codereview.webrtc.org/2630333002
> > Cr-Commit-Position: refs/heads/master@{#16391}
> > Committed: 83399caec5
>
> TBR=perkj@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,kthelgason@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6953
>
> Review-Url: https://codereview.webrtc.org/2666303002
> Cr-Commit-Position: refs/heads/master@{#16395}
> Committed: 35fc2aa82f

TBR=perkj@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,minyue@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:6953

Review-Url: https://codereview.webrtc.org/2675223002
Cr-Commit-Position: refs/heads/master@{#16473}
2017-02-07 15:02:22 +00:00
338f78ac95 RTCIceCandidatePairStats.available[Outgoing/Incoming]Bitrate collected.
Collected for current pairs, undefined for other pairs. This is the
same as the old stats' VideoBwe.googAvailable[Send/Receive]Bandwidth.

NOTE: The value this is based on for incoming bitrate is not set. This
CL wires it up but has a TODO that the incoming bitrate needs to be
collected properly. (Same problem for both old and new stats.)

Spec: https://w3c.github.io/webrtc-stats/#dom-rtcicecandidatepairstats-availableoutgoingbitrate
Discussion: https://github.com/w3c/webrtc-stats/issues/112#issuecomment-277167781

BUG=webrtc:7062

Review-Url: https://codereview.webrtc.org/2675923002
Cr-Commit-Position: refs/heads/master@{#16472}
2017-02-07 14:41:21 +00:00
3443bb75a0 RTCRTPStreamStats.ssrc changed type to uint32_t.
As per PR: https://github.com/w3c/webrtc-stats/pull/157

BUG=webrtc:7065, webrtc:7066

Review-Url: https://codereview.webrtc.org/2675583003
Cr-Commit-Position: refs/heads/master@{#16471}
2017-02-07 14:28:11 +00:00
87b8e9f3a2 Add missing dependency to audio_decoder_unittests.
BUG=None
NOTRY=True
R=kjellander@webrtc.org

Review-Url: https://codereview.webrtc.org/2684573002
Cr-Commit-Position: refs/heads/master@{#16470}
2017-02-07 14:26:29 +00:00
585a9b191c Refactor and clean-up relating to RTCCodecStats.
Refactor how |codec_id| is set, remove outdated TODO, update comments
with new bugs IDs.

BUG=webrtc:7061

Review-Url: https://codereview.webrtc.org/2670343002
Cr-Commit-Position: refs/heads/master@{#16467}
2017-02-07 12:59:16 +00:00
b99b5960e1 Add chromium-junit4 tag to instrumentation test AndroidManifests.
This tag is supposed to be temporary and removed when all Chromium tests
have been migrated to JUnit4.

BUG=webrtc:7123,chromium:640116
NOTRY=True

Review-Url: https://codereview.webrtc.org/2683583002
Cr-Commit-Position: refs/heads/master@{#16465}
2017-02-07 12:12:30 +00:00
e0ac5a6c15 Use std::unique_ptr in VideoProcessorIntegrationTest.
Add more logging of codec settings.

BUG=webrtc:6634

Review-Url: https://codereview.webrtc.org/2639203005
Cr-Commit-Position: refs/heads/master@{#16464}
2017-02-07 11:54:04 +00:00
1b21b9bbf8 Replace occurences of string by std::string.
BUG=None
NOTRY=True

Review-Url: https://codereview.webrtc.org/2685533002
Cr-Commit-Position: refs/heads/master@{#16463}
2017-02-07 11:40:28 +00:00
1634e16042 Remove use of selectors matching Apple private API names.
This was causing some apps that include WebRTC to be rejected from the
app store.

BUG=webrtc:6382

Review-Url: https://codereview.webrtc.org/2679913002
Cr-Commit-Position: refs/heads/master@{#16462}
2017-02-07 10:48:55 +00:00
4a9a595ab4 Make rtcp packets copyable
That would simplify their usage in tests where perfomance is not critical.

BUG=None

Review-Url: https://codereview.webrtc.org/2675713005
Cr-Commit-Position: refs/heads/master@{#16461}
2017-02-07 09:53:04 +00:00
1959b63b61 Remove Assert lint suppression.
BUG=webrtc:6597
NOTRY=True

Review-Url: https://codereview.webrtc.org/2668963002
Cr-Commit-Position: refs/heads/master@{#16460}
2017-02-07 09:41:47 +00:00
4709e8971b Move RemoteBitrateEstimator::RemoveStream calls from receive streams to Call.
We can then drop the CongestionController and RemoteBitrateEstimator
completely from the receive streams.

BUG=webrtc:6847

Review-Url: https://codereview.webrtc.org/2669463006
Cr-Commit-Position: refs/heads/master@{#16459}
2017-02-07 09:18:43 +00:00
6b34124a6d Remove unnecessary RTPHeaderParser, following https://codereview.webrtc.org/2659563002/
BUG=webrtc:6847

Review-Url: https://codereview.webrtc.org/2663063008
Cr-Commit-Position: refs/heads/master@{#16457}
2017-02-06 21:39:38 +00:00
f748ca47b0 Change order of tear down/create of default audio stream, to avoid starting/stopping audio card playout unnecessarily.
BUG=b/34746131

Review-Url: https://codereview.webrtc.org/2670183005
Cr-Commit-Position: refs/heads/master@{#16456}
2017-02-06 21:03:19 +00:00
bd9a77f4e5 Remove most of the remaining calls to VoE APIs from Audio[Send|Receive]Stream.
(TBRing webrtc/test/ OWNER)

BUG=webrtc:4690
TBR=stefan@webrtc.org

Review-Url: https://codereview.webrtc.org/2669153004
Cr-Commit-Position: refs/heads/master@{#16455}
2017-02-06 20:53:57 +00:00
f9b6e5e4b5 Fix KeepsHighBitrateWhenReconfiguringSender to avoid flakiness if probing succeeds in between encoder reconfigurations.
BUG=webrtc:7111
R=brandtr@webrtc.org

Review-Url: https://codereview.webrtc.org/2676973004 .
Cr-Commit-Position: refs/heads/master@{#16454}
2017-02-06 16:17:57 +00:00
1134b7b918 Reland of Improve and re-enable FEC end-to-end tests. (patchset #1 id:1 of https://codereview.webrtc.org/2672373002/ )
Reason for revert:
Will try to reland FlexFEC tests, since these do not seem to be flaky on the buildbots.

Original issue's description:
> Revert of Improve and re-enable FEC end-to-end tests. (patchset #3 id:40001 of https://codereview.webrtc.org/2675573004/ )
>
> Reason for revert:
> Ulpfec tests are still flaky on buildbots.
>
> Original issue's description:
> > Improve and re-enable FEC end-to-end tests.
> >
> > These tests got flaky under the new jitter buffer.
> >
> > Enhancements:
> > - Use send-side BWE.
> > - Let BWE ramp up before applying packet loss.
> > - Improve packet loss simulation for ULPFEC.
> > - Add delay to fake network pipe for FlexFEC.
> >   (Not added for ULPFEC, since this makes those flaky...?)
> > - Add FlexFEC+NACK test, using RTX instead of "raw retransmits".
> > - Tighter checks of received packets' payload types and SSRCs.
> >
> > TESTED=
> > $ ninja -C out/Debug video_engine_tests && third_party/gtest-parallel/gtest-parallel -r 1000 out/Debug/video_engine_tests --gtest_filter="*EndToEnd*Ulpfec*:*EndToEnd*Flexfec*"
> > ninja: Entering directory `out/Debug'
> > ninja: no work to do.
> > [12000/12000] TestWithNewVideoJitterBuffer/EndToEndTest.RecoversWithFlexfecAndNack/1 (14935 ms)
> >
> > BUG=webrtc:7047
> >
> > Review-Url: https://codereview.webrtc.org/2675573004
> > Cr-Commit-Position: refs/heads/master@{#16449}
> > Committed: d40b0f39e0
>
> TBR=stefan@webrtc.org,nisse@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:7047
>
> Review-Url: https://codereview.webrtc.org/2672373002
> Cr-Commit-Position: refs/heads/master@{#16450}
> Committed: fd8d2654d7

TBR=stefan@webrtc.org,nisse@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7047

Review-Url: https://codereview.webrtc.org/2675283003
Cr-Commit-Position: refs/heads/master@{#16452}
2017-02-06 14:35:47 +00:00
b77c716d8a Enable send-side BWE by default for video in call tests.
Also fixes a bug where RTCP transport feedback was sent even though RTCP was disabled.

May affect perf numbers since the behavior of the send-side BWE differs a lot from the recv-side BWE.

BUG=webrtc:7111

Review-Url: https://codereview.webrtc.org/2669413003
Cr-Commit-Position: refs/heads/master@{#16451}
2017-02-06 14:29:38 +00:00
fd8d2654d7 Revert of Improve and re-enable FEC end-to-end tests. (patchset #3 id:40001 of https://codereview.webrtc.org/2675573004/ )
Reason for revert:
Ulpfec tests are still flaky on buildbots.

Original issue's description:
> Improve and re-enable FEC end-to-end tests.
>
> These tests got flaky under the new jitter buffer.
>
> Enhancements:
> - Use send-side BWE.
> - Let BWE ramp up before applying packet loss.
> - Improve packet loss simulation for ULPFEC.
> - Add delay to fake network pipe for FlexFEC.
>   (Not added for ULPFEC, since this makes those flaky...?)
> - Add FlexFEC+NACK test, using RTX instead of "raw retransmits".
> - Tighter checks of received packets' payload types and SSRCs.
>
> TESTED=
> $ ninja -C out/Debug video_engine_tests && third_party/gtest-parallel/gtest-parallel -r 1000 out/Debug/video_engine_tests --gtest_filter="*EndToEnd*Ulpfec*:*EndToEnd*Flexfec*"
> ninja: Entering directory `out/Debug'
> ninja: no work to do.
> [12000/12000] TestWithNewVideoJitterBuffer/EndToEndTest.RecoversWithFlexfecAndNack/1 (14935 ms)
>
> BUG=webrtc:7047
>
> Review-Url: https://codereview.webrtc.org/2675573004
> Cr-Commit-Position: refs/heads/master@{#16449}
> Committed: d40b0f39e0

TBR=stefan@webrtc.org,nisse@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7047

Review-Url: https://codereview.webrtc.org/2672373002
Cr-Commit-Position: refs/heads/master@{#16450}
2017-02-06 14:19:51 +00:00
d40b0f39e0 Improve and re-enable FEC end-to-end tests.
These tests got flaky under the new jitter buffer.

Enhancements:
- Use send-side BWE.
- Let BWE ramp up before applying packet loss.
- Improve packet loss simulation for ULPFEC.
- Add delay to fake network pipe for FlexFEC.
  (Not added for ULPFEC, since this makes those flaky...?)
- Add FlexFEC+NACK test, using RTX instead of "raw retransmits".
- Tighter checks of received packets' payload types and SSRCs.

TESTED=
$ ninja -C out/Debug video_engine_tests && third_party/gtest-parallel/gtest-parallel -r 1000 out/Debug/video_engine_tests --gtest_filter="*EndToEnd*Ulpfec*:*EndToEnd*Flexfec*"
ninja: Entering directory `out/Debug'
ninja: no work to do.
[12000/12000] TestWithNewVideoJitterBuffer/EndToEndTest.RecoversWithFlexfecAndNack/1 (14935 ms)

BUG=webrtc:7047

Review-Url: https://codereview.webrtc.org/2675573004
Cr-Commit-Position: refs/heads/master@{#16449}
2017-02-06 13:54:43 +00:00
cb789bb510 Remove NewApi lint suppression.
BUG=webrtc:6597

Review-Url: https://codereview.webrtc.org/2662273004
Cr-Commit-Position: refs/heads/master@{#16448}
2017-02-06 13:34:26 +00:00
93e1e23537 Use RateAccCounter for sent bitrate stats. Reports average of periodically computed stats over a call.
Intervals when video is paused is no longer included in the stats:
"WebRTC.Video.BitrateSentInKbps"
"WebRTC.Video.MediaBitrateSentInKbps"
"WebRTC.Video.PaddingBitrateSentInKbps"
"WebRTC.Video.RetransmittedBitrateSentInKbps"
"WebRTC.Video.RtxBitrateSentInKbps"
"WebRTC.Video.FecBitrateSentInKbps"

BUG=webrtc:5283

Review-Url: https://codereview.webrtc.org/2536613002
Cr-Commit-Position: refs/heads/master@{#16447}
2017-02-06 13:18:35 +00:00
447dba9586 Add debuggable=true to AppRTCMobile manifest.
Improves possibility to debug the demo application using adb.
As an example, now allows 'adb run as' which is useful when profiling CPU. It enables us to do profiling on non-rooted devices (excluding details).

BUG=NONE

Review-Url: https://codereview.webrtc.org/2676983003
Cr-Commit-Position: refs/heads/master@{#16446}
2017-02-06 12:58:01 +00:00
b114e9c159 Camera2Session: Add return statements after reportError where needed.
BUG=webrtc:7117

Review-Url: https://codereview.webrtc.org/2674243002
Cr-Commit-Position: refs/heads/master@{#16445}
2017-02-06 12:55:21 +00:00
61202ac2ea Ensure that AEC3 is not run in tandem with AEC2
AEC3 and AEC2 are separate submodules in APM. This CL ensures that AEC3
deactivates AEC2 if both are active at the same time.

BUG=webrtc:6018

Review-Url: https://codereview.webrtc.org/2675863004
Cr-Commit-Position: refs/heads/master@{#16443}
2017-02-06 11:39:42 +00:00
237e1bbf76 Fix potential use after free in H264 packetizer.
BUG=webrtc:7116

Review-Url: https://codereview.webrtc.org/2677073002
Cr-Commit-Position: refs/heads/master@{#16442}
2017-02-06 11:02:15 +00:00
60f7c633f9 Remove temporary AddRtxInfo member function.
BUG=webrtc:7011

Review-Url: https://codereview.webrtc.org/2657253002
Cr-Commit-Position: refs/heads/master@{#16441}
2017-02-06 10:34:25 +00:00
d44ce0563f Reland of Always call RemoteBitrateEstimator::IncomingPacket from Call. (patchset #1 id:1 of https://codereview.webrtc.org/2668973003/ )
Reason for revert:
Intending to fix issues and reland.

Original issue's description:
> Revert of Always call RemoteBitrateEstimator::IncomingPacket from Call. (patchset #9 id:160001 of https://codereview.webrtc.org/2659563002/ )
>
> Reason for revert:
> This change causes excessive logging when running tests, and possibly also broke perf tests, see https://build.chromium.org/p/client.webrtc.perf/builders/Linux%20Trusty/builds/1040/steps/webrtc_perf_tests/logs/stdio
>
>
> Original issue's description:
> > Always call RemoteBitrateEstimator::IncomingPacket from Call.
> >
> > Delete the calls from RtpStreamReceiver (for video) and
> > AudioReceiveStream.
> >
> > BUG=webrtc:6847
> >
> > Review-Url: https://codereview.webrtc.org/2659563002
> > Cr-Commit-Position: refs/heads/master@{#16393}
> > Committed: 6d4dd593a8
>
> TBR=stefan@webrtc.org,brandtr@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6847
>
> Review-Url: https://codereview.webrtc.org/2668973003
> Cr-Commit-Position: refs/heads/master@{#16400}
> Committed: 14245cc939

TBR=stefan@webrtc.org,brandtr@webrtc.org
BUG=webrtc:6847

Review-Url: https://codereview.webrtc.org/2673523003
Cr-Commit-Position: refs/heads/master@{#16440}
2017-02-06 10:23:00 +00:00
656610fbe7 Move frame_generator_capture.{cc, h} and video_capturer.h to video_test_common.
Remove video_capture as a dependency of test_common and add it as a dependency of modules_unittests, as it was before the refactor in https://codereview.webrtc.org/2629923002

BUG=webrtc:7037
NOTRY=True

Review-Url: https://codereview.webrtc.org/2666113003
Cr-Commit-Position: refs/heads/master@{#16439}
2017-02-06 10:21:11 +00:00
a7111eb45a Fixing an error in ANA FrameLengthController unittest.
BUG=None
NOTRY=True
TBR=henrik.lundin@webrtc.org

Review-Url: https://codereview.webrtc.org/2675573007
Cr-Commit-Position: refs/heads/master@{#16438}
2017-02-06 10:20:00 +00:00
e702b30fec Adding C++ versions of currently spec'd "RtpParameters" structs.
These structs will be used for ORTC objects (and their WebRTC
equivalents).

This CL also introduces some minor changes to the existing implemented
structs:

- max_bitrate_bps uses rtc::Optional instead of "-1 means unset"
- "mime_type" turned into "name"/"kind" (which can be used to form the
  MIME type string, if needed).
- clock_rate and channels changed to rtc::Optional, since they will
  need to be for RtpSender.send().
- Renamed "channels" to "num_channels" (the ORTC name, which I prefer).

BUG=webrtc:7013, webrtc:7112

Review-Url: https://codereview.webrtc.org/2651883010
Cr-Commit-Position: refs/heads/master@{#16437}
2017-02-04 20:09:01 +00:00
d1f5fdac5c Allow changing the minimal ICE ping timeout with PeerConnection.SetConfiguration.
The original CL (https://codereview.webrtc.org/2670053002) only allows it to be set at PeerConnection creation time.

BUG=webrtc:7082

Review-Url: https://codereview.webrtc.org/2677503004
Cr-Commit-Position: refs/heads/master@{#16436}
2017-02-04 00:54:05 +00:00
98c437458a Allow passing network config constraint as base64 encoded string to preserve values of serialized protos. The values are a serialized byte stream packed into a std::string. To be represented as a NSString they must be base64 encoded or bytes outside of the ASCII range will be encoded into multi byte UTF8 sequences by default.
BUG=0

Review-Url: https://codereview.webrtc.org/2650343006
Cr-Commit-Position: refs/heads/master@{#16435}
2017-02-03 21:03:39 +00:00
390e64d7eb Add VP9 full stack tests:
- ConferenceMotionHd2000kbps100msLimitedQueueVP9

BUG=None

Review-Url: https://codereview.webrtc.org/2676443003
Cr-Commit-Position: refs/heads/master@{#16434}
2017-02-03 17:51:23 +00:00
53b6cc3832 Reland of Enable audio streams to send padding. (patchset #4 id:60001 of https://codereview.webrtc.org/2652893004/ )
Original issue's description:
> Enable audio streams to send padding.
>
> Useful if bitrate probing is to be used with audio streams.
>
> BUG=webrtc:7043
>
> Review-Url: https://codereview.webrtc.org/2652893004
> Cr-Commit-Position: refs/heads/master@{#16404}
> Committed: e35f89a484

BUG=webrtc:7043

Review-Url: https://codereview.webrtc.org/2675703002
Cr-Commit-Position: refs/heads/master@{#16433}
2017-02-03 16:13:57 +00:00
b11fb25c12 Protect APM in webkit builds.
Update libwertc AudioRtpSender::SetAudioSend with WEBRTC_WEBKIT_BUILD

This only introduces the WEBRTC_WEBKIT BUILD, inspired by WEBRTC_CHROMIUM_BUILD
macro. It is only defined by Webkit libwebrtc build system.
https://trac.webkit.org/changeset/210977

BUG=webrtc:7039

Review-Url: https://codereview.webrtc.org/2651273003
Cr-Commit-Position: refs/heads/master@{#16432}
2017-02-03 14:37:05 +00:00
9d58d94585 Fix and improve FlexFEC configuration for RTP/RTCP.
Fix: Order of assignments is now correct, after being incorrect
due to an incorrect merge between
https://codereview.webrtc.org/2617373002/ and
https://codereview.webrtc.org/2589713003.

Improvement: Set parameters in more places, allowing for
correct reconfiguration. Add TODOs to point of minor issues
with current configuration.

TESTED=By locally patching an application using this code.
BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2660403004
Cr-Commit-Position: refs/heads/master@{#16431}
2017-02-03 12:43:41 +00:00
4cb1b7546b Extends timer from 10 to 30 seconds for output volume check on Android.
The timer is only used for logging purposes and we can save CPU by
checking the volume less often.

BUG=webrtc:7096

Review-Url: https://codereview.webrtc.org/2669323003
Cr-Commit-Position: refs/heads/master@{#16430}
2017-02-03 11:39:47 +00:00
77ce9a5541 Avoid calling PostTask in audio callbacks.
We have seen that PostTask can consume some CPU and the way we used it
before (logging only) in the ADB is not worth the cost we see when
profiling.

This CL simply moves frequent (trivial) stat updates from the task queue
to the native threads to avoid calling PostTask in each callback.
The reason for doing so before was to avoid locks but we can live without
them since races are benign here.

BUG=webrtc:7096

Review-Url: https://codereview.webrtc.org/2663383004
Cr-Commit-Position: refs/heads/master@{#16429}
2017-02-03 10:19:17 +00:00
5f47126865 Added VP8 simulcast tests. Fixed analyzer to correctly infer timestamps.
BUG=webrtc:7095

Review-Url: https://codereview.webrtc.org/2668763004
Cr-Commit-Position: refs/heads/master@{#16428}
2017-02-03 10:02:17 +00:00
4b512d7e0c Fix Chromium FYI bot
Fixes the Chromium FYI breakage introduced by https://codereview.webrtc.org/2670113002

BUG=webrtc:7099
R=deadbeef@webrtc.org

Review-Url: https://codereview.webrtc.org/2677613002 .
Cr-Commit-Position: refs/heads/master@{#16427}
2017-02-03 02:22:46 +00:00
d030912de4 Pick the DTLS handshake timeout based on the ICE RTT estimate
This CL replaces the previously-hardcoded DTLS timeout value of 50 ms with one that is picked dynamically as 2x ICE RTT (clamped between 50 and 3000 ms to keep it reasonable).

No tests yet - I'm working on these, but sending out this CL early to get feedback. I've tested it manually and on slow networks it results in successful DTLS setup in a single attempt - instead of clogging up the slow link with multiple retransmissions as done previosly.

BUG=webrtc:7099

Review-Url: https://codereview.webrtc.org/2670113002
Cr-Commit-Position: refs/heads/master@{#16426}
2017-02-03 01:18:37 +00:00
a24a9e2fa6 Get rid of unqualified std:: types.
BUG=NONE
TBR=stefan@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2675523003
Cr-Commit-Position: refs/heads/master@{#16425}
2017-02-03 00:04:36 +00:00
6741516e18 Implement new PeerConnection certificate policy API in ObjC API
BUG=webrtc:7088

Review-Url: https://codereview.webrtc.org/2664233002
Cr-Commit-Position: refs/heads/master@{#16424}
2017-02-02 21:04:27 +00:00
a5d94fff99 Objective-C API to set the ICE check rate through RTCConfiguration.
This is the Objective-C counterpart to
https://codereview.webrtc.org/2670053002/. Allows applications to
control the maximum ICE check rate to match bandwidth constraints.

BUG=webrtc:7082

Review-Url: https://codereview.webrtc.org/2674663002
Cr-Commit-Position: refs/heads/master@{#16423}
2017-02-02 21:02:30 +00:00
b55bd5fef0 Don't capture variables explicitly in lambda expression.
As it is, the test fails to compile on some downstream compilers with the following error:

webrtc/modules/audio_coding/neteq/neteq_impl_unittest.cc:316:25: error: lambda capture 'kPayloadLength' is not required to be captured for this use [-Werror,-Wunused-lambda-capture]
      .WillOnce(Invoke([kPayloadLength, kFirstSequenceNumber, kFirstTimestamp,
                        ^
webrtc/modules/audio_coding/neteq/neteq_impl_unittest.cc:316:41: error: lambda capture 'kFirstSequenceNumber' is not required to be captured for this use [-Werror,-Wunused-lambda-capture]
      .WillOnce(Invoke([kPayloadLength, kFirstSequenceNumber, kFirstTimestamp,
                                        ^
webrtc/modules/audio_coding/neteq/neteq_impl_unittest.cc:316:63: error: lambda capture 'kFirstTimestamp' is not required to be captured for this use [-Werror,-Wunused-lambda-capture]
      .WillOnce(Invoke([kPayloadLength, kFirstSequenceNumber, kFirstTimestamp,
                                                              ^
webrtc/modules/audio_coding/neteq/neteq_impl_unittest.cc:317:25: error: lambda capture 'kFirstReceiveTime' is not required to be captured for this use [-Werror,-Wunused-lambda-capture]
                        kFirstReceiveTime](const SdpAudioFormat& format,

BUG=webrtc:7107

Review-Url: https://codereview.webrtc.org/2672823002
Cr-Commit-Position: refs/heads/master@{#16422}
2017-02-02 19:51:21 +00:00
5107246d4b Allow applications to limit the ICE check rate through RTCConfiguration
If an application sets a non-null value in RTCConfiguration.iceCheckMinInterval, we do not sent STUN pings more often than that. This is useful for bandwidth constrained scenarios.

This CL also increases the maximum STUN ping timeout to 60 seconds up from its previous value of 5 (which meant that a ping response received 5 seconds later would not be counted), and allows the RTT estimate to go up to 60 seconds from its previous limit of 3. RTTs above 3 seconds are possible on mobile links. (webrtc:7109)

This CL was originally written by pthatcher@, I am just submitting it after a minor cleanup.

BUG=webrtc:7082, webrtc:7109

Review-Url: https://codereview.webrtc.org/2670053002
Cr-Commit-Position: refs/heads/master@{#16421}
2017-02-02 19:50:14 +00:00
e5bd70223d Reland of Make the new jitter buffer the default jitter buffer. (patchset #2 id:260001 of https://codereview.chromium.org/2656983002/ )
Reason for revert:
Incoming fix: https://codereview.chromium.org/2675693002/

Original issue's description:
> Revert of Make the new jitter buffer the default jitter buffer. (patchset #2 id:290001 of https://codereview.chromium.org/2652043005/ )
>
> Reason for revert:
> Breaks downstream bots
>
> Original issue's description:
> > Reland of Make the new jitter buffer the default jitter buffer. (patchset #1 id:1 of https://codereview.webrtc.org/2638423003/ )
> >
> > Reason for revert:
> > Bugfixes related to the new jitter buffer has landed.
> >
> > Original issue's description:
> > > Revert of Make the new jitter buffer the default jitter buffer. (patchset #2 id:230001 of https://codereview.webrtc.org/2642753002/ )
> > >
> > > Reason for revert:
> > > Breaks tests downstream.
> > >
> > > Original issue's description:
> > > > Reland of Make the new jitter buffer the default jitter buffer. (patchset #1 id:1 of https://codereview.chromium.org/2632123005/ )
> > > >
> > > > Reason for revert:
> > > > Fix in this CL: https://codereview.chromium.org/2640793003/
> > > >
> > > > Original issue's description:
> > > > > Revert of Make the new jitter buffer the default jitter buffer. (patchset #7 id:120001 of https://codereview.chromium.org/2627463004/ )
> > > > >
> > > > > Reason for revert:
> > > > > Breaks android bots.
> > > > >
> > > > > Original issue's description:
> > > > > > Make the new jitter buffer the default jitter buffer.
> > > > > >
> > > > > > This CL contains only the changes necessary to make the switch to the new jitter
> > > > > > buffer, clean up will be done in follow up CLs.
> > > > > >
> > > > > > In this CL:
> > > > > >  - Removed the WebRTC-NewVideoJitterBuffer experiment and made the
> > > > > >    new video jitter buffer the default one.
> > > > > >  - Moved WebRTC.Video.KeyFramesReceivedInPermille and
> > > > > >    WebRTC.Video.JitterBufferDelayInMs to the ReceiveStatisticsProxy.
> > > > > >
> > > > > > BUG=webrtc:5514
> > > > > >
> > > > > > Review-Url: https://codereview.webrtc.org/2627463004
> > > > > > Cr-Commit-Position: refs/heads/master@{#16114}
> > > > > > Committed: 0f0763d86d
> > > > >
> > > > > TBR=stefan@webrtc.org,terelius@webrtc.org
> > > > > # Skipping CQ checks because original CL landed less than 1 days ago.
> > > > > NOPRESUBMIT=true
> > > > > NOTREECHECKS=true
> > > > > NOTRY=true
> > > > > BUG=webrtc:5514
> > > > >
> > > > > Review-Url: https://codereview.webrtc.org/2632123005
> > > > > Cr-Commit-Position: refs/heads/master@{#16117}
> > > > > Committed: c08c191f7d
> > > >
> > > > TBR=stefan@webrtc.org,terelius@webrtc.org
> > > > # Not skipping CQ checks because original CL landed more than 1 days ago.
> > > > BUG=webrtc:5514
> > > >
> > > > Review-Url: https://codereview.webrtc.org/2642753002
> > > > Cr-Commit-Position: refs/heads/master@{#16149}
> > > > Committed: f20dd0014d
> > >
> > > TBR=stefan@webrtc.org,terelius@webrtc.org,philipel@webrtc.org
> > > # Skipping CQ checks because original CL landed less than 1 days ago.
> > > NOPRESUBMIT=true
> > > NOTREECHECKS=true
> > > NOTRY=true
> > > BUG=webrtc:5514
> > >
> > > Review-Url: https://codereview.webrtc.org/2638423003
> > > Cr-Commit-Position: refs/heads/master@{#16159}
> > > Committed: 04926b8264
> >
> > TBR=stefan@webrtc.org,terelius@webrtc.org,kjellander@webrtc.org,kjellander@google.com
> > # Not skipping CQ checks because original CL landed more than 1 days ago.
> > BUG=webrtc:5514
> >
> > Review-Url: https://codereview.webrtc.org/2652043005
> > Cr-Commit-Position: refs/heads/master@{#16293}
> > Committed: 09d6ef00fc
>
> TBR=stefan@webrtc.org,terelius@webrtc.org,kjellander@webrtc.org,kjellander@google.com
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5514
>
> Review-Url: https://codereview.webrtc.org/2656983002
> Cr-Commit-Position: refs/heads/master@{#16316}
> Committed: 27378f39ce

TBR=stefan@webrtc.org,terelius@webrtc.org,kjellander@webrtc.org,kjellander@google.com
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:5514

Review-Url: https://codereview.webrtc.org/2670183002
Cr-Commit-Position: refs/heads/master@{#16420}
2017-02-02 17:53:00 +00:00
8c61924b56 video_coding::PacketBuffer now group all H264 packets with the same timestamp into the same frame.
Since we can't know when a H264 frame really starts we instead group all packets together by timestamp when a frame seems to be complete (only in the case of H264).

BUG=webrtc:5514

Review-Url: https://codereview.webrtc.org/2675693002
Cr-Commit-Position: refs/heads/master@{#16419}
2017-02-02 16:51:29 +00:00
1dffc62843 Remove all occurrences of "using std::string".
BUG=webrtc:7104
NOTRY=True

Review-Url: https://codereview.webrtc.org/2675723002
Cr-Commit-Position: refs/heads/master@{#16418}
2017-02-02 16:10:00 +00:00