Commit Graph

7748 Commits

Author SHA1 Message Date
126ee727a0 Only parse PPS up to PPS and SPS ids in the depacketizater.
BUG=
R=danilchap@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#14100}
2016-09-07 10:46:32 +00:00
d4626e5f1e Disable -Wsentinel warning for Linux 32-bit builds.
BUG=chromium:644167
NOTRY=True

Review-Url: https://codereview.webrtc.org/2316943002
Cr-Commit-Position: refs/heads/master@{#14099}
2016-09-07 09:33:05 +00:00
60e4346955 Add time line for acked bitrate.
R=philipel@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#14098}
2016-09-07 07:58:31 +00:00
b9d8d10d42 Fixed flaky StunRequestTests which depended on the wall clock
StunRequestTests were using the real time clock to measure fairly large
retransmit intervals (up to several seconds). This was making the tests
slow and flaky when the system was heavily loaded.

See https://build.chromium.org/p/client.webrtc/builders/Win64%20Release/builds/9274/steps/rtc_unittests/logs/stdio
for an example of a recent failure.

This change makes the tests use a simulated clock instead. They are now
very quick, precise and reliable.

R=honghaiz@webrtc.org, zhihuang@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#14097}
2016-09-07 00:18:58 +00:00
b460fd8b16 Increase timeout for flaky tests for ProcessThreadImpl
These tests were waiting for a thread to start in 100 ms. This seems to
be not enough on some Windows bots, as there were multiple failures
recently:
https://build.chromium.org/p/client.webrtc/builders/Win32%20Debug/builds/9188/steps/modules_unittests/logs/stdio
https://build.chromium.org/p/client.webrtc/builders/Win64%20Debug/builds/8794/steps/modules_unittests/logs/stdio

I have increased the timeout to 500 ms. This will not make successful
test runs slower, but will reduce the chance of a spurious failure.

R=perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#14096}
2016-09-06 21:34:41 +00:00
cfaca03b4b Add dynamic bitrate tracker and adjustment for Exynos VP8 HW encoder.
Exynos VP8 HW encoder may generate a bitrate which deviates too
much from target value causing frame drops and fps reduction or
BWE stuck at low values.

Add one more option to bitrate adjustment in HW encoder wrapper
which allows to track and dynamicaly scale bitrate used for
codec configuration.

BUG=b/30951236
R=wzh@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#14095}
2016-09-06 21:08:27 +00:00
37062ed16f Fix chromium-style errors in IntelligibilityEnhancer
BUG=
R=henrik.lundin@webrtc.org, peah@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#14094}
2016-09-06 18:25:50 +00:00
306d52b0fd Reland of Delete cricket::VideoFrame::GetTimeStamp. (patchset #1 id:1 of https://codereview.webrtc.org/2315703002/ )
Reason for revert:
Chrome has now been updated (cl https://codereview.chromium.org/2317673002/).

Original issue's description:
> Revert of Delete cricket::VideoFrame::GetTimeStamp. (patchset #2 id:150001 of https://codereview.webrtc.org/2310043002/ )
>
> Reason for revert:
> Broke Chrome fyi bots. See, e.g.,
>
> https://build.chromium.org/p/chromium.webrtc.fyi/builders/Win%20Builder/builds/6730/steps/compile/logs/stdio
>
> Use of GetTimeStamp must be eliminated in Chrome before relanding.
>
> Original issue's description:
> > Reland of Delete cricket::VideoFrame::GetTimeStamp. (patchset #1 id:1 of https://codereview.webrtc.org/2306953002/ )
> >
> > Reason for revert:
> > Will reland after downstream projects are updated.
> >
> > Original issue's description:
> > > Revert of Delete cricket::VideoFrame::GetTimeStamp. (patchset #1 id:1 of https://codereview.webrtc.org/2305623002/ )
> > >
> > > Reason for revert:
> > > Broke downstream project.
> > >
> > > Original issue's description:
> > > > Delete cricket::VideoFrame::GetTimeStamp.
> > > >
> > > > TBR=tkchin@webrtc.org  # Trivial change to VideoRendererAdapter
> > > > BUG=webrtc:5682
> > > >
> > > > Committed: https://crrev.com/fd6c99e43137d01fa6c120f7160f7c2999d1d8a3
> > > > Cr-Commit-Position: refs/heads/master@{#14037}
> > >
> > > TBR=perkj@webrtc.org
> > > # Skipping CQ checks because original CL landed less than 1 days ago.
> > > NOPRESUBMIT=true
> > > NOTREECHECKS=true
> > > NOTRY=true
> > > BUG=webrtc:5682
> > >
> > > Committed: https://crrev.com/bca69e87de5df290f728833a4b3d8af3ae5d88e6
> > > Cr-Commit-Position: refs/heads/master@{#14038}
> >
> > TBR=perkj@webrtc.org
> > # Not skipping CQ checks because original CL landed more than 1 days ago.
> > BUG=webrtc:5682
> >
> > Committed: https://crrev.com/fa1ba19c5c7c57c8d16fae1a5da51877770fd53e
> > Cr-Commit-Position: refs/heads/master@{#14089}
>
> TBR=perkj@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5682
>
> Committed: https://crrev.com/92b2e0852fcbe7765926755ccee884db965b6231
> Cr-Commit-Position: refs/heads/master@{#14090}

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

Review-Url: https://codereview.webrtc.org/2316493003
Cr-Commit-Position: refs/heads/master@{#14093}
2016-09-06 14:52:47 +00:00
eb24dd01be Improvements to UI to python event log analyzer tool.
SSRCs are now filtered by incoming and outgoing.

NOTRY=True

Review-Url: https://codereview.webrtc.org/2310063002
Cr-Commit-Position: refs/heads/master@{#14092}
2016-09-06 13:34:21 +00:00
d52bef7d64 iSAC float: Handle errors in upper band decoding
We hit a fuzzer bug that caused numDecodedBytesLB + numDecodedBytesUB
> lenEncodedBytes, which is obviously bogus. Check for that, and for
the case whhere the UB decoder itself realized that something was
wrong. (The code already makes the corresponding check for the LB
decoder.)

BUG=chromium:637899

Review-Url: https://codereview.webrtc.org/2315693002
Cr-Commit-Position: refs/heads/master@{#14091}
2016-09-06 13:16:09 +00:00
92b2e0852f Revert of Delete cricket::VideoFrame::GetTimeStamp. (patchset #2 id:150001 of https://codereview.webrtc.org/2310043002/ )
Reason for revert:
Broke Chrome fyi bots. See, e.g.,

https://build.chromium.org/p/chromium.webrtc.fyi/builders/Win%20Builder/builds/6730/steps/compile/logs/stdio

Use of GetTimeStamp must be eliminated in Chrome before relanding.

Original issue's description:
> Reland of Delete cricket::VideoFrame::GetTimeStamp. (patchset #1 id:1 of https://codereview.webrtc.org/2306953002/ )
>
> Reason for revert:
> Will reland after downstream projects are updated.
>
> Original issue's description:
> > Revert of Delete cricket::VideoFrame::GetTimeStamp. (patchset #1 id:1 of https://codereview.webrtc.org/2305623002/ )
> >
> > Reason for revert:
> > Broke downstream project.
> >
> > Original issue's description:
> > > Delete cricket::VideoFrame::GetTimeStamp.
> > >
> > > TBR=tkchin@webrtc.org  # Trivial change to VideoRendererAdapter
> > > BUG=webrtc:5682
> > >
> > > Committed: https://crrev.com/fd6c99e43137d01fa6c120f7160f7c2999d1d8a3
> > > Cr-Commit-Position: refs/heads/master@{#14037}
> >
> > TBR=perkj@webrtc.org
> > # Skipping CQ checks because original CL landed less than 1 days ago.
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=webrtc:5682
> >
> > Committed: https://crrev.com/bca69e87de5df290f728833a4b3d8af3ae5d88e6
> > Cr-Commit-Position: refs/heads/master@{#14038}
>
> TBR=perkj@webrtc.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=webrtc:5682
>
> Committed: https://crrev.com/fa1ba19c5c7c57c8d16fae1a5da51877770fd53e
> Cr-Commit-Position: refs/heads/master@{#14089}

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

Review-Url: https://codereview.webrtc.org/2315703002
Cr-Commit-Position: refs/heads/master@{#14090}
2016-09-06 12:13:48 +00:00
fa1ba19c5c Reland of Delete cricket::VideoFrame::GetTimeStamp. (patchset #1 id:1 of https://codereview.webrtc.org/2306953002/ )
Reason for revert:
Will reland after downstream projects are updated.

Original issue's description:
> Revert of Delete cricket::VideoFrame::GetTimeStamp. (patchset #1 id:1 of https://codereview.webrtc.org/2305623002/ )
>
> Reason for revert:
> Broke downstream project.
>
> Original issue's description:
> > Delete cricket::VideoFrame::GetTimeStamp.
> >
> > TBR=tkchin@webrtc.org  # Trivial change to VideoRendererAdapter
> > BUG=webrtc:5682
> >
> > Committed: https://crrev.com/fd6c99e43137d01fa6c120f7160f7c2999d1d8a3
> > Cr-Commit-Position: refs/heads/master@{#14037}
>
> TBR=perkj@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5682
>
> Committed: https://crrev.com/bca69e87de5df290f728833a4b3d8af3ae5d88e6
> Cr-Commit-Position: refs/heads/master@{#14038}

TBR=perkj@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:5682

Review-Url: https://codereview.webrtc.org/2310043002
Cr-Commit-Position: refs/heads/master@{#14089}
2016-09-06 11:46:25 +00:00
857a8fb861 Remove dedicated unittest file for remb format
RembStatus moved to RtcpSender unittest where it fits better
Creating remb in Compound/ReducedSize modes already covered by RtcpSender unittests.
Parsing remb already covered by RtcpReceiverTest.ReceivesRemb

R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#14088}
2016-09-06 09:41:52 +00:00
dedc822830 MB: Cleanup no-longer-used GN configurations
These were used in the transition from GN->GYP.

NOTRY=True
BUG=webrtc:5949

Review-Url: https://codereview.webrtc.org/2310973003
Cr-Commit-Position: refs/heads/master@{#14087}
2016-09-06 09:32:39 +00:00
edaa4a45ef GN: Set WEBRTC_RESTRICT_LOGGING as is set in GYP.
In GYP the define is set when we build with chrome, but it's always set
in GN.

NOTRY=True
BUG=webrtc:6312

Review-Url: https://codereview.webrtc.org/2313913002
Cr-Commit-Position: refs/heads/master@{#14086}
2016-09-06 09:27:53 +00:00
859e86107d Remove stop method from VideoTrackSourceInterface.
This method is no longer needed.

Follow-up on CL: https://codereview.webrtc.org/2306013002/

Review-Url: https://codereview.webrtc.org/2312603003
Cr-Commit-Position: refs/heads/master@{#14085}
2016-09-06 09:25:11 +00:00
c928453fd0 Significantly increased max_num_buffers_ of Vp9FrameBufferPool.
Changed from 10 to 68.

This is to avoid a flake where the limit is exceeded, see
crbug.com/638554. Our performance tests should flag performance
regressions, we shouldn't rely on crashing because the number of
referenced buffers is not tiny to detect this. However, if a really big
number of buffers (>68) are referenced without being dereferenced it is
likely that we have a bug and frames are leaking in which case we can
DCHECK-crash.

BUG=chromium:638554

Review-Url: https://codereview.webrtc.org/2280593002
Cr-Commit-Position: refs/heads/master@{#14084}
2016-09-06 08:38:34 +00:00
d4ec970a79 neteq_rtpplay: Add an error message for unmatched SSRC
If neteq_rtpplay is invoked with the --ssrc option to select packets
matching a specific SSRC, but no matching packets are found, this CL
provides a meaningful error message.

BUG=webrtc:2692
NOTRY=True
TBR=ivoc@webrtc.org

Review-Url: https://codereview.webrtc.org/2318503002
Cr-Commit-Position: refs/heads/master@{#14083}
2016-09-06 08:22:51 +00:00
891eaac4fc MB: Add Linux 32-bit Debug and Release trybots
BUG=chromium:644167
NOTRY=True
R=ehmaldonado@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#14082}
2016-09-06 07:52:53 +00:00
b096aa7fd3 Revert of Remove all reference to carbon api (patchset #2 id:20001 of https://codereview.webrtc.org/2299633002/ )
Reason for revert:
Breaks chromium build

Original issue's description:
> Remove all reference to carbon api
>
> BUG=webrtc:6282
>
> Committed: https://crrev.com/dbd8b6bec4143c940b2f2ca8cd85c25d17327964
> Cr-Commit-Position: refs/heads/master@{#14080}

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

Review-Url: https://codereview.webrtc.org/2316563002
Cr-Commit-Position: refs/heads/master@{#14081}
2016-09-06 07:44:03 +00:00
dbd8b6bec4 Remove all reference to carbon api
BUG=webrtc:6282

Review-Url: https://codereview.webrtc.org/2299633002
Cr-Commit-Position: refs/heads/master@{#14080}
2016-09-06 07:38:21 +00:00
aa90b313b4 [WebRTC] Two DirectX capturers cannot work concurrently
DirectX capturer won't be able to update the DesktopFrame for the second
ScreenCapturerWinDirectx instance, if AcquireNextFrame() returns timeout or
unchanged error. Current solution uses |last_frame| of the second
ScreenCapturerWinDirectx instance, which also does not contain the updated frame
between this and last AcquireNextFrame() calls. Considering following situation,
(C1: capturer 1, C2: capturer 2, update: screen updated, next AcquireNextFrame()
call will return a new frame, Fx: a frame x)
update -> C2.capture returns F1 -> update -> C1.capture returns F2 ->
C2.capture unchanged
So using F1 to update the last capture frame is not correct, we need to use F2.
Refer to design doc https://goo.gl/hU1ifG for a detail description.

The change also makes DxgiDuplicatorController work with 2+ DesktopFrame queue.
Now TwoDirectxCapturers test can pass.

BUG=314516

Review-Url: https://codereview.webrtc.org/2299663003
Cr-Commit-Position: refs/heads/master@{#14077}
2016-09-05 22:40:05 +00:00
fef8653c5a An early analysis shows in DirectX based capturer, Windows API returns larger
dirty region than the real screen change. A similar behavior may happen on other
platforms with damage notification support. So it's better to have an individual
layer to handle the Differ logic, and remove capturing independent logic out of
each ScreenCapturer* implementation.

So this change does following things,
1. Update differ_block to handle variable height. differ_block_sse2 has been
renamed to differ_vector_sse2.

2. A new ScreenCapturerDifferWrapper implementation to help set
DesktopFrame::updated_region(). It uses an underlying ScreenCapturer to do
the real capture work, and updates the updated region of DesktopFrame returned
from OnCaptureResult function.

3. FakeDesktopCapturer and FakeScreenCapturer to generate controllable
DesktopFrame by using DesktopFrameGenerator and DesktopFramePainter.

4. Test ScreenCapturerDifferWrapper by using FakeScreenCapturer.

After this change, we can eventually remove all Differ logic from
ScreenCapturer* implementations, and fix a potential crash bug in
ScreenCapturerLinux class. It wrongly assumes previous_frame() has a same size
as current_frame(). https://goo.gl/3nSqOC

BUG=633802

TBR=kjellander@webrtc.org

Review-Url: https://codereview.webrtc.org/2202443002
Cr-Commit-Position: refs/heads/master@{#14076}
2016-09-05 22:26:40 +00:00
f71d298217 GN: Apply optimize_max only on windows
For iOS and Android, the default is to optimize for size.
For Linux and Mac, there is no difference between default_optimization
and optimize_max.

NOTRY=True
BUG=webrtc:6311

Review-Url: https://codereview.webrtc.org/2305403002
Cr-Commit-Position: refs/heads/master@{#14075}
2016-09-05 17:04:01 +00:00
1e714ae7a6 RtcpReceiverTest rewritten using public available interface
IncomingPacket(const uint8_t*, size_t) is used as entry point instead
of IncomingRTCPPacket(PacketInformation* out, RtcpParser* in);
Result is validated by checking which callbacks were called instead
of checking intermediate structure PacketInformaion.

This allows to switch parsing implementation.

BUG=webrtc:5260

Review-Url: https://codereview.webrtc.org/2292093002
Cr-Commit-Position: refs/heads/master@{#14074}
2016-09-05 16:57:27 +00:00
d313403564 rtc::Buffer: Let SetData and AppendData accept anything with .data() and .size()
In addition to setting or appending from another Buffer, which was
already possible, this allows for e.g. std::vector and rtc::ArrayView
arguments.

Review-Url: https://codereview.webrtc.org/2293983002
Cr-Commit-Position: refs/heads/master@{#14073}
2016-09-05 14:46:24 +00:00
84c8528f1e Use RtpPacketToSend in RtpSenderAudio.
this eliminates reparsing of rtp packet on send audio path

BUG=webrtc:5261

Review-Url: https://codereview.webrtc.org/2292883002
Cr-Commit-Position: refs/heads/master@{#14072}
2016-09-05 14:28:05 +00:00
4c44202dc3 Revert of [WebRTC] A real ScreenCapturer test (patchset #8 id:240001 of https://codereview.webrtc.org/2268093002/ )
Reason for revert:
ScreenCapturerTest.CaptureUpdatedRegion fails on Win DrMemory Full.

Original issue's description:
> [WebRTC] A real ScreenCapturer test
>
> We do not have a real ScreenCapturer test before. And after CL 2210443002, a new
> ScreenDrawer interface is added to the code base to draw various shapes on the
> screen. This change is to use ScreenDrawer to test ScreenCapturer. Besides test
> cases, some other changes are included,
>
> 1. A WaitForPendingPaintings() function in ScreenDrawer, to wait for a
> ScreenDrawer to finish all the pending draws. This function now only sleeps 50
> milliseconds on X11 and 100 milliseconds on Windows.
>
> 2. A Color structure to help handle a big-endian or little-endian safe color and
> provide functions to compare with DesktopFrame::data(). Both ScreenDrawer and
> DesktopFrameGenerator (in change 2202443002) can use this class to create colors
> and compare with or paint to a DesktopFrame.
>
> 3. ScreenDrawer now uses Color structure instead of uint32_t.
>
> BUG=314516
>
> TBR=kjellander@chromium.org
>
> Committed: https://crrev.com/9d1c54ace0dc9f68da0152aa1ded2a8dba0a43ae
> Cr-Commit-Position: refs/heads/master@{#14058}

TBR=sergeyu@chromium.org,jamiewalch@chromium.org,kjellander@chromium.org,zijiehe@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=314516

Review-Url: https://codereview.webrtc.org/2310953002
Cr-Commit-Position: refs/heads/master@{#14071}
2016-09-05 13:55:26 +00:00
d6e65b39ea MB: Add WebRTC FYI bots to mb_config.pyl.
We need this for the bots to be functional in client.webrtc.fyi.
Right now they're not really working since runhooks no longer runs GYP
(nor GN), and the MB step is not yet enabled in this waterfall.

BUG=webrtc:6287
NOTRY=True

Review-Url: https://codereview.webrtc.org/2312733002
Cr-Commit-Position: refs/heads/master@{#14070}
2016-09-05 13:44:02 +00:00
e9cc686293 GN Templates: Move common_inherited_config to the template.
Remove common_inherited_config from the targets and add it to the
template instead.

BUG=webrtc:6187
NOTRY=True

Review-Url: https://codereview.webrtc.org/2311843002
Cr-Commit-Position: refs/heads/master@{#14069}
2016-09-05 13:10:23 +00:00
bd4317263a Restrict the 1-argument ArrayView constructor to types with .size() and .data()
Before this change, the argument still needed those methods, but not
having them resulted in a compilation error. Now, it results in this
constructor being removed from the overload set.

This currently makes no difference, but I'm about to publish a CL that
breaks without this.

Review-Url: https://codereview.webrtc.org/2312473002
Cr-Commit-Position: refs/heads/master@{#14068}
2016-09-05 11:20:58 +00:00
59af8b7714 GN Templates: Use the optimize_max compiler config.
Add "//build/config/compiler:optimize_max" to rtc_add_configs and
"//build/config/compiler:default_optimization" to rtc_remove_configs.

This is the default optimization in GYP, and might help explain a 82.5%
regression in webrtc_perf_tests at 13946:13946

BUG=chromium:641966
NOTRY=True

Review-Url: https://codereview.webrtc.org/2307283002
Cr-Commit-Position: refs/heads/master@{#14067}
2016-09-05 09:48:58 +00:00
ccd7489661 Plot accumelated packets over time.
BUG=

Review-Url: https://codereview.webrtc.org/2295063006
Cr-Commit-Position: refs/heads/master@{#14066}
2016-09-05 09:46:33 +00:00
7556282a6c FrameBuffer::NextFrame now return a ReturnReason and take an additional std::unique_ptr<FrameObject>* as output parameter.
In order to distinguish between a return caused by the FrameBuffer
being stopped and a return caused by a timeout we now return
a ReturnReason.

BUG=webrtc:5514
R=danilchap@webrtc.org, mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#14065}
2016-09-05 08:57:56 +00:00
c82f2e1613 RTCStatsCollector collecting stats on multiple threads.
Changes GetStatsReport to a callback-based function. Stats collection
is dispatched to three different stats collecting methods, being
invoked asynchronously on the signaling, worker and network threads.
The three resulting stats reports are merged into one before returned.

The only current stats being collected is on the signaling thread, but
a FakeRTCStatsCollector is able to test the multi-threaded and
stats-merging behaviors. Future CLs simply have to put their stats
collecting code in the appropriate ProducePartialResultsOnFooThread
method.

BUG=chromium:627816

Review-Url: https://codereview.webrtc.org/2270033004
Cr-Commit-Position: refs/heads/master@{#14064}
2016-09-05 08:36:54 +00:00
7a2ce0b738 GN Templates: Move common_config to the template.
Remove common_config from the targets' config and add
it to the template instead.

BUG=webrtc:6187
NOTRY=True

Review-Url: https://codereview.webrtc.org/2300413002
Cr-Commit-Position: refs/heads/master@{#14063}
2016-09-05 08:35:48 +00:00
74c10b5a7a Introduce webrtc::VideoFrame::timestamp_us, and corresponding constructor.
Replaces render_time_ms_, but old accessors are kept for
compatibility.

Also short-circuit timestamp translation in
WebRtcVideoChannel2::WebRtcVideoSendStream::OnFrame.

BUG=webrtc:5682, webrtc:5740

Review-Url: https://codereview.webrtc.org/2282713002
Cr-Commit-Position: refs/heads/master@{#14062}
2016-09-05 07:51:25 +00:00
3821ff8df5 Only log BWE updates if the actual estimate changed or if we have non-zero loss reports.
BUG=webrtc:6295

Review-Url: https://codereview.webrtc.org/2306963002
Cr-Commit-Position: refs/heads/master@{#14061}
2016-09-04 12:07:34 +00:00
a973f95386 Remove restart method from VideoTrackSourceInterface.
This method is no longer needed.

Review-Url: https://codereview.webrtc.org/2306013002
Cr-Commit-Position: refs/heads/master@{#14060}
2016-09-03 17:29:11 +00:00
9d1c54ace0 [WebRTC] A real ScreenCapturer test
We do not have a real ScreenCapturer test before. And after CL 2210443002, a new
ScreenDrawer interface is added to the code base to draw various shapes on the
screen. This change is to use ScreenDrawer to test ScreenCapturer. Besides test
cases, some other changes are included,

1. A WaitForPendingPaintings() function in ScreenDrawer, to wait for a
ScreenDrawer to finish all the pending draws. This function now only sleeps 50
milliseconds on X11 and 100 milliseconds on Windows.

2. A Color structure to help handle a big-endian or little-endian safe color and
provide functions to compare with DesktopFrame::data(). Both ScreenDrawer and
DesktopFrameGenerator (in change 2202443002) can use this class to create colors
and compare with or paint to a DesktopFrame.

3. ScreenDrawer now uses Color structure instead of uint32_t.

BUG=314516

TBR=kjellander@chromium.org

Review-Url: https://codereview.webrtc.org/2268093002
Cr-Commit-Position: refs/heads/master@{#14058}
2016-09-03 02:10:42 +00:00
aecd982a6f Change a few configurations in AggressiveConfiguration
Set bundle policy to max bundle.
Set rtcp mux policy to required.
Set enable ice renomination to true.
This configuration is used by native applications.

R=pthatcher@webrtc.org, skvlad@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#14057}
2016-09-02 23:58:28 +00:00
c3f3515f8e Fixed flaky VideoSendStreamTest::SupportsAbsoluteSendTime
This test failed on the memcheck bot:
https://build.chromium.org/p/client.webrtc/builders/Linux%20Memcheck/builds/6704/steps/video_engine_tests/logs/stdio

The test assumed that the absolute send time header extension can never
be zero. It's a timestamp truncated to 24 bits, and zero is not a
special value - so it can very rarely end up being precisely zero.

The fix makes the test wait for at least one packet having a non-zero send time.

I've considered changing the test to use a fake clock instead to ensure
that not only the value is non-zero, but that it indeed reflects the
system timestamp - but that involves changing a very large number of
files. Besides, other tests in this file don't verify values for header
extensions where zeroes are allowed.

NOTRY=true

Review-Url: https://codereview.webrtc.org/2307693002
Cr-Commit-Position: refs/heads/master@{#14056}
2016-09-02 20:23:52 +00:00
1afdf99f9c EventLogParser: use std::vector to reduce stack usage
ParsedRtcEventLog::ParseStream was using a stack-allocated 64kb array
for a temporary buffer. This was causing problems in build environments
with restrictions on stack size.

This change replaces it with an std::vector.

NOTRY=true

Review-Url: https://codereview.webrtc.org/2297343003
Cr-Commit-Position: refs/heads/master@{#14055}
2016-09-02 20:22:29 +00:00
c55c39ddf7 Limit initial fps value used in Android HW encoder initialization.
BUG=b/30951236
R=magjed@webrtc.org, wzh@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#14054}
2016-09-02 19:16:39 +00:00
79c6458575 Provide a default implementation for PeerConnectionInterface::ice_state().
Default implementation is necessary to remove implementations in
downstream unit test mocks. Method will be entirely removed in upcomming
reland of https://codereview.webrtc.org/2256663002/ .

BUG=webrtc:6299

Review-Url: https://codereview.webrtc.org/2306833003
Cr-Commit-Position: refs/heads/master@{#14053}
2016-09-02 19:07:43 +00:00
84fcbd429f MB: Enable rtc_use_h264 for GYP builds for now.
NOTRY=True
TBR=emhaldonado@webrtc.org

Review-Url: https://codereview.webrtc.org/2303673005
Cr-Commit-Position: refs/heads/master@{#14052}
2016-09-02 18:55:42 +00:00
5e57b17283 Introduce helpers to RtpSender to propagate RtpPacketToSend.
The helpers intended to replace and deprecate BuildRtpHeader when
RtpSenderAudio/RtpSenderVideo will be updated to pass RtpPacket class
instead of raw buffer for sending.

BUG=webrtc:5261
R=sprang@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#14051}
2016-09-02 17:16:08 +00:00
ba6f7be234 Test RtcpParser rewritten to use rtcp packet classes
instead of rtcp_utility

BUG=webrtc:5260
R=sprang@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#14050}
2016-09-02 16:29:24 +00:00
c6b9da44c3 Delete cricket::VideoFrame::GetCopyWithRotationApplied.
There are no known uses. Use in Chrome was eliminated in cl
https://codereview.chromium.org/2293253003/

BUG=webrtc:5682

Review-Url: https://codereview.webrtc.org/2300953002
Cr-Commit-Position: refs/heads/master@{#14049}
2016-09-02 15:26:02 +00:00
1dd2335023 GN Templates: Add //build/config/sanitizers:deps to rtc_executable.
Remove //build/config/sanitizers:deps as a dependency for
all rtc_executable targets and add it to the template instead.

BUG=webrtc:6187
NOTRY=True

Review-Url: https://codereview.webrtc.org/2308553002
Cr-Commit-Position: refs/heads/master@{#14048}
2016-09-02 14:03:23 +00:00