Before this change we always logged false in WebRTC.Audio.SourceMatchesRecordingSession
even when a test had not been executed (happens e.g. for Android < N).
This issue is now fixed and we only update WebRTC.Audio.SourceMatchesRecordingSession
if a valid test has been performed.
No-Try: True
TBR: glaznev
Bug: webrtc:10971
Change-Id: I907197476f00b812c67bb71e8fdcd6f297cfbdee
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/154563
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29324}
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}
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}
This reverts commit 24b945d60526f8074d0db1329ba20e9b49602794.
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
This is a reland of 11dfff0878c949f2e19d95a0ddc209cdad94b3b4
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}