Commit graph

666 commits

Author SHA1 Message Date
Niels Möller
67309ef93c Add release callback and reference count to java EncodedImage class
Callback set by HardwareVideoEncoder, and wired to the codec's
releaseOutputBuffer. Intention is to move call of this method to the
destructor of a corresponding C++ class in a followup cl, and
eliminate an allocation and memcpy in the process.

Bug: webrtc:9378
Change-Id: I578480b63b68e6ac7a96cdde36379b3c50f05c3f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/142160
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29283}
2019-09-24 12:26:09 +00:00
henrika
14137a1064 Adds logging of audio sessions status on the recording side in ADM for Android.
Goal is to be able to retrieve more details about possible microphone conflicts in
cases where Init/Start of audio recording fails.

Only supported on Android N and higher.

Also adds new boolean UMA histogram called WebRTC.Audio.SourceMatchesRecordingSession.
Its value is stored after the recording session has been stopped.

Does not affect the media flow or functionality of the ADM. Time to start audio should
not be affected either since the new check and logging takes place on a separate
ExecutorService thread.

See go/webrtc-adm-android for more details and examples.

Bug: webrtc:10971
Change-Id: Ia80c1534e326907a1582824225d5f58caa016922
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150793
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Alex Glaznev <glaznev@webrtc.org>
Reviewed-by: Paulina Hensman <phensman@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29236}
2019-09-19 11:35:10 +00:00
Niels Möller
e942b141d8 New build target api:media_interface
Bug: webrtc:8733
Change-Id: I84bbefb1a5ef8e592db29b79499d60ac80c23464
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/153180
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29234}
2019-09-19 09:32:27 +00:00
Mirko Bonadei
317a1f09ed Use std::make_unique instead of absl::make_unique.
WebRTC is now using C++14 so there is no need to use the Abseil version
of std::make_unique.

This CL has been created with the following steps:

git grep -l absl::make_unique | sort | uniq > /tmp/make_unique.txt
git grep -l absl::WrapUnique | sort | uniq > /tmp/wrap_unique.txt
git grep -l "#include <memory>" | sort | uniq > /tmp/memory.txt

diff --new-line-format="" --unchanged-line-format="" \
  /tmp/make_unique.txt /tmp/wrap_unique.txt | sort | \
  uniq > /tmp/only_make_unique.txt
diff --new-line-format="" --unchanged-line-format="" \
  /tmp/only_make_unique.txt /tmp/memory.txt | \
  xargs grep -l "absl/memory" > /tmp/add-memory.txt

git grep -l "\babsl::make_unique\b" | \
  xargs sed -i "s/\babsl::make_unique\b/std::make_unique/g"

git checkout PRESUBMIT.py abseil-in-webrtc.md

cat /tmp/add-memory.txt | \
  xargs sed -i \
  's/#include "absl\/memory\/memory.h"/#include <memory>/g'
git cl format
# Manual fix order of the new inserted #include <memory>

cat /tmp/only_make_unique | xargs grep -l "#include <memory>" | \
  xargs sed -i '/#include "absl\/memory\/memory.h"/d'

git ls-files | grep BUILD.gn | \
  xargs sed -i '/\/\/third_party\/abseil-cpp\/absl\/memory/d'

python tools_webrtc/gn_check_autofix.py \
  -m tryserver.webrtc -b linux_rel

# Repead the gn_check_autofix step for other platforms

git ls-files | grep BUILD.gn | \
  xargs sed -i 's/absl\/memory:memory/absl\/memory/g'
git cl format

Bug: webrtc:10945
Change-Id: I3fe28ea80f4dd3ba3cf28effd151d5e1f19aff89
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/153221
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29209}
2019-09-17 15:47:29 +00:00
Mirko Bonadei
eaaaf41298 Introduce api/crypto/BUILD.gn.
No-Try: True
Bug: webrtc:8733
Change-Id: I8679735be1e5069e371a9f1115a54e897e09964b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152622
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29186}
2019-09-13 17:21:47 +00:00
henrika
69f8c42d2c [RELAND] Add support of AudioRecord.Builder in the ADM for Android
Now fixed issue which caused http://b/140707892

First version was reverted in https://webrtc-review.googlesource.com/c/src/+/152526.
The mistake I had done in the original version was that I missed that the new
builder could throw a different type of exception and it was never caught.

TBR: glaznev@webrtc.org
Bug: webrtc:10942
Change-Id: I0e11511936d2d25681a1ffae3bbd367095fee7a1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152664
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29164}
2019-09-12 11:44:20 +00:00
Hari Molabanti
a1727db1ac Revert "Add support of AudioRecord.Builder in the ADM for Android"
This reverts commit 24b945d605.

Reason for revert: Caused http://b/140707892

Original change's description:
> Add support of AudioRecord.Builder in the ADM for Android
> 
> Use the latest builder class for AudioRecord instead of the old
> constructor. AudioTrack has been updated for a while now.
> 
> Bug: webrtc:10942
> Change-Id: Ia68b12e5aaf1525cfa630650fbaaa02d70ada15f
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151305
> Reviewed-by: Alex Glaznev <glaznev@webrtc.org>
> Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29072}

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

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

Bug: webrtc:10942
Change-Id: Idbc487cf8d42e76f6a3435be6fef6634aa0cd62b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152526
Reviewed-by: Daixiang Mou <dmou@webrtc.org>
Commit-Queue: Daixiang Mou <dmou@webrtc.org>
Commit-Queue: Hari Molabanti <harimb@google.com>
Cr-Commit-Position: refs/heads/master@{#29159}
2019-09-11 18:37:03 +00:00
henrika
4d6b2691bd Adds setAudio[Track/Record]StateCallback interfaces to the Java ADM
Bug: webrtc:10950
Change-Id: Ifa7bd7eb003bf97812ce0dfa5a0192ee8955419c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151648
Reviewed-by: Alex Glaznev <glaznev@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29107}
2019-09-09 08:10:41 +00:00
henrika
24b945d605 Add support of AudioRecord.Builder in the ADM for Android
Use the latest builder class for AudioRecord instead of the old
constructor. AudioTrack has been updated for a while now.

Bug: webrtc:10942
Change-Id: Ia68b12e5aaf1525cfa630650fbaaa02d70ada15f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151305
Reviewed-by: Alex Glaznev <glaznev@webrtc.org>
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29072}
2019-09-05 07:59:30 +00:00
Qingsi Wang
7cdcda9dd5 Use the sanitized pair when surfacing the candidate pair change event.
TBR=andersc@webrtc.org

Bug: None
Change-Id: Ie2c389fe966dada2768e3222e1f8da74e1715568
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150762
Commit-Queue: Qingsi Wang <qingsi@webrtc.org>
Reviewed-by: Alex Drake <alexdrake@webrtc.org>
Reviewed-by: Alex Glaznev <glaznev@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29052}
2019-09-03 17:17:49 +00:00
Sami Kalliomäki
066b42fa67 Interface for monitoring ref counts of texture buffers created by SurfaceTextureHelper.
Bug: b/139745386
Change-Id: I095d6b2862dac55044af5852098fb1c38e8738cf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150649
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Alex Glaznev <glaznev@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29024}
2019-08-30 10:36:11 +00:00
Alex Narest
44dc241ae8 Allows configuration of playout audio buffer
Playout audio buffer length in Java audio device configuration with fieldtrial.

Bug: webrtc:10928
Change-Id: I79286f09591f4b2c6a6146f23d3dce92a29f6b21
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150657
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Alex Narest <alexnarest@google.com>
Cr-Commit-Position: refs/heads/master@{#29005}
2019-08-29 12:57:14 +00:00
Niels Möller
6dcd4dc56a New target for api/rtp_parameters.h and api/media_types.h.
The new target does not depend on libjingle_peerconnection_api, and to
do this, the named "audio" and "video" string literals had to be moved from
media_stream_interface.cc to media_types.cc.

In this cl, the dependency on libjingle_peerconnection_api can be
dropped from a few targets.

No-Presubmit: True
Bug: webrtc:8733
Change-Id: Icc675280d5c3c537f2255a9389ff18a482049921
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/53861
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28998}
2019-08-29 09:04:32 +00:00
Jonas Oreland
228900f8b1 Add TURN_LOGGING_ID to android sdk
This patch adds support for setting the TURN_LOGGING_ID
in RTCConfig using the android SDK.

TURN_LOGGING_ID was added to webrtc in
https://webrtc-review.googlesource.com/c/src/+/149829

The intended usage of this attribute is to correlate client and
backend logs.

bug: webrtc:10897
Change-Id: Ifd62e0f1dac396942c76a794bf7a75553d3244b7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150538
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28996}
2019-08-29 06:55:42 +00:00
Sami Kalliomäki
fdd2340311 Revert "Detect leaks of TextureBufferImpl objects."
This reverts commit 44bd29a3b0.

Reason for revert:
Going for an alternative implementation that makes this unnecessary
https://webrtc-review.googlesource.com/c/src/+/150649

Original change's description:
> Detect leaks of TextureBufferImpl objects.
>
> The performance cost is not trivial but according to my profiling,
> it is acceptable.
>
> Bug: b/139745386
> Change-Id: I0e63221ccf22e9f6fb32c630ff63a279e765994a
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150539
> Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
> Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#28973}

TBR=sakal@webrtc.org,kthelgason@webrtc.org

Change-Id: Ic6266e5fd24389d41a6d5dbfe51de6505b861b12
Bug: b/139745386
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150650
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28983}
2019-08-28 12:35:04 +00:00
Sami Kalliomäki
44bd29a3b0 Detect leaks of TextureBufferImpl objects.
The performance cost is not trivial but according to my profiling,
it is acceptable.

Bug: b/139745386
Change-Id: I0e63221ccf22e9f6fb32c630ff63a279e765994a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150539
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28973}
2019-08-27 13:53:48 +00:00
Niels Möller
2579f0c584 RTCError as return type for PeerConnectionInterface::SetConfiguration
Bug: None
Change-Id: I6dd7378ceac617e29945d72906cb8e2e0bd49538
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/149166
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28910}
2019-08-20 06:52:05 +00:00
Alex Narest
bbeb10925e Reporting audio device underrun counter
Bug: webrtc:10884
Change-Id: I35636fcbc1e2a19a89242379cdff6ec5c12fd21a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/149200
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Alex Narest <alexnarest@google.com>
Cr-Commit-Position: refs/heads/master@{#28874}
2019-08-16 11:49:55 +00:00
Alex Drake
68c2a565ca Propagating Network Type in Candidate for JNI
Bug: webrtc:10419
Change-Id: I32726c9a4095c998996acdbf00f72de18ed462c4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/149025
Commit-Queue: Alex Drake <alexdrake@google.com>
Reviewed-by: Alex Glaznev <glaznev@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28848}
2019-08-14 00:41:24 +00:00
Alex Drake
43faee09e5 Implement JNI and objc implementation for Ice Candidate Pair Change event surfacing
Bug: webrtc:10419
Change-Id: I18528bf2526e933568bf052de76a434f012161da
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/148320
Commit-Queue: Alex Drake <alexdrake@google.com>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Reviewed-by: Alex Glaznev <glaznev@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28838}
2019-08-12 23:58:50 +00:00
Niels Möller
273e263d25 Delete old placeholder file android_network_monitor_jni.h
Bug: None
Change-Id: If6969becac6a5c478c4753bbb2150a4d4ff3a4a9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/148530
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28816}
2019-08-09 07:43:46 +00:00
Oleh Prypin
b1686786e8 Add RTC_ prefix to non-standard format specifier macro "PRIdNS"
Some of the macros in format_macros.h follow the C standard and try to fill holes in it (on Windows). But this one has no direct equivalent in the standard and is just mimicking the naming convention. That's not nice.

References:
https://devblogs.microsoft.com/cppblog/c99-library-support-in-visual-studio-2013/
https://stackoverflow.com/a/2524673

Change-Id: I53f3faca2976a5b5d4b04a67ffb56ae0f4e930b2
Bug: webrtc:10852
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147862
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28794}
2019-08-07 13:36:05 +00:00
Sami Kalliomäki
9160b627d7 Improve thread safety of AndroidVideoTrackSource::SetState.
1. Prevents deadlocks from AsyncInvoker destructor
2. Makes future state() calls are guaranteed to return the new state after
   SetState() completes.

I am not sure if it is allowed to call FireOnChanged from non-signaling
threads so I will leave the post for now.

Bug: webrtc:10813
Change-Id: I5712a45f71431765898037867382397d537570a0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147727
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28741}
2019-08-02 07:45:45 +00:00
Mirko Bonadei
96ea8c00e7 Roll chromium_revision 67eba1f62b..3c3851d3ca (681379:681486) + JNI fix
Change log: 67eba1f62b..3c3851d3ca
Full diff: 67eba1f62b..3c3851d3ca

This CL also includes all the required updates to remove the jcaller
object from the parameter list of methods that don't need it.

Changed dependencies
* src/base: a0992bdcd3..4ee11af5ff
* src/build: e36ae524d9..4ae7e91430
* src/ios: a87556eeec..429f84ccae
* src/testing: f391f81ac8..313b861b55
* src/third_party: dc1d83593b..dc539d589f
* src/third_party/depot_tools: e3614ad6f5..c10743f873
* src/tools: 97c481e2cf..b74bc013c1
DEPS diff: 67eba1f62b..3c3851d3ca/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

No-Try: True
Change-Id: I284a086d320c2df7a33152098a196f5af813375a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147261
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28698}
2019-07-29 14:08:49 +00:00
Oleh Prypin
ef3eda94a2 Allow using more jni targets on Linux
Bug: None
Change-Id: Ied19f9eb399ef89d4f95028857efe77d3ee54693
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146214
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28618}
2019-07-19 13:31:21 +00:00
Magnus Jedvert
fcf3a87ced Android: Expose setting custom visible fraction values for video layout
Bug: webrtc:10778
Change-Id: Ie189b0980b20031e985935da55aa59ea3ee8b816
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144052
Reviewed-by: Benjamin Wright <benwright@webrtc.org>
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28592}
2019-07-17 22:41:16 +00:00
Oleh Prypin
134aeeec27 Allow using base jni targets on Linux
Change-Id: I227e0dc08b41dd944f0e4193ef68c03848ddcdaa
Bug: None
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145730
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28586}
2019-07-17 11:18:46 +00:00
philipel
0bb0881892 Add VideoEncoderFactory::GetImplementations function.
The GetImplementations function is similar to the GetSupportedFormats function, but instead of providing one SdpVideoFormat per codec it provides one per codec implementation. These SdpVideoFormats can then be tagged so that a certain implementation can be instantiated when CreateVideoEncoder is called.

Bug: webrtc:10795
Change-Id: I79f2380aa03d75d5f9f36138625abf3543c2339d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145215
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28553}
2019-07-12 09:24:47 +00:00
Magnus Jedvert
ecae9cd1a7 Android: Add error callback for GL_OUT_OF_MEMORY in EglRenderer
Encountering GL_OUT_OF_MEMORY is relatively common and we should give
clients a chance to deal with it in a non-fatal way.

Bug: webrtc:8154
Change-Id: Ifa9ca74392f21083692b02a5144dc5632a88d34d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144561
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28495}
2019-07-05 13:04:17 +00:00
Sergey Silkin
3d642f8442 Rename ..BitrateThresholds to ..BitrateLimits.
Bug: webrtc:10798
Change-Id: I1975206323a520b557652760d1d54c01c26a7405
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144540
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28473}
2019-07-03 14:50:46 +00:00
Danil Chapovalov
896f4b666c Use Default instead of GlobalTaskQueueFactory to create AudioDeviceBuffer for android
Bug: webrtc:10284
Change-Id: I979eab78e1841e2b6900d7729159ee69274af8e5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144031
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28425}
2019-07-01 09:43:06 +00:00
Danil Chapovalov
4ba04b7740 Delete RtcEventLogFactory factory as now unused
Bug: webrtc:10206, webrtc:10284
Change-Id: I34fa780f566b52e375ec625bf0d5d02c505d9912
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/143782
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28400}
2019-06-27 10:03:22 +00:00
Niels Möller
e4ac723bdc Delete deprecated version of PeerConnectionFactoryInterface::StartAecDump
Bug: webrtc:6463
Change-Id: Ia60c34f7e1c9f3bb3f18417c7b621ba033e2ab5d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/141668
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28395}
2019-06-27 07:33:59 +00:00
Sergey Silkin
be0adee768 Add resolution bitrate thresholds to EncoderInfo.
When provided, these thresholds will be used instead of WebRTC default
limits specified in DropDueToSize() and GetMaxDefaultVideoBitrateKbps().

Bug: none
Change-Id: Ida45ea832041963b8b8475d69114b5c60a172fb7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/142170
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Alex Glaznev <glaznev@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28390}
2019-06-26 13:51:09 +00:00
Magnus Jedvert
7dd9969547 Android: Expose getDisplaySize() helper function
Bug: b/136037072
Change-Id: Idecfc3b295ae2a060aa8955c86f94677153a161b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/143797
Reviewed-by: Paulina Hensman <phensman@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28383}
2019-06-26 10:53:40 +00:00
Eric Stevenson
0d65fb5451 Mass refactoring: Change JNI #includes to use full paths (webrtc/).
Using relative paths for JNI includes is causing build failures in chromium.

WebRTC already uses full include paths for generated JNI headers, so this CL
just removes the "jni_package" parameter from WebRTC generate_jni() targets
and removes the "jni/" portion of includes. The "jni_package" variable will be
removed from the generate_jni() template shortly.

To fix includes:
find . -name *.cc -exec sed -i -E 's@(#include.+generated.+jni)/jni/(.+_jni.h)@\1/\2@' {} \;

See https://groups.google.com/a/chromium.org/forum/?#!topic/java/MEovGrAwbqI
for discussion on naming scheme.

No-Try: True
TBR: kwiberg@webrtc.org
Bug: chromium:964169
Change-Id: I758c1b41bf6f5005587e55b82f14065fe251baad
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/143521
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28380}
2019-06-26 08:23:14 +00:00
Niels Möller
f03b365875 Reland "Raise IllegalStateException for calls to retain() or release() on zero ref count"
This is a reland of 8a959bfa88

Original change's description:
> Raise IllegalStateException for calls to retain() or release() on zero ref count
> 
> Bug: None
> Change-Id: I3205e77b5adfdc4f5dbd7509d1ca0e8b08af62f2
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/142175
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#28319}

Bug: None
Change-Id: If8fb02ca149257dd29b0c3352347369168a5cef3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/142807
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28372}
2019-06-25 14:42:55 +00:00
Danil Chapovalov
3391072e09 Use DefaultTaskQueueFactory in CreatePeerConnectionFactoryForJava
instead of using components that rely on GlobalTaskQueueFactory

Bug: webrtc:10284
Change-Id: Icf7d1758b7f3ff6277b6a6d1b152715f0ab50969
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/142800
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28367}
2019-06-25 11:12:31 +00:00
Niels Moller
18f1f0c1f5 Revert "Raise IllegalStateException for calls to retain() or release() on zero ref count"
This reverts commit 8a959bfa88.

Reason for revert: Breaks a downstream test.

Original change's description:
> Raise IllegalStateException for calls to retain() or release() on zero ref count
> 
> Bug: None
> Change-Id: I3205e77b5adfdc4f5dbd7509d1ca0e8b08af62f2
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/142175
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#28319}

TBR=sakal@webrtc.org,nisse@webrtc.org

Change-Id: I522cc5264789d8c7088de6df6e47584622265a94
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: None
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/142806
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28320}
2019-06-19 08:50:53 +00:00
Niels Möller
8a959bfa88 Raise IllegalStateException for calls to retain() or release() on zero ref count
Bug: None
Change-Id: I3205e77b5adfdc4f5dbd7509d1ca0e8b08af62f2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/142175
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28319}
2019-06-19 08:00:57 +00:00
Niels Möller
4d504c76cb New interface EncodedImageBufferInterface, replacing use of CopyOnWriteBuffer
Bug: webrtc:9378
Change-Id: I62b7adbd9dd539c545b5b1b1520721482a4623c4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138820
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28317}
2019-06-19 07:02:34 +00:00
Oleh Prypin
4cbb4ef817 Roll chromium_revision 6ae0f0cd4c..bf62d746a4 (669703:669828) + fix AndroidManifest
In https://chromium-review.googlesource.com/1650265 attributes like minSdkVersion were moved from AndroidManifest.xml to GN files. For WebRTC there were a few problems with that.
* We don't want to suppress UsesMinSdkAttributes lint but now there are these "invalid" manifest files that we can't exclude or discern. So disable this lint error.
  https://chromium-review.googlesource.com/c/chromium/src/+/1650265/14/build/android/AndroidManifest.xml
* We should specify the versions in GN files, so I did that here (by exactly copying the versions that are already in the targets' corresponding XML files), but we never want to get rid of them in the XML files. For now this information will just be duplicated (without any synchronicity check!) so there should be followup to this.

Change log: 6ae0f0cd4c..bf62d746a4
Full diff: 6ae0f0cd4c..bf62d746a4

Changed dependencies
* src/base: 9e5e9332df..e5a1d1f652
* src/build: 5a031748ec..2ef566e990
* src/buildtools: 6ae683be2f..6f3775ad6e
* src/buildtools/linux64: git_revision:8c7f49102234f4f4b9349dcb258554675475e596..git_revision:81ee1967d3fcbc829bac1c005c3da59739c88df9
* src/buildtools/mac: git_revision:8c7f49102234f4f4b9349dcb258554675475e596..git_revision:81ee1967d3fcbc829bac1c005c3da59739c88df9
* src/buildtools/win: git_revision:8c7f49102234f4f4b9349dcb258554675475e596..git_revision:81ee1967d3fcbc829bac1c005c3da59739c88df9
* src/ios: 2f5c817266..7f1a97d593
* src/testing: 1d4247de57..b1b36ff0d4
* src/third_party: 6f7cbf7c46..42e96c4074
* src/third_party/android_sdk/public: ki7EDQRAiZAUYlnTWR1XmI6cJTk65fJ-DNZUU1zrtS8C..xhyuoquVvBTcJelgRjMKZeoBVSQRjB7pLVJPt5C9saIC
* src/third_party/android_sdk/public: iIwhhDox5E-mHgwUhCz8JACWQCpUjdqt5KTY9VLugKQC..ppQ4TnqDvBHQ3lXx5KPq97egzF5X2FFyOrVHkGmiTMQC
* src/third_party/android_sdk/public: 4Y2Cb2LGzoc-qt-oIUIlhySotJaKeE3ELFedSVe6Uk8C..MSnxgXN7IurL-MQs1RrTkSFSb8Xd1UtZjLArI8Ty1FgC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/ed9fcf3f70..9e5dbd8b46
* src/tools: f58f33bca1..a9a4b8fc7b
DEPS diff: 6ae0f0cd4c..bf62d746a4/DEPS

No update to Clang.

Bug: chromium:891996
Change-Id: I773d6fa90e8083d934c84eecc1cb9d7d4496eca0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/142235
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28311}
2019-06-18 17:10:06 +00:00
Sami Kalliomäki
e181440316 Fix documentation in BitrateAdjuster.
Bug: webrtc:10700
Change-Id: I743111b1d79d6236de1fd6c0021008f350bf0c67
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/141407
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28303}
2019-06-18 09:20:50 +00:00
Niels Möller
bdb6b39bed Let HardwareVideoEncoder cache result from codec.getOutputBuffers()
Bug: webrtc:9378
Change-Id: I27d6fa9780a0fbb4607ad4d05dabf4414fe6b091
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/142173
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28288}
2019-06-14 14:40:55 +00:00
Sami Kalliomäki
9e25f74faa Update visibility for JNI targets in sdk/android.
Bug: webrtc:9048
Change-Id: I16f77f3bf77e3fdfa8fd9792a6ab13aa872c32f2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/141869
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Paulina Hensman <phensman@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28271}
2019-06-13 16:05:23 +00:00
Niels Möller
6fd67f086c Pass java EncodedImage over jni to VideoEncoderWrapper::OnEncodedFrame
Preparation for adding a release() method on java's EncodedImage, and
call that from C++.

Bug: webrtc:9378
Change-Id: I301f64b16684c535f45a3fc9cd9ae1543df59d92
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/141861
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28268}
2019-06-13 15:19:10 +00:00
Sami Kalliomäki
50dd80b96f Remove data channel only .so-file.
Bug: webrtc:10733
Change-Id: Ia08b9a03e41442f1b0407df575fc9f7d0a1bc86a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/141415
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Paulina Hensman <phensman@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28264}
2019-06-13 13:37:55 +00:00
Elad Alon
370f93a34a Reland "Inform VideoEncoder of negotiated capabilities"
This is a reland of 11dfff0878

Now that I am sure that WebRTC code is not calling the obsolete
versions, I will just remove the NOT_REACHED and call the
new version from the old ones, so as not to trip up downstream
projects.

Original change's description:
> Inform VideoEncoder of negotiated capabilities
>
> After this CL lands, an announcement will be made to
> discuss-webrtc about the deprecation of one version
> of InitEncode().
>
> Bug: webrtc:10720
> Change-Id: Ib992af0272bbb16ae16ef7e69491f365702d179e
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/140884
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Commit-Queue: Elad Alon <eladalon@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#28224}

TBR=sakal@webrtc.org,kwiberg@webrtc.org,sprang@webrtc.org

Bug: webrtc:10720
Change-Id: I46c69e45c190805c07f7e51acbe277d7eebd1600
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/141412
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28236}
2019-06-11 14:49:37 +00:00
Philip Eliasson
49d661a7d3 Revert "Inform VideoEncoder of negotiated capabilities"
This reverts commit 11dfff0878.

Reason for revert: Downstream import failure.

Original change's description:
> Inform VideoEncoder of negotiated capabilities
> 
> After this CL lands, an announcement will be made to
> discuss-webrtc about the deprecation of one version
> of InitEncode().
> 
> Bug: webrtc:10720
> Change-Id: Ib992af0272bbb16ae16ef7e69491f365702d179e
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/140884
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Commit-Queue: Elad Alon <eladalon@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#28224}

TBR=sakal@webrtc.org,kwiberg@webrtc.org,eladalon@webrtc.org,kthelgason@webrtc.org,sprang@webrtc.org

Change-Id: I7f833055c67f1f879b01dd8c156ba7b8840e8747
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10720
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/141411
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28225}
2019-06-11 11:56:04 +00:00
Elad Alon
11dfff0878 Inform VideoEncoder of negotiated capabilities
After this CL lands, an announcement will be made to
discuss-webrtc about the deprecation of one version
of InitEncode().

Bug: webrtc:10720
Change-Id: Ib992af0272bbb16ae16ef7e69491f365702d179e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/140884
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28224}
2019-06-11 11:32:13 +00:00