Commit Graph

5872 Commits

Author SHA1 Message Date
c287c80781 Remove source file writer from VideoProcessor.
It serves a very limited purpose: converting from the input YUV
file to an output Y4M file. The experimenter can do this manually,
if this is of interest. (It is generally not.)

BUG=webrtc:6634

Review-Url: https://codereview.webrtc.org/2993063002
Cr-Commit-Position: refs/heads/master@{#19257}
2017-08-07 15:30:43 +00:00
c409552052 Remove VideoProcessor interface.
BUG=webrtc:6634

Review-Url: https://codereview.webrtc.org/2994613002
Cr-Commit-Position: refs/heads/master@{#19256}
2017-08-07 15:12:33 +00:00
73c0eb5014 ObjC: Implement HW codecs in ObjC instead of C++
The current ObjC HW encoder is implemented as a C++
webrtc::VideoEncoder. We then wrap it two times in the following way:
webrtc::VideoEncoder -> RTCVideoEncoder -> webrtc::VideoEncoder.
This was originally done to minimize the code diff when landing the
injectable encoder.

This CL removes the first wrapping and implements the ObjC HW encoder
as a RTCVideoEncoder directly. Similarly, the decoder is implemented
as a RTCVideoDecoder directly.

Based on andersc@ CL: https://codereview.webrtc.org/2978623002/.

BUG=webrtc:7924

Review-Url: https://codereview.webrtc.org/2987413002
Cr-Commit-Position: refs/heads/master@{#19255}
2017-08-07 13:55:28 +00:00
bea36fdee8 Minor improvements to VideoProcessor and corresponding test.
- Make all overridden methods of VideoProcessorImpl public,
  in preparation of the removal of the VideoProcessor interface.
- Place corresponding method definitions in correct order
  in .cc file.
- Harmonize the stdout printing.
- Make timestamp calculations adhere to set frame rate.

Except for the last bullet, these changes should not lead to
different functionality.

BUG=webrtc:6634

Review-Url: https://codereview.webrtc.org/2995513002
Cr-Commit-Position: refs/heads/master@{#19254}
2017-08-07 10:36:54 +00:00
669ea1917e Rename WEBRTC_VIDEOPROCESSOR_H264_TESTS define to WEBRTC_USE_H264.
This is the name used in other parts of the code.

BUG=none

Review-Url: https://codereview.webrtc.org/2996463003
Cr-Commit-Position: refs/heads/master@{#19253}
2017-08-07 10:35:13 +00:00
60dfbdbf75 Remove unused members in MediaOptimization.
BUG=none

Review-Url: https://codereview.webrtc.org/2993703002
Cr-Commit-Position: refs/heads/master@{#19252}
2017-08-07 07:03:03 +00:00
227f8b9be8 Reland of Fix off-by-one bugs in video_coding::PacketBuffer when the buffer is filled with a single frame. (patchset #1 id:1 of https://codereview.chromium.org/2990183002/ )
Reason for revert:
Revert to create fix CL.

Original issue's description:
> Revert of Fix off-by-one bugs in video_coding::PacketBuffer when the buffer is filled with a single frame. (patchset #5 id:80001 of https://codereview.chromium.org/2993513002/ )
>
> Reason for revert:
> Break performance bots.
>
> Original issue's description:
> > Fix off-by-one bugs in video_coding::PacketBuffer when the buffer is filled with a single frame.
> >
> > BUG=webrtc:8028
> >
> > Review-Url: https://codereview.webrtc.org/2993513002
> > Cr-Commit-Position: refs/heads/master@{#19209}
> > Committed: ee13e8919c
>
> TBR=stefan@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:8028
>
> Review-Url: https://codereview.webrtc.org/2990183002
> Cr-Commit-Position: refs/heads/master@{#19211}
> Committed: c18f1d7c94

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

Review-Url: https://codereview.webrtc.org/2989313003
Cr-Commit-Position: refs/heads/master@{#19249}
2017-08-04 13:39:31 +00:00
186d9c3873 Renamed fields in common_types.h/RtcpStatistics.
BUG=webrtc:8033

Review-Url: https://codereview.webrtc.org/2992043002
Cr-Commit-Position: refs/heads/master@{#19247}
2017-08-04 12:03:53 +00:00
463d7ccb36 Remove video_coding/codecs/OWNERS.
video_coding/OWNERS/ should be enough.

BUG=webrtc:8064
R=stefan@webrtc.org

Review-Url: https://codereview.webrtc.org/2992283002 .
Cr-Commit-Position: refs/heads/master@{#19246}
2017-08-04 10:58:25 +00:00
5166e54a3d Tracking mock_process_thread with a GN target
include/mock/mock_process_thread.h was not tracked by GN.

This cl creates a target for it. The target is testonly because it
depends on "webrtc/test:rtp_test_utils".

This means that dependencies to this header cannot fly under the
GN radar anymore. :)

BUG=webrtc:7652
NOTRY=True

Review-Url: https://codereview.webrtc.org/2881343003
Cr-Commit-Position: refs/heads/master@{#19234}
2017-08-03 12:57:11 +00:00
1d0bdc296b Revert "Track recreation of DxgiTextureStaging"
This reverts commit ae1532a214bb949b3e2b0659293b5f6bab104598.

Reason for revert: It is blocking the WebRTC roll into Chromium (see: https://chromium-review.googlesource.com/c/599707).

Affected build:
https://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_compile_dbg_ng/builds/469708

Original change's description:
> Track recreation of DxgiTextureStaging
> 
> I am not sure memcmp is the right tool to compare two D3D11_TEXTURE2D_DESC
> instances. So the staging texture may be recreated for each frame, which hurts
> the performance.
> 
> Bug: webrtc:8046
> Change-Id: I60a94f468599b23dec168de55c9bc8c787ab9b7d
> Reviewed-on: https://chromium-review.googlesource.com/592088
> Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
> Commit-Queue: Zijie He <zijiehe@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#19193}

TBR=jamiewalch@chromium.org,zijiehe@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: webrtc:8046
Change-Id: I57951e22be6926bcde81cdac3ca64cab9fb43338
Reviewed-on: https://chromium-review.googlesource.com/599867
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19232}
2017-08-03 10:39:49 +00:00
9b1b4105a4 Revert "Add histogram for FallbackDesktopCapturerWrapper and BlankDetectorDesktopCapturerWrapper"
This reverts commit ecf3d53088c5a0a4bf3753608537f9fe7e905f98.

Reason for revert: It is blocking the WebRTC roll into Chromium (see: https://chromium-review.googlesource.com/c/599707).

Affected builds are:
https://build.chromium.org/p/tryserver.chromium.android/builders/android_arm64_dbg_recipe/builds/321334
https://build.chromium.org/p/tryserver.chromium.android/builders/android_clang_dbg_recipe/builds/322156
https://build.chromium.org/p/tryserver.chromium.android/builders/android_compile_dbg/builds/323005


Original change's description:
> Add histogram for FallbackDesktopCapturerWrapper and BlankDetectorDesktopCapturerWrapper
> 
> We should record the number of fallbacks and blank frames.
> 
> Bug: webrtc:8040
> Change-Id: I92e7b7d7b4664fee6d6bd636609e80e532aa4bd4
> Reviewed-on: https://chromium-review.googlesource.com/587688
> Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
> Commit-Queue: Zijie He <zijiehe@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#19161}

TBR=jamiewalch@chromium.org,zijiehe@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: webrtc:8040
Change-Id: I0d1f881e86bf437854dd265c119b0dc9c7b11ecf
Reviewed-on: https://chromium-review.googlesource.com/599847
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19230}
2017-08-03 10:19:50 +00:00
adb161fecc windowCapture: return 1x1 frame to minimized winodw on Linux.
During window capturing, if the target window is minimized, OSX/Windows
will return a 1x1 frame and then webrtc knows to replace it with a black
frame. Let's do same on Linux too.

BUG=568840

Review-Url: https://codereview.webrtc.org/2989233002
Cr-Commit-Position: refs/heads/master@{#19224}
2017-08-02 22:37:29 +00:00
c0d481a4a6 Protected streams report RTP messages directly to the FlexFec streams
In preparation of making RTP packet demuxing many-to-one (one SSRC goes to one sink, but one sink may have multiple SSRCs), we need to remove FlexFEC's dependence on being able to register itself with the demuxer. Instead, we register FlexFEC streams with the streams they protect; when those streams get packets, they'll forward them to their associated FlexFEC streams, too.

BUG=webrtc:7135

Review-Url: https://codereview.webrtc.org/2974453002
Cr-Commit-Position: refs/heads/master@{#19219}
2017-08-02 14:39:07 +00:00
32040efc61 Add PacketRouterTest.Sanity_NoModuleRegistered_*
Add some sanity tests for PacketRouter when no modules are registered.

BUG=None

Review-Url: https://codereview.webrtc.org/2986093003
Cr-Commit-Position: refs/heads/master@{#19215}
2017-08-02 13:29:00 +00:00
c5fb4683e5 Don't clear newer packets from the video_coding::PacketBuffer when calling ClearTo.
BUG=webrtc:8060

Review-Url: https://codereview.webrtc.org/2987013002
Cr-Commit-Position: refs/heads/master@{#19212}
2017-08-02 11:28:57 +00:00
c18f1d7c94 Revert of Fix off-by-one bugs in video_coding::PacketBuffer when the buffer is filled with a single frame. (patchset #5 id:80001 of https://codereview.chromium.org/2993513002/ )
Reason for revert:
Break performance bots.

Original issue's description:
> Fix off-by-one bugs in video_coding::PacketBuffer when the buffer is filled with a single frame.
>
> BUG=webrtc:8028
>
> Review-Url: https://codereview.webrtc.org/2993513002
> Cr-Commit-Position: refs/heads/master@{#19209}
> Committed: ee13e8919c

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

Review-Url: https://codereview.webrtc.org/2990183002
Cr-Commit-Position: refs/heads/master@{#19211}
2017-08-02 11:18:02 +00:00
ee13e8919c Fix off-by-one bugs in video_coding::PacketBuffer when the buffer is filled with a single frame.
BUG=webrtc:8028

Review-Url: https://codereview.webrtc.org/2993513002
Cr-Commit-Position: refs/heads/master@{#19209}
2017-08-02 09:07:48 +00:00
8339e1a7aa Remove ProcessParams struct.
Add SetProcessParams method for configuring process settings (removes intermediate step of configuring settings via ProcessParams).

BUG=webrtc:6634

Review-Url: https://codereview.webrtc.org/2962293002
Cr-Commit-Position: refs/heads/master@{#19206}
2017-08-02 07:17:18 +00:00
fdd1f21624 Irrational check in the constructor of DesktopFrame: stride_ may be negative
TBR=JamieWalch@chromium.org

BUG=webrtc:7950

Review-Url: https://codereview.webrtc.org/2987363002 .
Cr-Commit-Position: refs/heads/master@{#19205}
2017-08-02 03:25:21 +00:00
09f16c6a0a Add new constructors for all DesktopFrame inheritances
This change adds constructors for all DesktopFrame inheritances to pass in
DesktopRect instead of DesktopSize.
Because the newly added constructors and DesktopFrame::top_left() function are
not actively used, this change should have no logic impact.

Bug: webrtc:7950
Change-Id: If78187865c991211dfc28d3723403ce6e6fe0290
Reviewed-on: https://chromium-review.googlesource.com/590508
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Commit-Queue: Zijie He <zijiehe@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19204}
2017-08-02 01:07:44 +00:00
b1338fec81 Remove PacketRouterTest fixture
Remove the mostly-unused fixture PacketRouterTest.

BUG=None

Review-Url: https://codereview.webrtc.org/2991093002
Cr-Commit-Position: refs/heads/master@{#19203}
2017-08-01 16:36:19 +00:00
822ff2b794 Explicitly inform PacketRouter which RTP-RTCP modules are REMB-candidates
BUG=webrtc:7860

Review-Url: https://codereview.webrtc.org/2973363002
Cr-Commit-Position: refs/heads/master@{#19201}
2017-08-01 13:30:28 +00:00
ddfa252b50 TestDataGenerators attempts to create missing input signal files.
If the input file name matches the "<name>-<params>.wav" pattern and <name> is a valid signal creator name, then <params> is parsed and used to create a new signal which is written in place of the missing file.

This CL only adds a pure tone creator. For instance, 'pure_tone-440_1000.wav' creates a pure tone at 440 Hz, 1000 ms long, mono, sampled at 48kHz.

This feature can be used to simplify the creation of common probe signals - no need to add external .wav files. Also, it will be exploited by a coming CL that adds a new evaluation score requiring the input signal to be a pure tone.

Additional minor fixes:
- apm_quality_assessment_unittest.py: command line arguments replaced to avoid that those for the unit test framework are passed
- simulation_unittest.py: invalid evaluation score name replaced

BUG=webrtc:7218

Review-Url: https://codereview.webrtc.org/2989823002
Cr-Commit-Position: refs/heads/master@{#19200}
2017-08-01 12:44:18 +00:00
a25a69582e Enable large-scale FEC tests on iOS.
Also change the loss rates to 5% and 1%, instead of 50%.

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2950313002
Cr-Commit-Position: refs/heads/master@{#19199}
2017-08-01 12:01:07 +00:00
fdd568eb25 This CL is a refactoring of the APM QA tool; it includes the following changes:
- render stream support, required to assess AEC;
- echo path simulation and input mixer, to generate echo and add it to the
speech signal;
- export engine: improved UI, switch to Pandas DataFrames;
- minor design improvements and needed adaptions.

BUG=webrtc:7218

Review-Url: https://codereview.webrtc.org/2813883002
Cr-Commit-Position: refs/heads/master@{#19198}
2017-08-01 11:37:21 +00:00
8a1d2a315f Remove NullReceiveStatistics
rtcp_sender accepts nullptr as indication statistics shouldn't be used,
Other uses of NullReceiveStatistcs were already deleted.

BUG=webrtc:8016

Review-Url: https://codereview.webrtc.org/2988143002
Cr-Commit-Position: refs/heads/master@{#19197}
2017-08-01 10:21:37 +00:00
d339dbc7d4 Added implementations for entering/exiting STARTUP, DRAIN, PROBE_BW, PROBE_RTT modes, also updated MaxBandwidthFilter class, with the filter implementation which stores three best estimates for the filter window.
BUG=webrtc:7713

Review-Url: https://codereview.webrtc.org/2982233002
Cr-Commit-Position: refs/heads/master@{#19196}
2017-08-01 10:06:17 +00:00
36344a0c9b Fix incorrect memset on muted frames.
Broken by https://codereview.webrtc.org/2750783004/. Since samples are
two bytes each, only half of the buffer was being zeroed, leading to
garbage noise.

BUG=webrtc:7885,webrtc:7343

Change-Id: I46ecf90258b681ccdebbcfadd2e84ac6abadc9fe
Reviewed-on: https://chromium-review.googlesource.com/593092
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Jonathan Yu <yujo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19194}
2017-07-31 22:18:41 +00:00
ae1532a214 Track recreation of DxgiTextureStaging
I am not sure memcmp is the right tool to compare two D3D11_TEXTURE2D_DESC
instances. So the staging texture may be recreated for each frame, which hurts
the performance.

Bug: webrtc:8046
Change-Id: I60a94f468599b23dec168de55c9bc8c787ab9b7d
Reviewed-on: https://chromium-review.googlesource.com/592088
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Commit-Queue: Zijie He <zijiehe@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19193}
2017-07-31 22:17:32 +00:00
df6e07c7e2 Do not reset resolution_tracker_ in DxgiFrame::PrepareFrame()
resolution_tracker_ should always represent the size of the DxgiFrame::frame_.
So it should not be actively reset.

Bug: webrtc:8045
Change-Id: I0b4d70ea69e4c2febfa369de50b555287c41fd99
Reviewed-on: https://chromium-review.googlesource.com/592248
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Commit-Queue: Zijie He <zijiehe@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19192}
2017-07-31 19:21:06 +00:00
5af2af36ee Remove resolution_tracker_ from dxgi_texture
DxgiTexture now does not rely on a fixed resolution, so the ResolutionTracker
can be removed from it.

This change does not have logic impact, the upper component
(DxgiDuplicatorController) always reinitializes itself once the screen
resolution changes. And this check is also a legacy one: DxgiFrame now can take
care of the resolution change itself without needing to return false in
DxgiTexture.

Bug: webrtc:8044
Change-Id: I3ad9ce175f2bc9bf03b0a3985efa2681aa55d14b
Reviewed-on: https://chromium-review.googlesource.com/592247
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Commit-Queue: Zijie He <zijiehe@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19191}
2017-07-31 18:59:12 +00:00
3376c84c90 Add probing to recover faster from large bitrate drops. A single probe at 85% of the original bitrate is sent when transitioning from underusing back to normal state. The actual sending of the probes is disabled by default, and enabled by the field trial string WebRTC-BweRapidRecoveryExperiment/Enabled/. Existing code that did probing after large drops in ALR have been restructured so that it also delays the probe until we are no longer overusing.
BUG=webrtc:8015

Review-Url: https://codereview.webrtc.org/2986563002
Cr-Commit-Position: refs/heads/master@{#19187}
2017-07-31 11:23:25 +00:00
7e1c24cba7 Update ResolutionChangeDetector to make it match common practices
ResolutionChangeDetector now does not update its internal state. There is no
impact because Reset() is always actively called.

So this change renames ResolutionChangeDetector to ResolutionTracker, and rename
the IsChanged() function into SetResolution(), which returns true if a
replacement happened. Internally it always records the latest DesktopSize.
Customers of this class can still use SetResolution() function to check whether
a DesktopSize change happened.

Bug: webrtc:8038
Change-Id: I6d25f3dd2d0567219a82b6688bf3e08560c8b0af
Reviewed-on: https://chromium-review.googlesource.com/587405
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Commit-Queue: Zijie He <zijiehe@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19184}
2017-07-28 18:08:45 +00:00
54348fb5ce Removed an obsolete DCHECK in AudioEncoderOpus.
BUG=None

Review-Url: https://codereview.webrtc.org/2986083002
Cr-Commit-Position: refs/heads/master@{#19177}
2017-07-28 09:52:59 +00:00
516711cde9 Turning on Opus 120ms frame length switch.
Chromium has adopted Opus 1.2.1 which allows 120ms frame encoding. It
is time to turn on the switch for building WebRTC with this feature.


Bug: webrtc:8042
TBR: kjellander@webrtc.org
Change-Id: I644b47cfb56f835695ef1263741cda6e3ee3d862
Reviewed-on: https://chromium-review.googlesource.com/586725
Commit-Queue: Minyue Li <minyue@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Felicia Lim <flim@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19173}
2017-07-27 17:23:35 +00:00
81f1da3dd0 Adding missing resources to audio_codec_speed_tests.
BUG=none

Review-Url: https://codereview.webrtc.org/2727973004
Cr-Commit-Position: refs/heads/master@{#19168}
2017-07-27 12:49:57 +00:00
f5f793c2ed Take smaller interface for RtpRtcp::Configuration::receive_statistics
BUG=webrtc:8016

Review-Url: https://codereview.webrtc.org/2988763002
Cr-Commit-Position: refs/heads/master@{#19167}
2017-07-27 11:44:18 +00:00
77415f561d Revert of Disable SeqNumUnwrapper death tests to avoid breaking downstream builds. (patchset #1 id:1 of https://codereview.chromium.org/2985083002/ )
Reason for revert:
Creating revert to fix these tests.

Original issue's description:
> Disable SeqNumUnwrapper death tests to avoid breaking downstream builds.
>
> BUG=None
> TBR=stefan@webrtc.org
> NOTRY=true
>
> Review-Url: https://codereview.webrtc.org/2985083002
> Cr-Commit-Position: refs/heads/master@{#19155}
> Committed: 8e245561f2

TBR=stefan@webrtc.org
BUG=None

Review-Url: https://codereview.webrtc.org/2992643002
Cr-Commit-Position: refs/heads/master@{#19166}
2017-07-27 11:37:18 +00:00
adb58b88a1 Renable some Opus tests after Opus 1.2.1 update.
Bug: webrtc:8024
Change-Id: Ia7b9de70ef85e4ac32a7b84088b79cc6a260cc69
Reviewed-on: https://chromium-review.googlesource.com/586867
Reviewed-by: Felicia Lim <flim@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19164}
2017-07-27 07:40:14 +00:00
9c0914f938 Do not crop DesktopFrame if the size won't change
CreateCroppedDesktopFrame() does not need to create a CroppedDesktopFrame if the
size won't change.

Bug: webrtc:8039
Change-Id: Ie6789a4b473b69bced94c4a25a68f1da6bb3510e
Reviewed-on: https://chromium-review.googlesource.com/587808
Commit-Queue: Zijie He <zijiehe@chromium.org>
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19163}
2017-07-27 01:45:19 +00:00
ecf3d53088 Add histogram for FallbackDesktopCapturerWrapper and BlankDetectorDesktopCapturerWrapper
We should record the number of fallbacks and blank frames.

Bug: webrtc:8040
Change-Id: I92e7b7d7b4664fee6d6bd636609e80e532aa4bd4
Reviewed-on: https://chromium-review.googlesource.com/587688
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Commit-Queue: Zijie He <zijiehe@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19161}
2017-07-27 00:55:59 +00:00
58f1725ff1 Add gn dependency between ana_debug_dump_proto and ana_config_proto.
BUG=chromium:746106

Review-Url: https://codereview.webrtc.org/2985853002
Cr-Commit-Position: refs/heads/master@{#19158}
2017-07-26 21:49:20 +00:00
74544f9d1b Return translated position in MouseCursorMonitor
This change returns translated position in the newly added overload
MouseCursorMonitor::Callback::OnMouseCursorPosition(DesktopVector) callback.

Meanwhile it also reduces the duplicate logic in Windows capturer
implementations. So except for the deprecated logic in MouseCursorMonitorWin,
all GetSystemMetrics() function calls are merged into GetScreenRect(),
GetFullscreenRect() and GetFullscreenTopLeft() functions.

Bug: webrtc:7950
Change-Id: Ic2a85a80b6947367bdd20d8f96f11e0f5c269006
Reviewed-on: https://chromium-review.googlesource.com/581951
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Reviewed-by: Zijie He <zijiehe@chromium.org>
Commit-Queue: Zijie He <zijiehe@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19157}
2017-07-26 20:38:14 +00:00
8e245561f2 Disable SeqNumUnwrapper death tests to avoid breaking downstream builds.
BUG=None
TBR=stefan@webrtc.org
NOTRY=true

Review-Url: https://codereview.webrtc.org/2985083002
Cr-Commit-Position: refs/heads/master@{#19155}
2017-07-26 15:43:53 +00:00
7956c0f2f6 Implemented a new sequence number unwrapper in sequence_number_util.h.
There is already an Unwrapper in webrtc/modules/include/module_common_types.h,
but we reimplemented it in sequence_number_util.h for a few reasons:
 - Such a class belongs in sequence_number_util.h.
 - It is a cleaner implementation since we can use the rest of
   sequence_number_util.h functionality.
 - You can choose at which number the unwrapped sequence should start,
   which is used to avoid the edge case when a backward wrap can happen
   as the first few numbers are unwrapped.
 - This unwrapper can unwrap numbers that does not wrap 8/16/32 bits.

BUG=None

Review-Url: https://codereview.webrtc.org/2977603002
Cr-Commit-Position: refs/heads/master@{#19154}
2017-07-26 14:48:15 +00:00
d1d6c5a31b Add jamiewalch to OWNERS.
BUG=None

Review-Url: https://codereview.webrtc.org/2989653002
Cr-Commit-Position: refs/heads/master@{#19142}
2017-07-25 21:37:07 +00:00
96b69bdbee Refactor composing report blocks for rtcp Sender/Receiver reports.
Compose them while creating sr/rr instead of presaving in temporary
member variable

BUG=webrtc:5565, webrtc:8016

Review-Url: https://codereview.webrtc.org/2979413002
Cr-Commit-Position: refs/heads/master@{#19138}
2017-07-25 16:15:14 +00:00
7fb11d7376 Shrink critical-section scope in ReceiveStatisticsImpl::GetActiveStatisticians()
The critical-section's scope can be shrunk (we can hold the lock for a shorter time).

BUG=None

Review-Url: https://codereview.webrtc.org/2984973002
Cr-Commit-Position: refs/heads/master@{#19137}
2017-07-25 15:25:23 +00:00
6209dcdeb1 Add SetReportBlocks to rtcp Sender/Receive Report classes.
BUG=None

Review-Url: https://codereview.webrtc.org/2991623002
Cr-Commit-Position: refs/heads/master@{#19136}
2017-07-25 15:07:13 +00:00