14950 Commits

Author SHA1 Message Date
peah
1b08dc33eb To verify the upcoming code changes it is required
that the level of the output in the audio processing
module is monitored. This CL adds that.

BUG=webrtc:6181, webrtc:6183, webrtc:6220

Review-Url: https://codereview.webrtc.org/2549143004
Cr-Commit-Position: refs/heads/master@{#15718}
2016-12-20 21:45:58 +00:00
stefan
0838327ec9 Add method needed to extract frame capture and arrival timestamps from rtc event logs.
BUG=None

Review-Url: https://codereview.webrtc.org/2557073002
Cr-Commit-Position: refs/heads/master@{#15717}
2016-12-20 16:51:52 +00:00
buildbot
f7969df2d9 Roll chromium_revision 374735e0c4..8557f6fd65 (439777:439808)
Change log: 374735e0c4..8557f6fd65
Full diff: 374735e0c4..8557f6fd65

No dependencies changed.
No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2588373003
Cr-Commit-Position: refs/heads/master@{#15716}
2016-12-20 16:23:55 +00:00
stefan
64427e563e Add back video_replay. Disappeared in the gn conversion.
BUG=webrtc:6323

Review-Url: https://codereview.webrtc.org/2595533002
Cr-Commit-Position: refs/heads/master@{#15715}
2016-12-20 15:26:58 +00:00
mbonadei
235d5cca4a Fixing relative paths and adding a docstring
BUG=webrtc:6828
NOTRY=True

Review-Url: https://codereview.webrtc.org/2589223002
Cr-Commit-Position: refs/heads/master@{#15714}
2016-12-20 15:19:18 +00:00
buildbot
4f6296fa65 Roll chromium_revision 03cbb9aff4..374735e0c4 (439759:439777)
Change log: 03cbb9aff4..374735e0c4
Full diff: 03cbb9aff4..374735e0c4

No dependencies changed.
No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2590873002
Cr-Commit-Position: refs/heads/master@{#15713}
2016-12-20 14:01:44 +00:00
magjed
a3f2d30182 Remove media/base header files from rtc_media target
Chromium has now been updated, so we can remove the base headers from
rtc_media.

BUG=None

Review-Url: https://codereview.webrtc.org/2590813002
Cr-Commit-Position: refs/heads/master@{#15712}
2016-12-20 13:26:59 +00:00
nisse
306127635e Convert rtc_event_log from webrtc::Clock to rtc::TimeMicros.
TBR=pthatcher@webrtc.org
BUG=webrtc:6733

Review-Url: https://codereview.webrtc.org/2515653002
Cr-Commit-Position: refs/heads/master@{#15711}
2016-12-20 13:03:58 +00:00
philipel
022b54e86a Wire up H264 fmtp sprop-parameter-sets with H264SpsPpsTracker.
To avoid making this CL large unittests will be added in a followup CL.

BUG=webrtc:5948

patch from issue 2570073002 at patchset 20001 (http://crrev.com/2570073002#ps20001)

Review-Url: https://codereview.webrtc.org/2565173009
Cr-Commit-Position: refs/heads/master@{#15710}
2016-12-20 12:15:59 +00:00
brandtr
ab2ffa3b28 Parse FlexFEC RTP headers in Call and add integration with BWE.
BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2553863003
Cr-Commit-Position: refs/heads/master@{#15709}
2016-12-20 11:33:58 +00:00
nisse
b36ee8d498 New method StatsObserver::OnCompleteReports, passing ownership.
The new name, OnCompleteReports rather than OnComplete, is needed
because in C++ method lookup, overriding a method hides all otherwise
inherited methods with the same name, even if they have a different
signature. And here, the intention is that each subclass should
override one or the other of the two methods, and inherit the method it
doesn't override.

This cl is a prerequisite for
https://codereview.webrtc.org/2567143003/, because the Chrome glue
code needs to retain the stats report after the OnComplete method has
returned.

Currently, Chrome makes a copy of the stats mapping (which breaks when
changing ValuePtr from an rtc::linked_ptr to an std::unique_ptr). After
this cl, Chrome can be fixed to take ownership and no longer needs to
copy anything, unblocking cl 2567143003.

BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2584553002
Cr-Commit-Position: refs/heads/master@{#15708}
2016-12-20 11:30:00 +00:00
nisse
5206667dad Delete unused method PayloadRouter::MaxPayloadLength.
Documentation was also unclear, it seems it returned the RTP packet
size including RTP headers.

BUG=None.

Review-Url: https://codereview.webrtc.org/2588343002
Cr-Commit-Position: refs/heads/master@{#15707}
2016-12-20 11:12:04 +00:00
danilchap
8bab796db7 Style cleanup in RTCPReceiver
Rename variables and private functions to follow style,
replace remaining asserts with DCHECKs.
add 'ms' suffix to time variables derived from clock_
add 'ntp' suffix to time variables derived from ntp time.
No functional changes expected.

BUG=None

Review-Url: https://codereview.webrtc.org/2588753002
Cr-Commit-Position: refs/heads/master@{#15706}
2016-12-20 10:46:46 +00:00
buildbot
cb29be5cfa Roll chromium_revision 722be6f390..03cbb9aff4 (439731:439759)
Change log: 722be6f390..03cbb9aff4
Full diff: 722be6f390..03cbb9aff4

No dependencies changed.
No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2589153002
Cr-Commit-Position: refs/heads/master@{#15705}
2016-12-20 10:36:07 +00:00
Henrik Kjellander
2037fa4d0d setup_links.py: Always link to base + cleanup.
This is needed to unblock the migration away from Chromium checkouts.
With the existing base/third_party/libevent link, trybots fail patching
base/

BUG=webrtc:5006
TBR=charujain@webrtc.org

Review-Url: https://codereview.webrtc.org/2595483002 .
Cr-Commit-Position: refs/heads/master@{#15704}
2016-12-20 10:26:53 +00:00
magjed
d5236e2948 Revert of Add disabled certificate check support to IceServer PeerConnection API. (patchset #8 id:140001 of https://codereview.webrtc.org/2557803002/ )
Reason for revert:
This CL broke all Chromium WebRTC FYI bots. A roll+fix was attempted here: https://codereview.chromium.org/2590783003/, but failed to land. I'm reverting this CL now to make the tree green again. Make the API change gradual when you reland so that we can update Chromium between.

Original issue's description:
> Add disabled certificate check support to IceServer PeerConnection API.
>
> Refactor "OPT_SSLTCP" renaming it to "OPT_TLS_FAKE", making it clear
> that it's not actually some kind of SSL over TCP. Also making it clear
> that it's mutually exclusive with OPT_TLS.
>
> Add "OPT_TLS_INSECURE" that implements the new certificate-check
> disabled TLS mode, which is also mutually exclusive with the other
> TLS options.
>
> PortAllocator: Add a new TLS policy enum TlsCertPolicy which defines
> the new insecure mode and added it as a RelayCredentials member.
>
> TurnPort: Add new TLS policy member with appropriate getter and setter
> to avoid constructor bloat. Initialize it from the RelayCredentials
> after the TurnPort is created.
>
> Expose the new feature in the PeerConnection API via
> IceServer.tls_certificate_policy as well as via the Android JNI
> PeerConnection API.
>
> For security reasons we ensure that:
>
> 	1) The policy is always explicitly initialized to secure.
>         2) API users have to explicitly integrate with the feature to
>            use it, and will otherwise get no change in behavior.
> 	3) The feature is not immediately exposed in non-native
> 	   contexts. For example, disabling of certificate validation
>            is not implemented via URI parsing since this would
>            immediately allow it to be used from a web page.
>
> BUG=webrtc:6840
>
> Review-Url: https://codereview.webrtc.org/2557803002
> Cr-Commit-Position: refs/heads/master@{#15670}
> Committed: b0f04fdb9e

TBR=pthatcher@webrtc.org,deadbeef@webrtc.org,hnsl@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6840

Review-Url: https://codereview.webrtc.org/2590153002
Cr-Commit-Position: refs/heads/master@{#15703}
2016-12-20 10:22:06 +00:00
Henrik Kjellander
03ab4e7818 Update .gitignore for changes in third_party
This is needed to avoid errors about unversioned files
after submitting https://codereview.webrtc.org/2588333002/

BUG=webrtc:5006
TBR=charujain@webrtc.org

Review-Url: https://codereview.webrtc.org/2591663002 .
Cr-Commit-Position: refs/heads/master@{#15702}
2016-12-20 10:00:55 +00:00
kjellander
0012d183b8 Move last of third_party dirs into DEPS entries
BUG=webrtc:5006
TBR=charujain@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2588333002
Cr-Commit-Position: refs/heads/master@{#15701}
2016-12-20 09:36:35 +00:00
henrik.lundin
59dbfe6d32 Add a unit test for Opus complexity adaptation
The test verifies that the hysteresis window in the configuration works
as intended.

BUG=webrtc:6708

Review-Url: https://codereview.webrtc.org/2594563002
Cr-Commit-Position: refs/heads/master@{#15700}
2016-12-20 09:17:55 +00:00
buildbot
babbc308ac Roll chromium_revision fab77db556..722be6f390 (439696:439731)
Change log: fab77db556..722be6f390
Full diff: fab77db556..722be6f390

No dependencies changed.
No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2591633002
Cr-Commit-Position: refs/heads/master@{#15699}
2016-12-20 08:01:29 +00:00
Henrik Kjellander
5cef469ddc Remove tools/.gitignore
This was missed in https://codereview.webrtc.org/2594553002/

BUG=webrtc:5006
TBR=charujain@webrtc.org

Review-Url: https://codereview.webrtc.org/2593523002 .
Cr-Commit-Position: refs/heads/master@{#15698}
2016-12-20 07:46:59 +00:00
Henrik Kjellander
a2ccfc8509 Remove last files in tools/
This finishes the moving out of stuff into tools-webrtc, in preparation
for using a Git subtree mirror of Chromium's tools/ directory, which
is the planned way to get rid of downloading a full Chromium checkout.

BUG=webrtc:5006
TBR=charujain@webrtc.org

Review-Url: https://codereview.webrtc.org/2594553002 .
Cr-Commit-Position: refs/heads/master@{#15697}
2016-12-20 07:44:44 +00:00
Henrik Kjellander
c18cb31a32 Remove tools/gritsettings
This directory is no longer needed after migrating from GYP to GN.

BUG=webrtc:5006
TBR=charujain@webrtc.org

Review-Url: https://codereview.webrtc.org/2595443002 .
Cr-Commit-Position: refs/heads/master@{#15696}
2016-12-20 07:27:35 +00:00
Henrik Kjellander
9547033637 Move tools/{msan,ubsan} -> tools-webrtc/
After landing https://codereview.chromium.org/2580313002/ in
Chromium and rolled it in, this is now possible.

BUG=webrtc:5006
TBR=charujain@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2589093002 .
Cr-Commit-Position: refs/heads/master@{#15695}
2016-12-20 07:04:25 +00:00
buildbot
19d0489df7 Roll chromium_revision c6596482a6..fab77db556 (439640:439696)
Change log: c6596482a6..fab77db556
Full diff: c6596482a6..fab77db556

Changed dependencies:
* src/third_party/catapult: d77eaf7f69..70f42a7c55
DEPS diff: c6596482a6..fab77db556/DEPS

No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2588263002
Cr-Commit-Position: refs/heads/master@{#15694}
2016-12-20 04:37:07 +00:00
buildbot
a4215a3784 Roll chromium_revision 234bb451a0..c6596482a6 (439579:439640)
Change log: 234bb451a0..c6596482a6
Full diff: 234bb451a0..c6596482a6

Changed dependencies:
* src/third_party/catapult: 7ca359550f..d77eaf7f69
DEPS diff: 234bb451a0..c6596482a6/DEPS

No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2592553002
Cr-Commit-Position: refs/heads/master@{#15693}
2016-12-20 02:09:07 +00:00
buildbot
d5c2d93f12 Roll chromium_revision 357396ffe3..234bb451a0 (439510:439579)
Change log: 357396ffe3..234bb451a0
Full diff: 357396ffe3..234bb451a0

Changed dependencies:
* src/third_party/catapult: 2c95066149..7ca359550f
DEPS diff: 357396ffe3..234bb451a0/DEPS

No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2586403002
Cr-Commit-Position: refs/heads/master@{#15692}
2016-12-19 22:38:26 +00:00
kjellander
31cc1104ac Create resources/.gitignore file.
Create a .gitignore file in resources/ that is responsible for
preventing the downloaded binary files from being added to source control.

BUG=None
NOTRY=True

Review-Url: https://codereview.webrtc.org/2587163002
Cr-Commit-Position: refs/heads/master@{#15691}
2016-12-19 20:50:47 +00:00
zhihuang
86abd6f2fd Add an abstract class for IceTransport
P2PTransportChannl will be renamed to IceTransport and this class will be
the base class of IceTransport. By doing this, the Dtls related methods
can be separated from the IceTransport.

For more detail, https://docs.google.com/document/d/1g9RA0s4RV7hFAcWiAM2b6H5ZohAVpBqcYienEDj6IcY/edit

BUG=none

Review-Url: https://codereview.webrtc.org/2577183004
Cr-Commit-Position: refs/heads/master@{#15690}
2016-12-19 19:54:05 +00:00
buildbot
627188dc49 Roll chromium_revision 5b0d1b3eef..357396ffe3 (439480:439510)
Change log: 5b0d1b3eef..357396ffe3
Full diff: 5b0d1b3eef..357396ffe3

Changed dependencies:
* src/third_party/catapult: 4fc1816948..2c95066149
DEPS diff: 5b0d1b3eef..357396ffe3/DEPS

No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2583293002
Cr-Commit-Position: refs/heads/master@{#15689}
2016-12-19 19:41:45 +00:00
brandtr
8b5c345ee5 Add GUARDED_BY's in FlexfecReceiver.
BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2589583004
Cr-Commit-Position: refs/heads/master@{#15688}
2016-12-19 18:02:30 +00:00
brandtr
bb7066f966 Clean up storage of FlexFEC payload type in webrtc::VideoCodecSettings.
No need to pass a whole struct around, when only one member is used.

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2589833002
Cr-Commit-Position: refs/heads/master@{#15687}
2016-12-19 17:41:04 +00:00
danilchap
0ad21111fc Revert of Rename RTPVideoHeader.isFirstPacket to .is_first_packet_in_frame. (patchset #1 id:1 of https://codereview.webrtc.org/2574943003/ )
Reason for revert:
breaks downstream project.

Can you make this change in a compatible way using anonymous union:
union {
  bool is_first_packet_in_frame;
  RTC_DEPRECATED bool isFirstPacket;
};
(unfortunetly this this treak breaks braced initialization in rtp_rtcp_impl_unittest.cc,
so that should be rewritting in a more classic way)

Original issue's description:
> Rename RTPVideoHeader.isFirstPacket to .is_first_packet_in_frame.
>
> Name should represent the actual meaning.
>
> BUG=None
>
> Review-Url: https://codereview.webrtc.org/2574943003
> Cr-Commit-Position: refs/heads/master@{#15684}
> Committed: efde908380

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

Review-Url: https://codereview.webrtc.org/2589783003
Cr-Commit-Position: refs/heads/master@{#15686}
2016-12-19 17:36:33 +00:00
hbos
7472dc3b94 Removed undefined method from webrtcsession.h.
It was accidentally added in https://codereview.webrtc.org/2583883002/
(added in one patch set, removed in another but forgot about the header
declaration).

BUG=webrtc:6875, chromium:627816

Review-Url: https://codereview.webrtc.org/2583123003
Cr-Commit-Position: refs/heads/master@{#15685}
2016-12-19 17:34:14 +00:00
johan
efde908380 Rename RTPVideoHeader.isFirstPacket to .is_first_packet_in_frame.
Name should represent the actual meaning.

BUG=None

Review-Url: https://codereview.webrtc.org/2574943003
Cr-Commit-Position: refs/heads/master@{#15684}
2016-12-19 16:32:24 +00:00
buildbot
1865a15b9a Roll chromium_revision ceea172d09..5b0d1b3eef (439469:439480)
Change log: ceea172d09..5b0d1b3eef
Full diff: ceea172d09..5b0d1b3eef

No dependencies changed.
No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2588783002
Cr-Commit-Position: refs/heads/master@{#15683}
2016-12-19 16:22:33 +00:00
buildbot
8a0d3573e7 Roll chromium_revision 5e0dca78b3..ceea172d09 (438769:439469)
Change log: 5e0dca78b3..ceea172d09
Full diff: 5e0dca78b3..ceea172d09

Changed dependencies:
* src/buildtools: 55ad626b08..0ef8010876
* src/third_party/catapult: f87ce97ea1..4fc1816948
* src/third_party/libFuzzer/src: 2ed967ccad..2d19afdbad
* src/third_party/libvpx/source/libvpx: 817488be47..d1eca240fb
* src/third_party/libyuv: 97fb18b846..b18fd21d3c
DEPS diff: 5e0dca78b3..ceea172d09/DEPS

Clang version changed 289575:289944
Details: 5e0dca78b3..ceea172d09/tools/clang/scripts/update.py

TBR=marpan@webrtc.org,
BUG=None

Review-Url: https://codereview.webrtc.org/2586253002
Cr-Commit-Position: refs/heads/master@{#15682}
2016-12-19 15:21:01 +00:00
asapersson
66d4b37414 Move histogram for number of pause events to per stream:
"WebRTC.Call.NumberOfPauseEvents" -> "WebRTC.Video.NumberOfPauseEvents"

Recorded if a certain time has passed (10 sec) since the first media packet was sent.

Moved to per stream to know when media has started and to prevent logging stats for calls that was never in use.

Add histogram for percentage of paused video time for sent video streams:
"WebRTC.Video.PausedTimeInPercent"

BUG=b/32659204

Review-Url: https://codereview.webrtc.org/2530393003
Cr-Commit-Position: refs/heads/master@{#15681}
2016-12-19 14:50:53 +00:00
kthelgason
0cd27ba088 Reland of Properly report number of quality downscales in stats. (patchset #1 id:1 of https://codereview.webrtc.org/2586783003/ )
Reason for revert:
Bug affecting perf tests has been fixed. The issue was that I had accidentally disabled cpu overuse adaptation based on the encoders ScalingSettings, not just quality-based scaling.

Original issue's description:
> Revert of Properly report number of quality downscales in stats. (patchset #11 id:220001 of https://codereview.webrtc.org/2564373002/ )
>
> Reason for revert:
> Breaks perf tests
>
> Original issue's description:
> > Properly report number of quality downscales in stats.
> >
> > A regression was introduced in 876222f that caused these stats to
> > be reported incorrectly. This used to be only implemented for VP8
> > but should now be available for all codecs.
> >
> > BUG=webrtc:6860
> >
> > Review-Url: https://codereview.webrtc.org/2564373002
> > Cr-Commit-Position: refs/heads/master@{#15673}
> > Committed: 0c8c538835
>
> TBR=asapersson@webrtc.org,stefan@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6860
>
> Review-Url: https://codereview.webrtc.org/2586783003
> Cr-Commit-Position: refs/heads/master@{#15678}
> Committed: fe04bd43cc

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

Review-Url: https://codereview.webrtc.org/2588743002
Cr-Commit-Position: refs/heads/master@{#15680}
2016-12-19 14:32:16 +00:00
henrik.lundin
8c1dd8d32f Re-enable Opus complexity tests on Android
This effectively reverts commit c3e1cabc696240e4b5a128653264785292878205
(https://codereview.webrtc.org/2589703002/).

The reason the test was failing before was missing resource
dependencies in the GN file. This is now fixed.

Furthermore, the test did not trigger the complexity adaptation that
it was supposed to test, since the hysteresis window of the bitrate
was not taken into account. This is also fixed.

Finally, a percent label was added to a printout, to match the same
printout in the other test.

BUG=webrtc:6708

Review-Url: https://codereview.webrtc.org/2580383002
Cr-Commit-Position: refs/heads/master@{#15679}
2016-12-19 14:18:35 +00:00
kthelgason
fe04bd43cc Revert of Properly report number of quality downscales in stats. (patchset #11 id:220001 of https://codereview.webrtc.org/2564373002/ )
Reason for revert:
Breaks perf tests

Original issue's description:
> Properly report number of quality downscales in stats.
>
> A regression was introduced in 876222f that caused these stats to
> be reported incorrectly. This used to be only implemented for VP8
> but should now be available for all codecs.
>
> BUG=webrtc:6860
>
> Review-Url: https://codereview.webrtc.org/2564373002
> Cr-Commit-Position: refs/heads/master@{#15673}
> Committed: 0c8c538835

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

Review-Url: https://codereview.webrtc.org/2586783003
Cr-Commit-Position: refs/heads/master@{#15678}
2016-12-19 14:17:30 +00:00
kwiberg
5bf4e0810c CodecInst operator<<
I always find myself re-writing this function for debug purposes. It'd
save so much time if it already existed...

BUG=none

Review-Url: https://codereview.webrtc.org/2589773002
Cr-Commit-Position: refs/heads/master@{#15677}
2016-12-19 14:04:04 +00:00
asapersson
35b41a29b3 Reland of Disabling NOTREACHED which we're hitting flakily in browser tests. (patchset #1 id:1 of https://codereview.webrtc.org/2585183002/ )
Reason for revert:
Still hitting NOTREACHED.

Original issue's description:
> Revert of Disabling NOTREACHED which we're hitting flakily in browser tests. (patchset #1 id:1 of https://codereview.webrtc.org/2477663002/ )
>
> Reason for revert:
> To see if the NOTREACHED is still hit.
>
> Original issue's description:
> > Disabling NOTREACHED which we're hitting flakily in browser tests.
> >
> > I have no idea how bad it is that we're hitting this limit; I'm just
> > doing this to stop the tests from flaking.
> >
> > BUG=webrtc:6484
> >
> > Committed: https://crrev.com/6eaa55867b449df992752c1df540ec42f9d9b057
> > Cr-Commit-Position: refs/heads/master@{#14974}
>
> TBR=stefan@webrtc.org,phoglund@webrtc.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=webrtc:6484
>
> Review-Url: https://codereview.webrtc.org/2585183002
> Cr-Commit-Position: refs/heads/master@{#15665}
> Committed: 9d7ea0920c

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

Review-Url: https://codereview.webrtc.org/2585273002
Cr-Commit-Position: refs/heads/master@{#15676}
2016-12-19 13:54:15 +00:00
brandtr
696c9c6b64 Add multithreaded fake encoder and corresponding FlexFEC VideoSendStreamTest.
This test would have found the issue that was fixed in
https://codereview.webrtc.org/2562983002/.

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2573453002
Cr-Commit-Position: refs/heads/master@{#15675}
2016-12-19 13:47:28 +00:00
hbos
b78306a7d3 Fix segfault when PeerConnection is destroyed during stats collection.
RTCStatsCollector relies on PeerConnection and its WebRtcSession. If the
PeerConnection is destroyed, reference counting keeps the
RTCStatsCollector alive until the request has completed. But the request
is using PeerConnection/WebRtcSession resources that are destroyed in
~PeerConnection().

To get around this problem, RTCStatsCollector::WaitForPendingRequest()
is added, which is invoked at ~PeerConnection().

Integration test added, it caused a segmentation fault before this
change / EXPECT failure.

BUG=chromium:627816

Review-Url: https://codereview.webrtc.org/2583613003
Cr-Commit-Position: refs/heads/master@{#15674}
2016-12-19 13:06:57 +00:00
kthelgason
0c8c538835 Properly report number of quality downscales in stats.
A regression was introduced in 876222f that caused these stats to
be reported incorrectly. This used to be only implemented for VP8
but should now be available for all codecs.

BUG=webrtc:6860

Review-Url: https://codereview.webrtc.org/2564373002
Cr-Commit-Position: refs/heads/master@{#15673}
2016-12-19 13:04:40 +00:00
hbos
df6075a77f RTCStatsCollector: Utilize network thread to minimize thread hops.
(This is a re-upload of https://codereview.webrtc.org/2567243003/, the
CQ stopped working there.)

The previously used WebRtcSession::GetTransportStats did a synchronous
invoke per channel (voice, video, data) on the signaling thread to the
network thread - e.g. 3 blocking invokes.

It is replaced by WebRtcSession::GetStats[_s] which can be invoked on
the signaling thread or on any thread if a ChannelNamePairs argument is
present (provided by WebRtcSession::GetChannelNamePairs on the signaling
thread).

With these changes, and changes allowing the getting of certificates
from any thread, the RTCStatsCollector can turn the 3 blocking thread
invokes into 1 non-blocking invoke.

BUG=webrtc:6875, chromium:627816

Review-Url: https://codereview.webrtc.org/2583883002
Cr-Commit-Position: refs/heads/master@{#15672}
2016-12-19 12:58:02 +00:00
philipel
20d05a9f71 Now expect the correct number of streams in EndToEndTest.GetStats.
The rtx streams were not included in the number of expected streams
but the test passed most of the time anyway due to how the checking was done.
Flake was caused when the number of registered streams jumped passed the
number of expected send streams excluding the number of rtx streams.

BUG=webrtc:6879

Review-Url: https://codereview.webrtc.org/2580343002
Cr-Commit-Position: refs/heads/master@{#15671}
2016-12-19 12:17:27 +00:00
hnsl
b0f04fdb9e Add disabled certificate check support to IceServer PeerConnection API.
Refactor "OPT_SSLTCP" renaming it to "OPT_TLS_FAKE", making it clear
that it's not actually some kind of SSL over TCP. Also making it clear
that it's mutually exclusive with OPT_TLS.

Add "OPT_TLS_INSECURE" that implements the new certificate-check
disabled TLS mode, which is also mutually exclusive with the other
TLS options.

PortAllocator: Add a new TLS policy enum TlsCertPolicy which defines
the new insecure mode and added it as a RelayCredentials member.

TurnPort: Add new TLS policy member with appropriate getter and setter
to avoid constructor bloat. Initialize it from the RelayCredentials
after the TurnPort is created.

Expose the new feature in the PeerConnection API via
IceServer.tls_certificate_policy as well as via the Android JNI
PeerConnection API.

For security reasons we ensure that:

	1) The policy is always explicitly initialized to secure.
        2) API users have to explicitly integrate with the feature to
           use it, and will otherwise get no change in behavior.
	3) The feature is not immediately exposed in non-native
	   contexts. For example, disabling of certificate validation
           is not implemented via URI parsing since this would
           immediately allow it to be used from a web page.

BUG=webrtc:6840

Review-Url: https://codereview.webrtc.org/2557803002
Cr-Commit-Position: refs/heads/master@{#15670}
2016-12-19 12:10:30 +00:00
denicija
b6c456b772 Add QP stats to the statsview in AppRTCMobile for ios.
The following QP stats are added:
 *avgQP for the current polling interval as a fraction of the current delta sum over the current delta of encoded frames
 *total QPSum
 *total number of encoded frames

BUG=NONE

Review-Url: https://codereview.webrtc.org/2578123002
Cr-Commit-Position: refs/heads/master@{#15669}
2016-12-19 10:14:08 +00:00