11790 Commits

Author SHA1 Message Date
zstein
8b476173d8 Improve the style of the objc wrapper for PeerConnectionInterface::SetBitrate.
BUG=webrtc:7395

Review-Url: https://codereview.webrtc.org/3011013002
Cr-Commit-Position: refs/heads/master@{#19697}
2017-09-05 21:43:03 +00:00
kjellander
e5abac443a Revert of Add //build/android/pylib/results/ to Android isolate packaging (patchset #1 id:1 of https://codereview.webrtc.org/3006103002/ )
Reason for revert:
Breaks memcheck bot: https://build.chromium.org/p/client.webrtc/builders/Linux%20Memcheck/builds/11554

Edward: do you understand why? I'll run a full CQ set before relanding for sure.

Original issue's description:
> Add //build/android/pylib/results/ to Android isolate packaging
>
> This is needed before relanding
> https://chromium-review.googlesource.com/c/chromium/tools/build/+/619228
>
> TESTED=
> I built tools_unittests and verified build/android/pylib/results/presentation/test_results_presentation.py
> is listed in the .isolated file:
> OUT=out/android-Release
> TEST=tools_unittests
> tools_webrtc/mb/mb.py isolate //$OUT $TEST
> tools/swarming_client/isolate.py archive -I https://isolateserver.appspot.com -i $OUT/$TEST.isolate -s $OUT/$TEST.isolated
>
> BUG=chromium:717417
> NOTRY=True
>
> Review-Url: https://codereview.webrtc.org/3006103002
> Cr-Commit-Position: refs/heads/master@{#19695}
> Committed: f8ff0282c6

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

Review-Url: https://codereview.webrtc.org/3008083004
Cr-Commit-Position: refs/heads/master@{#19696}
2017-09-05 17:14:51 +00:00
kjellander
f8ff0282c6 Add //build/android/pylib/results/ to Android isolate packaging
This is needed before relanding
https://chromium-review.googlesource.com/c/chromium/tools/build/+/619228

TESTED=
I built tools_unittests and verified build/android/pylib/results/presentation/test_results_presentation.py
is listed in the .isolated file:
OUT=out/android-Release
TEST=tools_unittests
tools_webrtc/mb/mb.py isolate //$OUT $TEST
tools/swarming_client/isolate.py archive -I https://isolateserver.appspot.com -i $OUT/$TEST.isolate -s $OUT/$TEST.isolated

BUG=chromium:717417
NOTRY=True

Review-Url: https://codereview.webrtc.org/3006103002
Cr-Commit-Position: refs/heads/master@{#19695}
2017-09-05 17:03:29 +00:00
oprypin
30431d5acd Enable UBSan float-cast-overflow warnings and fix existing ones
BUG=webrtc:8204

Review-Url: https://codereview.webrtc.org/3007153003
Cr-Commit-Position: refs/heads/master@{#19694}
2017-09-05 16:49:30 +00:00
kwiberg
84f6a3fc6b Move optional.h to webrtc/api/
We use Optional in our public API, so its header should be in
webrtc/api/.

BUG=webrtc:8205

Review-Url: https://codereview.webrtc.org/3011943002
Cr-Commit-Position: refs/heads/master@{#19693}
2017-09-05 15:43:13 +00:00
kwiberg
ad43d4b29e Fix outdated header guard names
One of these lint errors is blocking a CL that moves optional.h to
webrtc/api/. And while I made a CL to fix that one, I figured I might
as well fix them all.

BUG=webrtc:8205

Review-Url: https://codereview.webrtc.org/3008143002
Cr-Commit-Position: refs/heads/master@{#19692}
2017-09-05 15:38:22 +00:00
eladalon
23814b7df7 Revert of Make RtcEventLogImpl to use a TaskQueue instead of a helper-thread (patchset #4 id:200001 of https://codereview.webrtc.org/3005153002/ )
Reason for revert:
Landed without CQ, which was unintended.

Original issue's description:
> Reland of Make RtcEventLogImpl to use a TaskQueue instead of a helper-thread (patchset #1 id:1 of https://codereview.webrtc.org/3010143002/ )
>
> Reason for revert:
> I will fix and reland.
>
> Original issue's description:
> > Revert of Make RtcEventLogImpl to use a TaskQueue instead of a helper-thread (patchset #18 id:340001 of https://codereview.webrtc.org/3007473002/ )
> >
> > Reason for revert:
> > Breaks google3 project.
> >
> > Original issue's description:
> > > Make RtcEventLogImpl to use a TaskQueue instead of a helper-thread
> > >
> > > Make RtcEventLogImpl to use a TaskQueue instead of a helper-thread. This will eventually allow us to run multiple log sessions on a single task-queue.
> > >
> > > BUG=webrtc:8142, webrtc:8143, webrtc:8145
> > >
> > > Review-Url: https://codereview.webrtc.org/3007473002
> > > Cr-Commit-Position: refs/heads/master@{#19666}
> > > Committed: f33cee7534
> >
> > TBR=terelius@webrtc.org,nisse@webrtc.org,eladalon@webrtc.org
> > # Skipping CQ checks because original CL landed less than 1 days ago.
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=webrtc:8142, webrtc:8143, webrtc:8145
> >
> > Review-Url: https://codereview.webrtc.org/3010143002
> > Cr-Commit-Position: refs/heads/master@{#19672}
> > Committed: 3eac8002db
>
> TBR=terelius@webrtc.org,nisse@webrtc.org,charujain@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:8142, webrtc:8143, webrtc:8145
>
> Review-Url: https://codereview.webrtc.org/3005153002
> Cr-Commit-Position: refs/heads/master@{#19690}
> Committed: d67cefbbea

TBR=terelius@webrtc.org,nisse@webrtc.org,kwiberg@webrtc.org,perkj@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:8142, webrtc:8143, webrtc:8145

Review-Url: https://codereview.webrtc.org/3007193002
Cr-Commit-Position: refs/heads/master@{#19691}
2017-09-05 15:33:54 +00:00
eladalon
d67cefbbea Reland of Make RtcEventLogImpl to use a TaskQueue instead of a helper-thread (patchset #1 id:1 of https://codereview.webrtc.org/3010143002/ )
Reason for revert:
I will fix and reland.

Original issue's description:
> Revert of Make RtcEventLogImpl to use a TaskQueue instead of a helper-thread (patchset #18 id:340001 of https://codereview.webrtc.org/3007473002/ )
>
> Reason for revert:
> Breaks google3 project.
>
> Original issue's description:
> > Make RtcEventLogImpl to use a TaskQueue instead of a helper-thread
> >
> > Make RtcEventLogImpl to use a TaskQueue instead of a helper-thread. This will eventually allow us to run multiple log sessions on a single task-queue.
> >
> > BUG=webrtc:8142, webrtc:8143, webrtc:8145
> >
> > Review-Url: https://codereview.webrtc.org/3007473002
> > Cr-Commit-Position: refs/heads/master@{#19666}
> > Committed: f33cee7534
>
> TBR=terelius@webrtc.org,nisse@webrtc.org,eladalon@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:8142, webrtc:8143, webrtc:8145
>
> Review-Url: https://codereview.webrtc.org/3010143002
> Cr-Commit-Position: refs/heads/master@{#19672}
> Committed: 3eac8002db

TBR=terelius@webrtc.org,nisse@webrtc.org,charujain@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:8142, webrtc:8143, webrtc:8145

Review-Url: https://codereview.webrtc.org/3005153002
Cr-Commit-Position: refs/heads/master@{#19690}
2017-09-05 15:15:02 +00:00
mbonadei
9c5e511806 Revert of Decoupling rtc_base from Obj-C code (patchset #1 id:1 of https://codereview.webrtc.org/3004373002/ )
Reason for revert:
It breaks a chromium FYI trybot (the switch from rtc_static_library to rtc_source_set seems to be the problem).

Original issue's description:
> Reland of Decoupling rtc_base from Obj-C code (patchset #1 id:1 of https://codereview.webrtc.org/3008103002/ )
>
> Reason for revert:
> Trying to reland after fixing downstream project.
>
> Original issue's description:
> > Revert of Decoupling rtc_base from Obj-C code (patchset #8 id:140001 of https://codereview.webrtc.org/3001623003/ )
> >
> > Reason for revert:
> > It breaks a downstream project.
> >
> > Original issue's description:
> > > Decoupling rtc_base from Obj-C code
> > >
> > > The goal of this CL is to separate Obj-C/Obj-C++ code from targets which have
> > > also C++ code (see https://bugs.chromium.org/p/webrtc/issues/detail?id=7743
> > > for more information).
> > >
> > > To achieve this we have created 2 targets (rtc_base_objc and rtc_base_generic)
> > > and rtc_base will act as a proxy between these targets (this way we can avoid a
> > > circular dependency between rtc_base_generic and rtc_base_objc).
> > >
> > > BUG=webrtc:7743
> > >
> > > Review-Url: https://codereview.webrtc.org/3001623003
> > > Cr-Commit-Position: refs/heads/master@{#19661}
> > > Committed: a0a5b98937
> >
> > TBR=kjellander@webrtc.org,kwiberg@webrtc.org
> > # Skipping CQ checks because original CL landed less than 1 days ago.
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=webrtc:7743
> >
> > Review-Url: https://codereview.webrtc.org/3008103002
> > Cr-Commit-Position: refs/heads/master@{#19664}
> > Committed: 791a8f611d
>
> TBR=kjellander@webrtc.org,kwiberg@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:7743
>
> Review-Url: https://codereview.webrtc.org/3004373002
> Cr-Commit-Position: refs/heads/master@{#19681}
> Committed: a0c893f324

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

Review-Url: https://codereview.webrtc.org/3007183002
Cr-Commit-Position: refs/heads/master@{#19688}
2017-09-05 12:17:02 +00:00
mbonadei
9c296b3490 Tightening visibility and removing a public_dep.
This CL aligns the visibility and the dependency between the _objc
and the _generic targets to the standard decided in:
https://codereview.webrtc.org/3001623003.

BUG=webrtc:7743

Review-Url: https://codereview.webrtc.org/3010133002
Cr-Commit-Position: refs/heads/master@{#19687}
2017-09-05 12:11:41 +00:00
eladalon
393a9f6926 Avoid construction of unused RtcEventLogNullImpl object
This CL addresses to nits:
1. When event_log_factory_ is not null, there's no need to create a RtcEventLogNullImpl object.
2. Use MakeUnique.

BUG=None

Review-Url: https://codereview.webrtc.org/3012763002
Cr-Commit-Position: refs/heads/master@{#19686}
2017-09-05 11:30:30 +00:00
danilchap
7eb938d4c0 In bwe tests Collect receive statistic using GetReportBlocks collector
instead of GetActiveStatistcian

BUG=webrtc:8016

Review-Url: https://codereview.webrtc.org/2996883002
Cr-Commit-Position: refs/heads/master@{#19685}
2017-09-05 11:02:11 +00:00
mbonadei
2877eaf7fe Tracking rbe tools with a GN target
Files under the tools directory were untracked by GN.

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

BUG=webrtc:7651
NOTRY=True

Review-Url: https://codereview.webrtc.org/2886713002
Cr-Commit-Position: refs/heads/master@{#19683}
2017-09-05 10:01:45 +00:00
oprypin
8ad0e589e7 Move UBSan warnings from a blacklist to the source
This is done to make UBSan testing more convenient in integration with projects using WebRTC

Some blacklist entries were obsolete so don't need a replacement

Also fix one of the warnings (thanks, kwiberg@)

BUG=webrtc:8189, webrtc:5486, webrtc:5491

Review-Url: https://codereview.webrtc.org/3009123002
Cr-Commit-Position: refs/heads/master@{#19682}
2017-09-05 10:00:37 +00:00
mbonadei
a0c893f324 Reland of Decoupling rtc_base from Obj-C code (patchset #1 id:1 of https://codereview.webrtc.org/3008103002/ )
Reason for revert:
Trying to reland after fixing downstream project.

Original issue's description:
> Revert of Decoupling rtc_base from Obj-C code (patchset #8 id:140001 of https://codereview.webrtc.org/3001623003/ )
>
> Reason for revert:
> It breaks a downstream project.
>
> Original issue's description:
> > Decoupling rtc_base from Obj-C code
> >
> > The goal of this CL is to separate Obj-C/Obj-C++ code from targets which have
> > also C++ code (see https://bugs.chromium.org/p/webrtc/issues/detail?id=7743
> > for more information).
> >
> > To achieve this we have created 2 targets (rtc_base_objc and rtc_base_generic)
> > and rtc_base will act as a proxy between these targets (this way we can avoid a
> > circular dependency between rtc_base_generic and rtc_base_objc).
> >
> > BUG=webrtc:7743
> >
> > Review-Url: https://codereview.webrtc.org/3001623003
> > Cr-Commit-Position: refs/heads/master@{#19661}
> > Committed: a0a5b98937
>
> TBR=kjellander@webrtc.org,kwiberg@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:7743
>
> Review-Url: https://codereview.webrtc.org/3008103002
> Cr-Commit-Position: refs/heads/master@{#19664}
> Committed: 791a8f611d

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

Review-Url: https://codereview.webrtc.org/3004373002
Cr-Commit-Position: refs/heads/master@{#19681}
2017-09-05 09:59:26 +00:00
oprypin
31377a2a10 Use flag name without 'no' prefix only if it exists
Before this change it was impossible to use flag names that start with "no", e.g. --noise_file

BUG=webrtc:8202

Review-Url: https://codereview.webrtc.org/3004363002
Cr-Commit-Position: refs/heads/master@{#19678}
2017-09-05 06:56:42 +00:00
kjellander
6af0cbf4b0 Expose less targets in webrtc/rtc_tools in Chromium builds.
This should solve recent linking problems with frame_editor and also speed
up the Chromium build a little.

BUG=None
NOTRY=True

Review-Url: https://codereview.webrtc.org/3006093002
Cr-Commit-Position: refs/heads/master@{#19677}
2017-09-05 06:42:45 +00:00
Zijie He
77b7a1da2d Tests for WindowFinder
This change adds several tests for WindowFinder implmenetations.
One of the tests uses ScreenDrawer to create a foreground window or console
window (on Windows) and ensures WindowFinder can return its window_id().
The other ensures WindowFinder always returns kNullWindowId if the |pos| is out
of the screens.

Bug: webrtc:7950
Change-Id: I0cc8794e201c2fa042ea8e693434f1b0fa05b47a
Reviewed-on: https://chromium-review.googlesource.com/639591
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Commit-Queue: Zijie He <zijiehe@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19676}
2017-09-04 23:36:00 +00:00
Zijie He
7fdf857d26 Attach top-left to DesktopFrames generated by DesktopCapturer implementations
This change attaches top-left to the DesktopFrames generated by DesktopCapturer
implementations. Some implementations won't need to attach the top-left because
of the platform specification, e.g. coordinates in X11 always starts from
(0, 0), and we support only one screen.

After this change, we can use the new MouseCursorMonitor::Create() function in
DesktopCaptureDevice.

Bug: webrtc:7950
Change-Id: I82c24f4dd9451e32afafb6474f82c32cadcb425c
Reviewed-on: https://chromium-review.googlesource.com/644787
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Commit-Queue: Zijie He <zijiehe@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19675}
2017-09-04 23:18:10 +00:00
ehmaldonado
8ab0fd80ad Reland of Trace the stats report as JSON instead of each stat separately. (patchset #1 id:1 of https://codereview.webrtc.org/3001683002/ )
Reason for revert:
Fixed

Original issue's description:
> Revert of Trace the stats report as JSON instead of each stat separately. (patchset #3 id:100001 of https://codereview.webrtc.org/2986453002/ )
>
> Reason for revert:
> It breaks a downstream project.
>
> Original issue's description:
> > Trace the stats report as JSON instead of each stat separately.
> >
> > Trace the whole report as a string instead of each field on it's own. And test that the traces collected are valid.
> >
> > R=tommi@webrtc.org, hbos@webrtc.org
> > BUG=chromium:653087
> >
> > Review-Url: https://codereview.webrtc.org/2986453002
> > Cr-Commit-Position: refs/heads/master@{#19341}
> > Committed: 80c65780e6
>
> TBR=hbos@webrtc.org,tommi@webrtc.org,ehmaldonado@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=chromium:653087
>
> Review-Url: https://codereview.webrtc.org/3001683002
> Cr-Commit-Position: refs/heads/master@{#19344}
> Committed: 3439c89358

BUG=chromium:653087

Review-Url: https://codereview.webrtc.org/3000943002
Cr-Commit-Position: refs/heads/master@{#19673}
2017-09-04 21:35:04 +00:00
charujain
3eac8002db Revert of Make RtcEventLogImpl to use a TaskQueue instead of a helper-thread (patchset #18 id:340001 of https://codereview.webrtc.org/3007473002/ )
Reason for revert:
Breaks google3 project.

Original issue's description:
> Make RtcEventLogImpl to use a TaskQueue instead of a helper-thread
>
> Make RtcEventLogImpl to use a TaskQueue instead of a helper-thread. This will eventually allow us to run multiple log sessions on a single task-queue.
>
> BUG=webrtc:8142, webrtc:8143, webrtc:8145
>
> Review-Url: https://codereview.webrtc.org/3007473002
> Cr-Commit-Position: refs/heads/master@{#19666}
> Committed: f33cee7534

TBR=terelius@webrtc.org,nisse@webrtc.org,eladalon@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:8142, webrtc:8143, webrtc:8145

Review-Url: https://codereview.webrtc.org/3010143002
Cr-Commit-Position: refs/heads/master@{#19672}
2017-09-04 18:06:15 +00:00
henrik.lundin
d56ef80857 RtpToNtpEstimator:: Add a DCHECK to avoid div-by-0
The division that follows the added DCHECK should not be div-by-0,
since when params_.calculated is true, params_.frequency_khz would
have been updated (with something non-zero).

BUG=none

Review-Url: https://codereview.webrtc.org/3006003002
Cr-Commit-Position: refs/heads/master@{#19671}
2017-09-04 16:02:15 +00:00
oprypin
ba09f79ba3 Make UBSan warnings fatal and fix the existing ones
The warnings were (all signed integer overflow):
webrtc/common_audio/signal_processing/levinson_durbin.c:46:25
12 * 268435456 cannot be represented in type 'int'
webrtc/modules/audio_processing/aecm/aecm_core.cc:930:69
522240 * 6115 cannot be represented in type 'int'
webrtc/modules/audio_processing/aecm/aecm_core_c.cc:455:36
72293096 * 50 cannot be represented in type 'int'
webrtc/modules/pacing/alr_detector.cc:70:48
1000000000 * 65 cannot be represented in type 'int'
webrtc/modules/rtp_rtcp/source/rtp_sender.cc:947:20
1929277286 + 321546521 cannot be represented in type 'int'

BUG=webrtc:8195

Review-Url: https://codereview.webrtc.org/3005003002
Cr-Commit-Position: refs/heads/master@{#19670}
2017-09-04 15:32:43 +00:00
mbonadei
edb8429ba3 Tightening visibility and removing a public_dep.
This CL aligns the visibility and the dependency between the _objc
and the _generic targets to the standard decided in:
https://codereview.webrtc.org/3001623003.

BUG=webrtc:7743
NOTRY=True

Review-Url: https://codereview.webrtc.org/3012753003
Cr-Commit-Position: refs/heads/master@{#19668}
2017-09-04 14:58:29 +00:00
ilnik
2e1b40bdf6 Implement googContentType GetStats metric reported on receive side.
Reported per video stream as a string.

BUG=webrtc:8174

Review-Url: https://codereview.webrtc.org/3009793002
Cr-Commit-Position: refs/heads/master@{#19667}
2017-09-04 14:57:17 +00:00
eladalon
f33cee7534 Make RtcEventLogImpl to use a TaskQueue instead of a helper-thread
Make RtcEventLogImpl to use a TaskQueue instead of a helper-thread. This will eventually allow us to run multiple log sessions on a single task-queue.

BUG=webrtc:8142, webrtc:8143, webrtc:8145

Review-Url: https://codereview.webrtc.org/3007473002
Cr-Commit-Position: refs/heads/master@{#19666}
2017-09-04 14:26:14 +00:00
sprang
a8ae6f2aca Add flag enabling more packets to be retransmittable.
If not indicated otherwise, allow adding a packet to the retransmission
history at least every 1/15s in order to reduce frame dropping.

BUG=webrtc:7694

Review-Url: https://codereview.webrtc.org/2999063002
Cr-Commit-Position: refs/heads/master@{#19665}
2017-09-04 14:23:56 +00:00
mbonadei
791a8f611d Revert of Decoupling rtc_base from Obj-C code (patchset #8 id:140001 of https://codereview.webrtc.org/3001623003/ )
Reason for revert:
It breaks a downstream project.

Original issue's description:
> Decoupling rtc_base from Obj-C code
>
> The goal of this CL is to separate Obj-C/Obj-C++ code from targets which have
> also C++ code (see https://bugs.chromium.org/p/webrtc/issues/detail?id=7743
> for more information).
>
> To achieve this we have created 2 targets (rtc_base_objc and rtc_base_generic)
> and rtc_base will act as a proxy between these targets (this way we can avoid a
> circular dependency between rtc_base_generic and rtc_base_objc).
>
> BUG=webrtc:7743
>
> Review-Url: https://codereview.webrtc.org/3001623003
> Cr-Commit-Position: refs/heads/master@{#19661}
> Committed: a0a5b98937

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

Review-Url: https://codereview.webrtc.org/3008103002
Cr-Commit-Position: refs/heads/master@{#19664}
2017-09-04 14:19:15 +00:00
philipel
d4fac6957e Unwrap picture ids in the RtpFrameReferencerFinder.
First CL to avoid working with wrapping picture ids. After the references of
a frame has been determined they are then unwrapped.

BUG=webrtc:7874

Review-Url: https://codereview.webrtc.org/2985283002
Cr-Commit-Position: refs/heads/master@{#19663}
2017-09-04 14:03:46 +00:00
mbonadei
054b108820 Decoupling video_capture_internal_imlp from Obj-C code
The goal of this CL is to separate Obj-C/Obj-C++ code from targets which have
also C++ code (see https://bugs.chromium.org/p/webrtc/issues/detail?id=7743
for more information).

BUG=webrtc:7743
NOTRY=True

Review-Url: https://codereview.webrtc.org/2992953002
Cr-Commit-Position: refs/heads/master@{#19662}
2017-09-04 13:54:54 +00:00
mbonadei
a0a5b98937 Decoupling rtc_base from Obj-C code
The goal of this CL is to separate Obj-C/Obj-C++ code from targets which have
also C++ code (see https://bugs.chromium.org/p/webrtc/issues/detail?id=7743
for more information).

To achieve this we have created 2 targets (rtc_base_objc and rtc_base_generic)
and rtc_base will act as a proxy between these targets (this way we can avoid a
circular dependency between rtc_base_generic and rtc_base_objc).

BUG=webrtc:7743

Review-Url: https://codereview.webrtc.org/3001623003
Cr-Commit-Position: refs/heads/master@{#19661}
2017-09-04 13:49:07 +00:00
kthelgason
0c88a50412 Refactor some loops and remove double iteration.
This CL is a minor refactoring to clean up and modernize some code
in webrtcvideoengine.

BUG=None

Review-Url: https://codereview.webrtc.org/3002213002
Cr-Commit-Position: refs/heads/master@{#19660}
2017-09-04 13:29:23 +00:00
mbonadei
6ff8f96baf Tightening visibility of video_toolbox_cc.
This CL aligns the visibility to the standard decided in:
https://codereview.webrtc.org/3001623003.

BUG=webrtc:7743
NOTRY=True

Review-Url: https://codereview.webrtc.org/3010123002
Cr-Commit-Position: refs/heads/master@{#19659}
2017-09-04 12:51:34 +00:00
kwiberg
529662a44c Move array_view.h to webrtc/api/
We use ArrayView in our public API, so its header should be in
webrtc/api/.

BUG=none

Review-Url: https://codereview.webrtc.org/3007763002
Cr-Commit-Position: refs/heads/master@{#19658}
2017-09-04 12:43:17 +00:00
nisse
2c7b7a633f Delete static method TaskQueue::IsCurrent.
The static method takes a queue name as argument. Used only in one
place, a DCHECK in IncomingVideoStream, which is converted to use
the non-static version of IsCurrent.

BUG=webrtc:8166

Review-Url: https://codereview.webrtc.org/3004873002
Cr-Commit-Position: refs/heads/master@{#19657}
2017-09-04 12:18:21 +00:00
mbonadei
334f9e6a8d Tracking mock_paced_sender.h with a GN target
Untracked headers fly under the 'gn check' radar and in the long term
this can cause problems like unnoticed cyclic dependencies.

This cl creates a synthetic target for this header since no other
targets in webrtc/modules/pacing/BUILD.gn seem to be related to it.

BUG=webrtc:7649
NOTRY=True

Review-Url: https://codereview.webrtc.org/2887593003
Cr-Commit-Position: refs/heads/master@{#19656}
2017-09-04 11:57:11 +00:00
brandtr
83e887cdcb Delete video_quality_measurement.
We don't use it and we don't plan on using it.

BUG=none

Review-Url: https://codereview.webrtc.org/3005993002
Cr-Commit-Position: refs/heads/master@{#19655}
2017-09-04 11:52:31 +00:00
kthelgason
ebd4f7988e Let CreateVideoDecoder take a cricket::VideoCodec.
This makes it possible for decoder factories to actually provide any
video codec, not just the ones WebRTC knows about. It also brings
the decoder factory interface more in line with that of the encoder
factory.

BUG=webrtc:8140

Review-Url: https://codereview.webrtc.org/3007433002
Cr-Commit-Position: refs/heads/master@{#19654}
2017-09-04 11:36:21 +00:00
nisse
3c39c0137a Revert of Use RtxReceiveStream. (patchset #5 id:80001 of https://codereview.webrtc.org/3008773002/ )
Reason for revert:
A few perf tests broken, including

RampUpTest.UpDownUpAbsSendTimeSimulcastRedRtx
RampUpTest.UpDownUpTransportSequenceNumberRtx
RampUpTest.UpDownUpTransportSequenceNumberPacketLoss

Original issue's description:
> Use RtxReceiveStream.
>
> This also has the beneficial side-effect that when a media stream
> which is protected by FlexFEC receives an RTX retransmission, the
> retransmitted media packet is passed into the FlexFEC machinery,
> which should improve its ability to recover packets via FEC.
>
> BUG=webrtc:7135
>
> Review-Url: https://codereview.webrtc.org/3008773002
> Cr-Commit-Position: refs/heads/master@{#19649}
> Committed: 5c0f6c62ea

TBR=brandtr@webrtc.org,danilchap@webrtc.org,stefan@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:7135

Review-Url: https://codereview.webrtc.org/3010983002
Cr-Commit-Position: refs/heads/master@{#19653}
2017-09-04 11:22:15 +00:00
sakal
07a3bd7c4b Bindings for injectable Java video encoders.
BUG=webrtc:7760

Review-Url: https://codereview.webrtc.org/3003873002
Cr-Commit-Position: refs/heads/master@{#19651}
2017-09-04 10:57:21 +00:00
ilnik
75204c5ccd Change reporting of timing frames conditions in GetStats on receive side
Instead of the longest frame since the last GetStats call, the longest
frame received during last 10 seconds should be returned in GetStats().

Previous way is not a good idea because there are maybe several
consumers of GetStats calls. If not all of them parse timing frame
reports, some of them may be lost.

Also, streamline reporting of TimingFrames via GetStats (remove separate
methods and use VideoReceiveStream::Stats struct instead).

BUG=webrtc:7594

Review-Url: https://codereview.webrtc.org/3008983002
Cr-Commit-Position: refs/heads/master@{#19650}
2017-09-04 10:35:40 +00:00
nisse
5c0f6c62ea Use RtxReceiveStream.
This also has the beneficial side-effect that when a media stream
which is protected by FlexFEC receives an RTX retransmission, the
retransmitted media packet is passed into the FlexFEC machinery,
which should improve its ability to recover packets via FEC.

BUG=webrtc:7135

Review-Url: https://codereview.webrtc.org/3008773002
Cr-Commit-Position: refs/heads/master@{#19649}
2017-09-04 10:14:40 +00:00
brandtr
ffbe1cd07e Remove VideoProcessorIntegrationTest::SetTestConfig.
BUG=webrtc:6634

Review-Url: https://codereview.webrtc.org/3004983002
Cr-Commit-Position: refs/heads/master@{#19648}
2017-09-04 10:03:40 +00:00
perkj
1f88531038 Revert of Prepare for injectable SW decoders (patchset #3 id:40001 of https://codereview.webrtc.org/3009973002/ )
Reason for revert:
Tentative revert since it seems to cause problems in Chrome, MAC.

https://build.chromium.org/p/chromium.webrtc.fyi/builders/Mac%20Tester/builds/42684

Original issue's description:
> Prepare for injectable SW decoders
>
> Pretty much mirrors the work done on the encoding side in CLs:
>
> "Clean up ownership of webrtc::VideoEncoder"
> https://codereview.webrtc.org/3007643002/
>
> "Let VideoEncoderSoftwareFallbackWrapper own the wrapped encoder"
> https://codereview.webrtc.org/3007683002/
>
> "WebRtcVideoEngine: Encapsulate logic for unifying internal and external video codecs"
> https://codereview.webrtc.org/3006713002/
>
> BUG=webrtc:7925
>
> Review-Url: https://codereview.webrtc.org/3009973002
> Cr-Commit-Position: refs/heads/master@{#19641}
> Committed: 084c55a63a

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

Review-Url: https://codereview.webrtc.org/3010953002
Cr-Commit-Position: refs/heads/master@{#19647}
2017-09-04 09:43:10 +00:00
minyue-webrtc
bf94fda1e4 Renaming probing_interval to bwe_period globally.
This is a follow up of https://codereview.webrtc.org/2888893002/.

Bug: None
Change-Id: Ia76903858c0a6f2801f14878980e18ae6d3b85e6
Reviewed-on: https://chromium-review.googlesource.com/646020
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Minyue Li (BackIn2018March) <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19644}
2017-09-02 05:00:01 +00:00
Minyue Li
85a3b6b43a Reland "Supporting 48kHz PCM file."
This was first reviewed in https://codereview.webrtc.org/2790493004/.

It got reverted in https://codereview.webrtc.org/2791453004/ due to
upstreaming error.

Bug: None
TBR: niklas.enbom@webrtc.org
Change-Id: Ia5e9bf86e004258b2aa7822bd489d357fcb8f906
Reviewed-on: https://chromium-review.googlesource.com/645634
Reviewed-by: Minyue Li (BackIn2018March) <minyue@webrtc.org>
Commit-Queue: Minyue Li (BackIn2018March) <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19642}
2017-09-01 19:49:24 +00:00
andersc
084c55a63a Prepare for injectable SW decoders
Pretty much mirrors the work done on the encoding side in CLs:

"Clean up ownership of webrtc::VideoEncoder"
https://codereview.webrtc.org/3007643002/

"Let VideoEncoderSoftwareFallbackWrapper own the wrapped encoder"
https://codereview.webrtc.org/3007683002/

"WebRtcVideoEngine: Encapsulate logic for unifying internal and external video codecs"
https://codereview.webrtc.org/3006713002/

BUG=webrtc:7925

Review-Url: https://codereview.webrtc.org/3009973002
Cr-Commit-Position: refs/heads/master@{#19641}
2017-09-01 17:38:15 +00:00
magjed
85d18d43ad ObjC: Add null checks to HW encoder compressionOutputCallback
This will help debugging.

BUG=b/65254613

Review-Url: https://codereview.webrtc.org/3012693002
Cr-Commit-Position: refs/heads/master@{#19640}
2017-09-01 13:32:57 +00:00
Stefan Holmer
1acbd68718 Move RtpExtension to api/ directory and config.h/.cc to call/.
BUG=webrtc:5876
R=deadbeef@webrtc.org, solenberg@webrtc.org

Review-Url: https://codereview.webrtc.org/3004723002 .
Cr-Commit-Position: refs/heads/master@{#19639}
2017-09-01 13:29:30 +00:00
brandtr
12a47f6965 Split up VideoProcessorIntegrationTest files.
Changes made:
* VideoProcessorIntegrationTest definition goes in .h file.
* Member function definitions go into .cc file.
* Tests move to _libvpx.cc and _openh264.cc files.

BUG=webrtc:6634

Review-Url: https://codereview.webrtc.org/3008913002
Cr-Commit-Position: refs/heads/master@{#19637}
2017-09-01 07:10:27 +00:00