1099 Commits

Author SHA1 Message Date
johan
f2183ffbf6 Create unit test for VideoReceiveStream.
- Create an unit test skeleton for VideoReceiveStream.
- Add an actual test case for creating a frame from H264 Sprop Parameter
  Sets and an Rtp H264 IDR Nalu.

BUG=webrtc:5948

Review-Url: https://codereview.webrtc.org/2721653002
Cr-Commit-Position: refs/heads/master@{#16892}
2017-02-28 09:33:09 +00:00
danilchap
f8475433be Disable flaky ViEEncoderTest.NrOfDroppedFramesLimited
BUG=webrtc:7232
NOTRY=true
TBR=mflodman@webrtc.org

Review-Url: https://codereview.webrtc.org/2720003002
Cr-Commit-Position: refs/heads/master@{#16876}
2017-02-27 17:21:14 +00:00
perkj
a8ba195db5 Replace test::FrameGenerator::ChromaGenerator with new FrameGenerator::SquareGenerator The problem with the ChromaGenerator is that the VP8 encoder produce a too low bitrate for each frame. The squaregenerator make the VP8 encoder produce about 600kbit/s at VGA.
SquareGenerator is a FrameGenerator that draws 10 randomly sized and colored
squares. Between each new generated frame, the squares are moved slightly
towards the lower right corner.

BUG=webrtc:7192

Review-Url: https://codereview.webrtc.org/2705973002
Cr-Commit-Position: refs/heads/master@{#16870}
2017-02-27 14:52:10 +00:00
sprang
21253fc2c8 Fix race condition in VideoSendStreamTest.ChangingTransportOverhead
BUG=webrtc:7190

Review-Url: https://codereview.webrtc.org/2708573003
Cr-Commit-Position: refs/heads/master@{#16859}
2017-02-27 11:35:47 +00:00
tommi
f284b7ff5f Remove |running_| state from NackModule to avoid running a tight loop.
Also reducing locking in NackModule (and by extension RtpStreamReceiver)

BUG=webrtc:7246

Review-Url: https://codereview.webrtc.org/2720603002
Cr-Commit-Position: refs/heads/master@{#16856}
2017-02-27 09:59:36 +00:00
kthelgason
fa5fdce100 Reland of Set scaling limit at 320 * 180 for all implementations. (patchset #1 id:1 of https://codereview.webrtc.org/2711913007/ )
Reason for revert:
Reland after fixing broken perf tests.

Original issue's description:
> Revert of Set scaling limit at 320 * 180 for all implementations. (patchset #2 id:20001 of https://codereview.webrtc.org/2709153002/ )
>
> Reason for revert:
> Looks like webrtc_perf_test started failing on linux, mac and windows after this cl landed.
>
> Example failure:
>
> https://build.chromium.org/p/client.webrtc.perf/builders/Linux%20Trusty/builds/1386/steps/webrtc_perf_tests/logs/stdio
>
> [ RUN      ] CallPerfTest.ReceivesCpuOveruseAndUnderuse
> ../../webrtc/call/call_perf_tests.cc:522: Failure
> Value of: Wait()
>   Actual: false
> Expected: true
> Timed out before receiving an overuse callback.
> [  FAILED  ] CallPerfTest.ReceivesCpuOveruseAndUnderuse (120056 ms)
>
>
> Original issue's description:
> > Set scaling limit at 320 * 180 for all implementations.
> >
> > The MediaCodec decoder on android has trouble decoding video at
> > so low resolutions. We set the limit a bit higher for all implementations
> > pending a robust software fallback implementation for MediaCodec.
> >
> > BUG=webrtc:7206
> >
> > Review-Url: https://codereview.webrtc.org/2709153002
> > Cr-Commit-Position: refs/heads/master@{#16798}
> > Committed: 560ddb7321
>
> TBR=magjed@webrtc.org,sprang@webrtc.org,kthelgason@webrtc.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=webrtc:7206
>
> Review-Url: https://codereview.webrtc.org/2711913007
> Cr-Commit-Position: refs/heads/master@{#16839}
> Committed: 37510bf094

TBR=magjed@webrtc.org,sprang@webrtc.org,tommi@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:7206

Review-Url: https://codereview.webrtc.org/2718013002
Cr-Commit-Position: refs/heads/master@{#16853}
2017-02-27 08:15:31 +00:00
tommi
37510bf094 Revert of Set scaling limit at 320 * 180 for all implementations. (patchset #2 id:20001 of https://codereview.webrtc.org/2709153002/ )
Reason for revert:
Looks like webrtc_perf_test started failing on linux, mac and windows after this cl landed.

Example failure:

https://build.chromium.org/p/client.webrtc.perf/builders/Linux%20Trusty/builds/1386/steps/webrtc_perf_tests/logs/stdio

[ RUN      ] CallPerfTest.ReceivesCpuOveruseAndUnderuse
../../webrtc/call/call_perf_tests.cc:522: Failure
Value of: Wait()
  Actual: false
Expected: true
Timed out before receiving an overuse callback.
[  FAILED  ] CallPerfTest.ReceivesCpuOveruseAndUnderuse (120056 ms)

Original issue's description:
> Set scaling limit at 320 * 180 for all implementations.
>
> The MediaCodec decoder on android has trouble decoding video at
> so low resolutions. We set the limit a bit higher for all implementations
> pending a robust software fallback implementation for MediaCodec.
>
> BUG=webrtc:7206
>
> Review-Url: https://codereview.webrtc.org/2709153002
> Cr-Commit-Position: refs/heads/master@{#16798}
> Committed: 560ddb7321

TBR=magjed@webrtc.org,sprang@webrtc.org,kthelgason@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:7206

Review-Url: https://codereview.webrtc.org/2711913007
Cr-Commit-Position: refs/heads/master@{#16839}
2017-02-25 19:30:55 +00:00
ilnik
1e7732c3d9 Fixed Full stack tests to correctly process selected TL and SL while
calculating frame sizes. Added actual_bitrate metric which also accounts
for TL and SL info. Metric encoded_frame_size calculation is cleaned up. Perf alerts should be ignored.

BUG=webrtc:7095

Review-Url: https://codereview.webrtc.org/2709483009
Cr-Commit-Position: refs/heads/master@{#16800}
2017-02-23 13:07:56 +00:00
kthelgason
560ddb7321 Set scaling limit at 320 * 180 for all implementations.
The MediaCodec decoder on android has trouble decoding video at
so low resolutions. We set the limit a bit higher for all implementations
pending a robust software fallback implementation for MediaCodec.

BUG=webrtc:7206

Review-Url: https://codereview.webrtc.org/2709153002
Cr-Commit-Position: refs/heads/master@{#16798}
2017-02-23 11:22:02 +00:00
ilnik
df92c5cb8c Adding cpu measurments to video_quality_tests
BUG=webrtc:7095

Review-Url: https://codereview.webrtc.org/2711493002
Cr-Commit-Position: refs/heads/master@{#16791}
2017-02-23 10:08:44 +00:00
tommi
0f8b403eb5 Introduce a new constructor to PlatformThread.
The new constructor introduces two new changes:

* Support specifying thread priority at construction time.
  - Moving forward, the SetPriority() method will be removed.
* New thread function type.
  - The new type has 'void' as a return type and a polling loop
    inside PlatformThread, is not used.

The old function type is still supported until all places have been moved over.

In this CL, the first steps towards deprecating the old mechanism are taken
by moving parts of the code that were simple to move, over to the new callback
type.

BUG=webrtc:7187

Review-Url: https://codereview.webrtc.org/2708723003
Cr-Commit-Position: refs/heads/master@{#16779}
2017-02-22 19:22:05 +00:00
philipel
a45102f7b4 Revert of Revert Make the new jitter buffer the default jitter buffer. (patchset #1 id:1 of https://codereview.chromium.org/2682073003/ )
Reason for revert:
Fix here: https://codereview.chromium.org/2708593003

Original issue's description:
> Revert Make the new jitter buffer the default jitter buffer.
>
> Speculative revert of https://codereview.chromium.org/2656983002/ to see if it fixes a downstream bug.
>
> BUG=webrtc:5514
>
> Review-Url: https://codereview.webrtc.org/2682073003
> Cr-Commit-Position: refs/heads/master@{#16492}
> Committed: e525d6aba6

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

Review-Url: https://codereview.webrtc.org/2704183002
Cr-Commit-Position: refs/heads/master@{#16772}
2017-02-22 13:30:39 +00:00
Tommi
5dd5f5a319 RembWithSendSideBwe: Rename |event_| to |stop_event_| and set it when the test ends.
BUG=webrtc:7200
R=stefan@webrtc.org

Review-Url: https://codereview.webrtc.org/2706223002 .
Cr-Commit-Position: refs/heads/master@{#16744}
2017-02-21 13:22:59 +00:00
perkj
070ba85f5b Replace DCHECK with ASSERT_TRUE in vie_encoder_unittest.cc
BUG=none
TBR=sprang@webrtc.org

Review-Url: https://codereview.webrtc.org/2699593007
Cr-Commit-Position: refs/heads/master@{#16656}
2017-02-16 23:46:27 +00:00
ilnik
2a8c2f589a Added Vp9 simulcast tests.
For them implemeted upscaling in libyuv metrics calculation.
Updated maximum number of SL in vp9 encoder to 3.
Refactored names of some fields in Video_quality_check analyzer.

BUG=webrtc:7095

Review-Url: https://codereview.webrtc.org/2681683003
Cr-Commit-Position: refs/heads/master@{#16625}
2017-02-15 10:23:28 +00:00
ilnik
9ae0d76b92 Added WebRTC-QuickPerfTest field trial. If enabled only 1 frame will be sent.
BUG=webrtc:7101

Review-Url: https://codereview.webrtc.org/2690903004
Cr-Commit-Position: refs/heads/master@{#16622}
2017-02-15 08:53:12 +00:00
kthelgason
b83797bd7a Fix flaky ViEEncoder unit test.
The flaky test was introduced in ad9010c9836, and is essentially a race
where the ViE Encoder has already configured the quality scaler on the
encoder thread before we've updated the ScalingSettings. This CL adds
a forced reconfiguration of the quality scaler to avoid this issue.

BUG=None
TBR=sprang@webrtc.org

Review-Url: https://codereview.webrtc.org/2695873004
Cr-Commit-Position: refs/heads/master@{#16612}
2017-02-14 19:57:25 +00:00
kthelgason
ad9010c983 Make sure initial framedrop is off where quality scaling is off.
BUG=chromium:689972,chromium:689915

Review-Url: https://codereview.webrtc.org/2684683004
Cr-Commit-Position: refs/heads/master@{#16602}
2017-02-14 08:46:51 +00:00
nisse
38cc1d6b31 Replace RtpStreamReceiver::DeliverRtp with OnRtpPacket.
This avoids redoing RTP header parsing already done in Call, for video.

The next step is to convert other types of receive streams, i.e.,
audio and flexfec, to use a compatible OnRtpPacket method. We can then
introduce a shared base interface, and simplify media-independent
receive processing in Call.

BUG=webrtc:7135

Review-Url: https://codereview.webrtc.org/2681673004
Cr-Commit-Position: refs/heads/master@{#16583}
2017-02-13 13:59:46 +00:00
sprang
552c7c70b0 Make SendStatisticsProxy paramter mandatory in ViEEncoder ctor.
The only implementation which used a nullptr was a mock used in tests,
so add a dummy instance there instead.
Remove tests for stats_proxy_ in vie_encoder and just dcheck in the
constructor instead.

BUG=None

Review-Url: https://codereview.webrtc.org/2695643002
Cr-Commit-Position: refs/heads/master@{#16577}
2017-02-13 12:41:45 +00:00
sprang
be03724ae1 Fix nits in vie_encoder
Updated comment.
Don't call AdaptUp/AdaptDown in tests without first emitting a frame.
Handle frame received precondition in AdaptUp/AdaptDown with DCHECK
instead of return.

BUG=webrtc:4172, webrtc:6850

Review-Url: https://codereview.webrtc.org/2690023002
Cr-Commit-Position: refs/heads/master@{#16572}
2017-02-13 10:38:17 +00:00
ilnik
46a0021e4e Retransmitted packets are now counted in receive time
BUG=chromium:690358

Review-Url: https://codereview.webrtc.org/2683423002
Cr-Commit-Position: refs/heads/master@{#16536}
2017-02-10 17:16:05 +00:00
sprang
84a3759825 Change rtc::VideoSinkWants to have target and a max pixel count
The current method with max_pixel_count and max_pixel_count_step_up,
where only one should be used at a time and this first signaling an
inclusive upper bound and other other an exclusive lower bound, makes
for a lot of confusion.

I've updated this to have a desired target and a maximum instead. The
source should select a resolution as close to the target as possible,
but no higher than the maximum.

I intend to also add similar frame rate settings in an upcoming cl.

BUG=webrtc:4172,webrtc:6850

Review-Url: https://codereview.webrtc.org/2672793002
Cr-Commit-Position: refs/heads/master@{#16533}
2017-02-10 15:04:27 +00:00
ilnik
1e1c84db10 Fixing typo
BUG=webrtc:7095

Review-Url: https://codereview.webrtc.org/2686033004
Cr-Commit-Position: refs/heads/master@{#16518}
2017-02-09 16:32:53 +00:00
Stefan Holmer
85d5ac744b Fix bug in recv-bwe tests introduced when switching to send-side bwe by default in tests.
BUG=chromium:689973
R=brandtr@webrtc.org

Review-Url: https://codereview.webrtc.org/2684113003 .
Cr-Commit-Position: refs/heads/master@{#16517}
2017-02-09 15:25:16 +00:00
ilnik
3dd5ad9d50 Reland of Added VP8 simulcast tests. Fixed analyzer to correctly infer timestamps. (patchset #2 id:150001 of https://codereview.webrtc.org/2687073002/ )
Reason for revert:
Reverting was done incorrectly. Returning patchset.

Original issue's description:
> Revert of Added VP8 simulcast tests. Fixed analyzer to correctly infer timestamps. (patchset #5 id:80001 of https://codereview.webrtc.org/2668763004/ )
>
> Reason for revert:
> Speculative revert due to regression in perf tests.
>
> Original issue's description:
> > 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}
> > Committed: 5f47126865
>
> TBR=sprang@webrtc.org,nisse@webrtc.org,mflodman@webrtc.org,magjed@webrtc.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=webrtc:7095
>
> Review-Url: https://codereview.webrtc.org/2687073002
> Cr-Commit-Position: refs/heads/master@{#16510}
> Committed: e67c59e7d2

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

Review-Url: https://codereview.webrtc.org/2685583006
Cr-Commit-Position: refs/heads/master@{#16512}
2017-02-09 12:58:53 +00:00
sakal
cc452e1179 Reland of Add QP sum stats for received streams. (patchset #2 id:300001 of https://codereview.webrtc.org/2680893002/ )
Reason for revert:
Fix the problem.

Original issue's description:
> Revert of Add QP sum stats for received streams. (patchset #10 id:180001 of https://codereview.webrtc.org/2649133005/ )
>
> Reason for revert:
> Breaks downstream build.
>
> Original issue's description:
> > Add QP sum stats for received streams.
> >
> > This is not implemented yet in any of the decoders.
> >
> > BUG=webrtc:6541
> >
> > Review-Url: https://codereview.webrtc.org/2649133005
> > Cr-Commit-Position: refs/heads/master@{#16475}
> > Committed: ff0e72fd16
>
> TBR=hta@webrtc.org,hbos@webrtc.org,sprang@webrtc.org,magjed@webrtc.org,stefan@webrtc.org,sakal@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6541
>
> Review-Url: https://codereview.webrtc.org/2680893002 .
> Cr-Commit-Position: refs/heads/master@{#16480}
> Committed: 69fb2cca4d

TBR=hta@webrtc.org,hbos@webrtc.org,sprang@webrtc.org,magjed@webrtc.org,stefan@webrtc.org,skvlad@webrtc.org
BUG=webrtc:6541

Review-Url: https://codereview.webrtc.org/2681663005
Cr-Commit-Position: refs/heads/master@{#16511}
2017-02-09 12:53:45 +00:00
ilnik
e67c59e7d2 Revert of Added VP8 simulcast tests. Fixed analyzer to correctly infer timestamps. (patchset #5 id:80001 of https://codereview.webrtc.org/2668763004/ )
Reason for revert:
Speculative revert due to regression in perf tests.

Original issue's description:
> 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}
> Committed: 5f47126865

TBR=sprang@webrtc.org,nisse@webrtc.org,mflodman@webrtc.org,magjed@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:7095

Review-Url: https://codereview.webrtc.org/2687073002
Cr-Commit-Position: refs/heads/master@{#16510}
2017-02-09 12:08:56 +00:00
michaelt
273f31b85c Fix for flaky RemoveOverheadFromBandwidth test.
BUG=webrtc:6886

Review-Url: https://codereview.webrtc.org/2685503002
Cr-Commit-Position: refs/heads/master@{#16498}
2017-02-08 16:21:52 +00:00
stefan
5d83780c42 Fix flaky test introduced by r16478
BUG=webrtc:7132, webrtc:7124, webrtc:5514

Review-Url: https://codereview.webrtc.org/2688493002
Cr-Commit-Position: refs/heads/master@{#16496}
2017-02-08 15:09:05 +00:00
stefan
e525d6aba6 Revert Make the new jitter buffer the default jitter buffer.
Speculative revert of https://codereview.chromium.org/2656983002/ to see if it fixes a downstream bug.

BUG=webrtc:5514

Review-Url: https://codereview.webrtc.org/2682073003
Cr-Commit-Position: refs/heads/master@{#16492}
2017-02-08 13:25:42 +00:00
skvlad
69fb2cca4d Revert of Add QP sum stats for received streams. (patchset #10 id:180001 of https://codereview.webrtc.org/2649133005/ )
Reason for revert:
Breaks downstream build.

Original issue's description:
> Add QP sum stats for received streams.
>
> This is not implemented yet in any of the decoders.
>
> BUG=webrtc:6541
>
> Review-Url: https://codereview.webrtc.org/2649133005
> Cr-Commit-Position: refs/heads/master@{#16475}
> Committed: ff0e72fd16

TBR=hta@webrtc.org,hbos@webrtc.org,sprang@webrtc.org,magjed@webrtc.org,stefan@webrtc.org,sakal@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6541

Review-Url: https://codereview.webrtc.org/2680893002 .
Cr-Commit-Position: refs/heads/master@{#16480}
2017-02-07 18:59:25 +00:00
nisse
76bc8e858f Delete VideoReceiveStream::Config::pre_render_callback.
Also delete the class I420FrameCallback.

BUG=webrtc:7124

Review-Url: https://codereview.webrtc.org/2678343002
Cr-Commit-Position: refs/heads/master@{#16478}
2017-02-07 17:37:41 +00:00
sakal
ff0e72fd16 Add QP sum stats for received streams.
This is not implemented yet in any of the decoders.

BUG=webrtc:6541

Review-Url: https://codereview.webrtc.org/2649133005
Cr-Commit-Position: refs/heads/master@{#16475}
2017-02-07 15:15:17 +00:00
stefan
7de8d64f89 Wire up audio packet loss to BWE.
BUG=webtrc:5079

Review-Url: https://codereview.webrtc.org/2658233002
Cr-Commit-Position: refs/heads/master@{#16474}
2017-02-07 15:14:08 +00:00
kthelgason
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
nisse
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
brandtr
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
stefan
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
brandtr
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
brandtr
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
asapersson
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
nisse
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
jianj
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
ilnik
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
philipel
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
solenberg
ed01647ea9 Remove bad DCHECK added as part of https://codereview.webrtc.org/2452163004/
BUG=webrtc:4690
TBR=stefan@webrtc.org

Review-Url: https://codereview.webrtc.org/2668413005
Cr-Commit-Position: refs/heads/master@{#16415}
2017-02-02 12:23:24 +00:00
sprang
b1ca073db4 Rename adaptation api methods, extended vie_encoder unit test.
Use AdaptDown/AdaptUp instead of ScaleDown/ScaleUp, since we may want to
adapt using other means than resolution.

Also, extend vie_encoder with unit test that actually uses frames scaled
to resolution as determined by VideoAdapter, since that seems to be the
default implementation.

BUG=webrtc:4172

Review-Url: https://codereview.webrtc.org/2652893015
Cr-Commit-Position: refs/heads/master@{#16402}
2017-02-01 16:38:12 +00:00
nisse
14245cc939 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}
2017-02-01 16:10:36 +00:00
minyue
35fc2aa82f 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}
2017-02-01 11:14:00 +00:00