Commit Graph

495 Commits

Author SHA1 Message Date
588c548657 GN rtc_* templates: Set default visibility to webrtc_root + "/*"
This means that by default, targets are visible to everything under
the WebRTC root, but not visible to anything else.

API targets are manually tagged with visibility "*", so that targets
outside the WebRTC tree can see them.

BUG=webrtc:8254

Change-Id: Icdbee6e0d22d93240ff2fb530c8f9dc48e351509
Reviewed-on: https://webrtc-review.googlesource.com/24140
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21548}
2018-01-10 13:08:11 +00:00
81ca3bfb18 Including rtc_base/flags.h after test/gtest.h.
Bug: None
Change-Id: Ic3c0db875902d006935e39139d58dfb842c7a2d6
Reviewed-on: https://webrtc-review.googlesource.com/38180
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21527}
2018-01-09 10:00:33 +00:00
e66572bede Reland "iOS: Save perf results under Documents/perf_result.json"
This will require a manual roll to downstream projects, since
the //test:perf_test target was introduced.

This is a reland of 10a8e7a9b5261a7e3ce19900ba3511be3b5911f8
Original change's description:
> iOS: Save perf results under Documents/perf_result.json
>
> TBR=henrika@webrtc.org
>
> Bug: webrtc:7156
> Change-Id: Ib00992cce0007e0b5c9274340df1a892f810b0c5
> Reviewed-on: https://webrtc-review.googlesource.com/29202
> Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
> Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21244}

R=henrika@webrtc.org, phoglund@webrtc.org

Bug: webrtc:7156
Change-Id: I85fc7bc5fce0894af90017b71b9952b61b523424
Reviewed-on: https://webrtc-review.googlesource.com/37643
Reviewed-by: Patrik Höglund <phoglund@google.com>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21518}
2018-01-08 14:12:42 +00:00
b960e4193e Add missing files to audio_coding
Bug: webrtc:7650
Change-Id: I8d7d8c3998799404ec6283896883d195468cdfdc
Reviewed-on: https://webrtc-review.googlesource.com/37622
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21502}
2018-01-05 14:03:09 +00:00
731082ce7e Reland: Add mock_rtc_event_log.h.
Bug: webrtc:7642
Change-Id: I3f97a8b603e34819e1563b335c1eeb51f89b11ac
Reviewed-on: https://webrtc-review.googlesource.com/37081
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21480}
2018-01-03 08:37:12 +00:00
5a25ab298d Revert "Add mock_rtc_event_log.h."
This reverts commit 63aea46a6e424c35f7df1ec6e702c5eeb704996a.

Reason for revert: 
Breaks Chromium build:
https://logs.chromium.org/v/?s=chromium%2Fbb%2Fchromium.webrtc.fyi%2Fios-simulator%2F6721%2F%2B%2Frecipes%2Fsteps%2Fgenerate_build_files__mb_%2F0%2Fstdout

ERROR at //third_party/webrtc/logging/BUILD.gn:295:5: Can't load input file.
    "../../test:test_support",
    ^------------------------
Unable to load:
  /b/build/slave/mac64/build/src/third_party/test/BUILD.gn
I also checked in the secondary tree for:
  /b/build/slave/mac64/build/src/build/secondary/third_party/test/BUILD.gn

Maybe this should be guarded by an "if (!build_with_chromium)"?

Original change's description:
> Add mock_rtc_event_log.h.
> 
> Bug: webrtc:7642
> Change-Id: Id3aa84d79e5e1a0520a968117cee550c9dd33c16
> Reviewed-on: https://webrtc-review.googlesource.com/37040
> Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21475}

TBR=phoglund@webrtc.org,mbonadei@webrtc.org

Change-Id: Ib49c7812261c46226ec0b7b3c99af2c3a8b78add
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:7642
Reviewed-on: https://webrtc-review.googlesource.com/36981
Reviewed-by: Edward Lemur <ehmaldonado@webrtc.org>
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21477}
2018-01-02 18:26:52 +00:00
63aea46a6e Add mock_rtc_event_log.h.
Bug: webrtc:7642
Change-Id: Id3aa84d79e5e1a0520a968117cee550c9dd33c16
Reviewed-on: https://webrtc-review.googlesource.com/37040
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21475}
2018-01-02 18:11:10 +00:00
91fedfbedf Add missing iSAC headers.
Bug: webrtc:7619
Change-Id: I08df7774ca7e333e84bb5ca97805181f375af942
Reviewed-on: https://webrtc-review.googlesource.com/34647
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21467}
2018-01-02 13:01:11 +00:00
fd7df98826 Fix sign-compare warnings on win_clang
that appear after clang roll at https://webrtc-review.googlesource.com/35741

Bug: None
Change-Id: I31193491f167e21277b9266b4331ea9212fddcbe
Reviewed-on: https://webrtc-review.googlesource.com/35783
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21421}
2017-12-22 08:59:23 +00:00
4e90919ad6 Use generic MessageDigest class instead of MD5 / SHA-1 specific classes.
This allows removing the specific classes in a later CL.

Bug: webrtc:8677
Change-Id: I3b9c1f3191c38e6d31a3de990e2d882505e79adc
Reviewed-on: https://webrtc-review.googlesource.com/35040
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Joachim Bauch <jbauch@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21412}
2017-12-21 12:39:50 +00:00
3e113438b1 Fix circular dependencies in webrtc_common.
One reason for the circular deps is that common_types.h is a
historical dumping ground for various structs and defines that
are believed to be generally useful. I tried moving things out
that did not appear to be used downstream (StreamCounters,
RtpCounters etc) and moved the things that seemed used
(RtpHeader + supporting structs) to a new file api/rtp_headers.h.
This makes their place in the api more clear while moving out
the things that don't belong in the API in the first place.

I had to extract out typedefs.h from webrtc_common to resolve
another circular dependency. I believe checks includes typedefs,
but common depends on checks.

Bug: webrtc:7745
Change-Id: I725d49616b1ec0cdc8b74be7c078f7a4d46f084b
Reviewed-on: https://webrtc-review.googlesource.com/33001
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21295}
2017-12-15 14:33:26 +00:00
712989d86d Revert "Reland "iOS: Save perf results under Documents/perf_result.json""
This reverts commit 8b886bb077d54e2bf6198559557ae97b03023611.

Reason for revert: Breaks downstream projects.

Original change's description:
> Reland "iOS: Save perf results under Documents/perf_result.json"
> 
> This will require a manual roll to downstream projects, since
> the //test:perf_test target was introduced.
> 
> This is a reland of 10a8e7a9b5261a7e3ce19900ba3511be3b5911f8
> Original change's description:
> > iOS: Save perf results under Documents/perf_result.json
> >
> > TBR=henrika@webrtc.org
> >
> > Bug: webrtc:7156
> > Change-Id: Ib00992cce0007e0b5c9274340df1a892f810b0c5
> > Reviewed-on: https://webrtc-review.googlesource.com/29202
> > Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
> > Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
> > Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#21244}
> 
> TBR=henrika@webrtc.org, phoglund@webrtc.org
> 
> No-Try: true
> Bug: webrtc:7156
> Change-Id: Iecdb108f605fd1c98acde4d50ab4f5a7b5f6bfaf
> Reviewed-on: https://webrtc-review.googlesource.com/32761
> Reviewed-by: Edward Lemur <ehmaldonado@webrtc.org>
> Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21252}

TBR=phoglund@webrtc.org,ehmaldonado@webrtc.org,henrika@webrtc.org

Change-Id: If4c72fa61dba3a3157fb9696b7f22664522b9467
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:7156
Reviewed-on: https://webrtc-review.googlesource.com/33040
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21279}
2017-12-14 12:51:15 +00:00
a8005cfd8b Fix circular dependencies between optional, array_view, and rtc_base.
This splits things out of rtc_base and makes dependencies explicit.

Bug: webrtc:6828
Change-Id: Id521896c3c43595349021c857bec216e429a0c8d
Reviewed-on: https://webrtc-review.googlesource.com/32780
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21264}
2017-12-14 06:49:11 +00:00
8b886bb077 Reland "iOS: Save perf results under Documents/perf_result.json"
This will require a manual roll to downstream projects, since
the //test:perf_test target was introduced.

This is a reland of 10a8e7a9b5261a7e3ce19900ba3511be3b5911f8
Original change's description:
> iOS: Save perf results under Documents/perf_result.json
>
> TBR=henrika@webrtc.org
>
> Bug: webrtc:7156
> Change-Id: Ib00992cce0007e0b5c9274340df1a892f810b0c5
> Reviewed-on: https://webrtc-review.googlesource.com/29202
> Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
> Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21244}

TBR=henrika@webrtc.org, phoglund@webrtc.org

No-Try: true
Bug: webrtc:7156
Change-Id: Iecdb108f605fd1c98acde4d50ab4f5a7b5f6bfaf
Reviewed-on: https://webrtc-review.googlesource.com/32761
Reviewed-by: Edward Lemur <ehmaldonado@webrtc.org>
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21252}
2017-12-13 15:16:41 +00:00
d37709b659 Revert "Fix circular dependencies between optional, array_view, and rtc_base."
This reverts commit a9e0924fa7688c4e4558e179c6608ce1093e15f8.

Reason for revert: Breaks because of RTC_LAST_SYSTEM_ERROR

Original change's description:
> Fix circular dependencies between optional, array_view, and rtc_base.
> 
> This splits things out of rtc_base and makes dependencies explicit.
> 
> Bug: webrtc:6828
> Change-Id: Ib813c7bd9e4de7ab015acb917bc09ee7204ba7bd
> Reviewed-on: https://webrtc-review.googlesource.com/31940
> Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21245}

TBR=phoglund@webrtc.org,kwiberg@webrtc.org

Change-Id: I1a5dcf2223f00ae7c46f9f2a12b990ab3a84397d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:6828
Reviewed-on: https://webrtc-review.googlesource.com/32760
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21251}
2017-12-13 14:56:33 +00:00
081c651148 Revert "iOS: Save perf results under Documents/perf_result.json"
This reverts commit 10a8e7a9b5261a7e3ce19900ba3511be3b5911f8.

Reason for revert: Speculative revert for broken downstream project.

Original change's description:
> iOS: Save perf results under Documents/perf_result.json
> 
> TBR=henrika@webrtc.org
> 
> Bug: webrtc:7156
> Change-Id: Ib00992cce0007e0b5c9274340df1a892f810b0c5
> Reviewed-on: https://webrtc-review.googlesource.com/29202
> Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
> Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21244}

TBR=phoglund@webrtc.org,ehmaldonado@webrtc.org,henrika@webrtc.org

Change-Id: Id10bbddbdfad7042a99cb52f44ac0a753c207d3b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:7156
Reviewed-on: https://webrtc-review.googlesource.com/32641
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21247}
2017-12-13 14:26:02 +00:00
a9e0924fa7 Fix circular dependencies between optional, array_view, and rtc_base.
This splits things out of rtc_base and makes dependencies explicit.

Bug: webrtc:6828
Change-Id: Ib813c7bd9e4de7ab015acb917bc09ee7204ba7bd
Reviewed-on: https://webrtc-review.googlesource.com/31940
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21245}
2017-12-13 13:44:21 +00:00
10a8e7a9b5 iOS: Save perf results under Documents/perf_result.json
TBR=henrika@webrtc.org

Bug: webrtc:7156
Change-Id: Ib00992cce0007e0b5c9274340df1a892f810b0c5
Reviewed-on: https://webrtc-review.googlesource.com/29202
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21244}
2017-12-13 13:26:11 +00:00
1c62ffa530 Normalize main(..) routines for WinUWP
In order to support WinUWP platform, all main(..) routines must be normalized to the formal int main(int argc, char* argv[]) form. A platform wrapper main is auto-created linking against the default main(...). This can only work if the linkage is exactly matching the proper formal definition and not a loosely defined main(...) alternative.

Bug: webrtc:8608
Change-Id: I606663aaea7df1792c7c5636279617b8926fa5cc
Reviewed-on: https://webrtc-review.googlesource.com/28721
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21229}
2017-12-12 14:32:56 +00:00
818d910392 Stop using public_deps in logging/.
Bug: webrtc:8603
Change-Id: Id0df997620a27e47067e4b21e4e8db16aec90640
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/30940
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21228}
2017-12-12 13:40:57 +00:00
1a8fffbb01 Restrict visibility in some places where we can get away with doing so
BUG=webrtc:8255

Change-Id: I091a43703b7b7a75406ba58afb505f9b631a5521
Reviewed-on: https://webrtc-review.googlesource.com/10810
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21226}
2017-12-12 12:00:37 +00:00
d95a7ddbff Fix for overflow bug in histogram scaling function in NetEq.
The experimental function that scales the histogram of inter-arrival times in NetEq suffered from an overflow bug. This caused unexpected increases in the calculated target level.

Bug: webrtc:8381
Change-Id: I2af4d22119fdc684b3cac838c9b317959af17a1f
Reviewed-on: https://webrtc-review.googlesource.com/30261
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21213}
2017-12-11 17:01:36 +00:00
32c6ae249f Fix fuzzer-found undefined behavior in webrtc_cng
The computation (x-127) << 8 is undefined for x < 127.
This CL replaces the shift with a multiplication: (x-127) * (1 << 8)

Bug: chromium:793201
Change-Id: I38b40bd88300208a0bfbbd8fe144b0a5b51a48ed
Reviewed-on: https://webrtc-review.googlesource.com/31800
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21205}
2017-12-11 12:47:25 +00:00
f1061c2d90 rtp_encode: Unify the encoder configs somewhat
For uniformity. Uniformity is nice.

Bug: webrtc:2692
Change-Id: Id85e54fa31bf3cc79e73a72805e57d5e3164252f
Reviewed-on: https://webrtc-review.googlesource.com/27400
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21135}
2017-12-07 09:43:17 +00:00
d1d8dfb5c3 Add code to generate python visualization to neteq_rtpplay
This adds a command line flag to generate a python visualization script from neteq_rtpplay.

Bug: webrtc:8614
Change-Id: Ia6f10d7ff0abac6fdbe9302e7f97a8a12a5bb65b
Reviewed-on: https://webrtc-review.googlesource.com/29940
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21116}
2017-12-06 10:52:42 +00:00
a498ae83ac Stop using public_deps in system_wrappers.
TBR=phoglund@webrtc.org

Bug: webrtc:8603
Change-Id: I5e515f0e4dc955a01460d69ba4e21bdfdf152d20
Reviewed-on: https://webrtc-review.googlesource.com/29104
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Edward Lemur <ehmaldonado@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21112}
2017-12-06 08:56:52 +00:00
b5728d9b0f Stop using public_deps in modules/rtp_rtcp.
TBR=phoglund@webrtc.org

Bug: webrtc:8603
Change-Id: I86830df23db3f33a1a26098e639596bd3b86485a
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/29780
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Edward Lemur <ehmaldonado@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21108}
2017-12-06 07:37:52 +00:00
5b86f0a24b Stop using ByteSize (deprecated) to get the size of a proto message.
The method ByteSize has been deprecated [1], this CL switches to
ByteSizeLong.

[1] - https://cs.chromium.org/chromium/src/third_party/protobuf/src/google/protobuf/message_lite.h?l=252&rcl=ac47edd22c481fcfe119769d6b7abf365abea8fa

Bug: None
Change-Id: I1ba622df52f47719a5beda6d230cb603a0163d43
Reviewed-on: https://webrtc-review.googlesource.com/27021
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20952}
2017-11-30 14:27:50 +00:00
ebe62408b5 Fix circular dependency in rtc_event_log.
Bug: webrtc:6828
Change-Id: Ief948b6799455cfda6cb89e2e632f5fd42df0881
Reviewed-on: https://webrtc-review.googlesource.com/25840
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20928}
2017-11-29 10:46:19 +00:00
abbff89b29 Add new UMA metric for NetEq target buffer delay
The UMA metric will log the same information that goes into the
googPreferredJitterBufferMs stat.

Bug: webrtc:8488
Change-Id: I4e4e1e362dd42377105d52d2c4cd49c1ecb1a90d
Reviewed-on: https://webrtc-review.googlesource.com/26740
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20923}
2017-11-29 08:56:29 +00:00
32f64d2ef9 rtp_encode: Fixing bug related to DTX
Bug: webrtc:2692
Change-Id: I7b884b22cab21b9dce77e5599f43431bbc899f5d
Reviewed-on: https://webrtc-review.googlesource.com/26027
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20909}
2017-11-28 12:35:38 +00:00
e9619f8f81 Add a new NetEq decoding unit test for Opus with DTX
This tests NetEq with a stream encoded with Opus using it's internal
DTX/CNG.

Also adding a new resource file which is encoded using Opus with DTX.

Bug: webrtc:8488
Change-Id: Icfba5bc5dc7f9c9d0e637a90f4df674e8ba40358
Reviewed-on: https://webrtc-review.googlesource.com/26028
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20905}
2017-11-28 10:45:38 +00:00
81af414ffb Replacing the legacy tool RTPjitter with a new rtp_jitter
This new tool provides the similar functionality as the legacy tool, but
is implemented using less legacy helpers. It also replaces RTPtimeshift
and RTPchange. The most significant change versus the old RTPjitter tool
is that the new tool takes the timing data in the form of integers in a
text file (instead of the binary data file used by the old tool). This
should make it easier to create custom timing files when needed.

Bug: webrtc:2692
Change-Id: I5e46fe7abdd9ca8c04a04de87555204fca36e287
Reviewed-on: https://webrtc-review.googlesource.com/25700
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20868}
2017-11-24 13:38:59 +00:00
1391bd472c Replacing the legacy tool RTPencode with a new rtp_encode
This new tool provides the same functionality as the legacy tool, but it
is implemented using AudioCodingModule and AudioEncoder APIs instead of
the naked codecs.

Bug: webrtc:2692
Change-Id: I29accd77d4ba5c7b5e1559853cbaf20ee812e6bc
Reviewed-on: https://webrtc-review.googlesource.com/24861
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20857}
2017-11-24 09:05:48 +00:00
e40468ba3d Move some numeric utility code from rtc_base/ to rtc_base/numerics/
Specifically, I'm moving

  safe_compare.h
  safe_conversions.h
  safe_minmax.h

They shouldn't be part of the API, and moving them to an appropriate
subdirectory of rtc_base/ is a good way to keep track of that.

BUG=webrtc:8445

Change-Id: I458531aeb30bcf4291c4bec3bf22a2fffbf054ff
Reviewed-on: https://webrtc-review.googlesource.com/20860
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20829}
2017-11-22 11:21:47 +00:00
eeb2765f6c Implement Opus bandwidth adjustment behind a FieldTrial
Bug: webrtc:8522
Change-Id: I3a32ebfecd27ff74b507c2cee9e16aab17153442
Reviewed-on: https://webrtc-review.googlesource.com/22210
Commit-Queue: Alejandro Luebs <aluebs@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20799}
2017-11-20 20:04:19 +00:00
36de62e830 Avoid flagging Opus DTX frames as speech.
Background: After 20 consecutive DTX frames, Opus encodes the background
noise in a normal frame and then goes back to outputting DTX frames.

Currently all Opus frames are flagged as containing speech.

This CL is has two effects on outgoing Opus packets:
1. DTX frames are flagged as non-speech.
2. A non-DTX frame that follows 20 consecutive DTX frames is flagged as
   non-speech.

Bug: webrtc:8088
Change-Id: Ic36cf8c9d0a34f55ed4e57858362ad91e3897dda
Reviewed-on: https://webrtc-review.googlesource.com/23760
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20794}
2017-11-20 14:53:40 +00:00
156af4ae61 neteq_rtpplay: Add buffer size (target and current) to print-out
Bug: none
Change-Id: Id940471235e9f54e1e46569c74255759a891395d
Reviewed-on: https://webrtc-review.googlesource.com/24100
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20783}
2017-11-20 08:07:30 +00:00
12ab00b4d8 Optional: Use nullopt and implicit construction in /modules/audio_coding
Changes places where we explicitly construct an Optional to instead use
nullopt or the requisite value type only.

This CL was uploaded by git cl split.

R=kwiberg@webrtc.org

Bug: None
Change-Id: I055411a3e521964c81100869a197dd92f5608f1b
Reviewed-on: https://webrtc-review.googlesource.com/23619
Commit-Queue: Oskar Sundbom <ossu@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20728}
2017-11-17 11:58:37 +00:00
61a7b141eb Removing conditional visibility.
Conditional visibility is complex to maintain and it is not well
supported by other build systems.

This CL removes it and falls back on the more relaxed visibility value
("*" in this case).
It is not a problem because the targets that are using conditional
visibility are all marked as "testonly" and this is probably enough to
keep the build graph clean.

Bug: None
Change-Id: I2d2b5ac9a02d08c2863950116db455976ee1459c
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/14902
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20658}
2017-11-13 15:39:11 +00:00
675513b96a Stop using LOG macros in favor of RTC_ prefixed macros.
This CL has been generated with the following script:

for m in PLOG \
  LOG_TAG \
  LOG_GLEM \
  LOG_GLE_EX \
  LOG_GLE \
  LAST_SYSTEM_ERROR \
  LOG_ERRNO_EX \
  LOG_ERRNO \
  LOG_ERR_EX \
  LOG_ERR \
  LOG_V \
  LOG_F \
  LOG_T_F \
  LOG_E \
  LOG_T \
  LOG_CHECK_LEVEL_V \
  LOG_CHECK_LEVEL \
  LOG
do
  git grep -l $m | xargs sed -i "s,\b$m\b,RTC_$m,g"
done
git checkout rtc_base/logging.h
git cl format

Bug: webrtc:8452
Change-Id: I1a53ef3e0a5ef6e244e62b2e012b864914784600
Reviewed-on: https://webrtc-review.googlesource.com/21325
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20617}
2017-11-09 11:56:32 +00:00
180362842a NetEq: Fix a problem with too large delay during codec-internal DTX/CNG
The length of the generated comfort noise is measured with a
counter. A bug in the implementation caused the counter to be reset
not only when a new packet was decoded, but also when NetEq asked the
decoder for more comfort noise without giving it a new packet to
decode. This means that the counter was reset once every 20 ms (in the
case of Opus), and it would never match the gap in timestamps that is
the exit criterion for CNG. This would have resulted in perpetual CNG,
but there is a stop-gap in NetEq. If the buffer level exceeds 4 times
the target level, CNG mode is exited anyway. This is what happens at
the end of every silence period.

With this CL, the bug should be fixed. The fix is wrapped in an
experiment, to allow verifying the fix and the impact of it with real
world data.

Bug: webrtc:8488
Change-Id: Idfc24df780eb2c55dbf08de840e6644e8557a0af
Reviewed-on: https://webrtc-review.googlesource.com/18181
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20551}
2017-11-02 13:09:07 +00:00
eb254b40b3 Don't select audio codecs depending on GN vars build_with_{chromium|mozilla}
BUG=webrtc:8343

Change-Id: I5943006a4da17f72eb88eae9d7ea57574d54f680
Reviewed-on: https://webrtc-review.googlesource.com/9401
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20540}
2017-11-01 18:59:27 +00:00
7275e18439 Hide the internal AudioEncoderOpus class by giving it an "Impl" suffix
We've done this previously with the other audio encoders, but Opus had
to wait until all external users had been updated.

BUG=webrtc:7847

Change-Id: I70422d7b6c715f32a43bee88febcf6b6155e18b3
Reviewed-on: https://webrtc-review.googlesource.com/8000
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20424}
2017-10-25 10:19:06 +00:00
c5ee987d26 Stop using std::tr1
It's all in std now.

Bug: b/67839180
Change-Id: I95fc78e87055f5f7456e4fc1a80779e29e98db3d
Reviewed-on: https://webrtc-review.googlesource.com/14642
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20400}
2017-10-23 22:11:58 +00:00
8731176b92 NetEq: Fix an UBSan error
UBSan will trigger when shifting a negative value. This change avoids
that by replacing "x << 8" with "x * (1 << 8)".

Bug: chromium:666877
Change-Id: Ic89bd98e5a3feff35075df96b104b386cb4d8803
Reviewed-on: https://webrtc-review.googlesource.com/14552
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20387}
2017-10-23 11:56:47 +00:00
b7e1788466 Fixing other unsafe conversions.
The bot "Win (more_configs)" has spotted another unsafe type conversion.

This CL is a follow-up of:
- https://webrtc-review.googlesource.com/c/src/+/12921
- https://webrtc-review.googlesource.com/c/src/+/13122
- https://webrtc-review.googlesource.com/c/src/+/13622

Bug: chromium:759980
Change-Id: I9a4268e7ea938cc85376211b40767fd8465f37fd
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/13623
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20381}
2017-10-23 07:59:39 +00:00
fd7c0a566a Avoid NetEq triggering a Framelength change when receiving an FEC packet.
Internally in NetEq, an FEC packet looks very similar to a split packet, which caused NetEq to miscalculate the frame length of FEC packets. This incorrect framelength calculation was incorrectly handled as a framelength change by NetEq.

Bug: webrtc:8410
Change-Id: Icaea961d055e49d7726b87811881db0b9149805b
Reviewed-on: https://webrtc-review.googlesource.com/12420
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20373}
2017-10-20 11:56:23 +00:00
ea7a3f8225 Fixing unsafe conversion
The bot "Win (more_configs)" has spotted another unsafe type conversion.

This CL is a follow-up of:
- https://webrtc-review.googlesource.com/c/src/+/12921
- https://webrtc-review.googlesource.com/c/src/+/13122

Bug: chromium:759980
Change-Id: I3634c3e20fcd9f4e106914399ac40ca87d4c6137
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/13622
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20349}
2017-10-19 10:59:50 +00:00
737e073f8d Fixing warning C4267 on Win (more_configs).
This is a follow-up of https://webrtc-review.googlesource.com/c/src/+/12921.

Bug: chromium:759980
Change-Id: Ifd39adb6541c0c7e0337f587a8b34b84a07331ed
Reviewed-on: https://webrtc-review.googlesource.com/13122
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20341}
2017-10-19 07:39:22 +00:00