55 Commits

Author SHA1 Message Date
Mirko Bonadei
9f9e20a3dc Fix errorprone issues preventing Chromium Roll.
Some ErrorProne warnings have been enabled by [1], that broke the
Chromium Roll into WebRTC, this CL should have taken care of all the
problems.

[1] - https://chromium-review.googlesource.com/c/chromium/src/+/1935889

Bug: None
Change-Id: I2670e948c320984a122fdb774b891c98e05f582e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/160862
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29933}
2019-11-27 12:52:48 +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
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
Paulina Hensman
22dab11270 Remove Legacy ADM from AppRTC mobile
The Legacy ADM has remained to be available for testing. Now we are
ready to move on to using only the Java ADM.

Bug: webrtc:7452
Change-Id: Ic95b04b933e165f3c16b587a44384a2c965ef16c
Reviewed-on: https://webrtc-review.googlesource.com/c/123921
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Paulina Hensman <phensman@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26852}
2019-02-26 13:31:14 +00:00
Artem Titarenko
69540f4419 Use android Nullable instead of javax Nullable
This is a propagation of upstream chromium change needed to
resume DEPS autorolls into WebRTC.

Original comment from upstream change:

> This change is made in preparation for an ErrorProne
> check to catch this at compile time. See bug for details.

Bug: chromium:771683
Change-Id: I56aed15f73a633dcadae7ece6c645cd3596f9257
Reviewed-on: https://webrtc-review.googlesource.com/c/113505
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Artem Titarenko <artit@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25951}
2018-12-10 15:03:58 +00:00
Jonas Olsson
f01d8c8d92 Add android bindings for PeerConnectionState.
This change makes it possible for android apps to use the new standards-compliant PeerConnectionState.

Bug: webrtc:9977
Change-Id: Iad19c38e664a59e86879715ec7a04a59a9894bee
Reviewed-on: https://webrtc-review.googlesource.com/c/109883
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25652}
2018-11-15 10:57:26 +00:00
Sami Kalliomäki
3d50a31aad Remove redundant initializers from WebRTC Java code.
Removes redundant field initializers such as null, 0 and false.

Bug: webrtc:9742
Change-Id: I1e54f6c6000885cf95f7af8e2701875a78445497
Reviewed-on: https://webrtc-review.googlesource.com/99481
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24676}
2018-09-11 09:58:10 +00:00
Magnus Jedvert
5a3d87d122 Android: Remove use of deprecated functions related to legacy video codecs
Bug: webrtc:7925
Change-Id: I6728a0ef931ae93ba095965daeeb97925a31b245
Reviewed-on: https://webrtc-review.googlesource.com/88570
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23980}
2018-07-16 09:28:07 +00:00
Sami Kalliomäki
a7a10a8b31 Update examples to use the new VideoCapturer interface.
Bug: webrtc:9496
Change-Id: Ifbf06d644e3758d537757cdbbc7f61bdc0fe270d
Reviewed-on: https://webrtc-review.googlesource.com/87307
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23899}
2018-07-10 09:18:55 +00:00
Paulina Hensman
cf15eb57ff Release ADM after passing it to PCF in AppRTC
Bug: webrtc:7452
Change-Id: I27e560c8f86ebf2df2162f30e5f9e5345ec0ecdb
Reviewed-on: https://webrtc-review.googlesource.com/83122
Commit-Queue: Paulina Hensman <phensman@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23579}
2018-06-12 11:42:41 +00:00
Kári Tristan Helgason
cad94449dd Remove H264 CHP field trial code.
Bug: webrtc:8317
Change-Id: I2da3cc6578dd8ff6e88052bc33cd38cb92af46dc
Reviewed-on: https://webrtc-review.googlesource.com/73242
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23077}
2018-05-02 13:42:37 +00:00
Magnus Jedvert
e987f2b765 Android: Stop using VideoRenderer class
This CL updates the WebRTC code to stop using the old VideoRenderer and
VideoRenderer.I420Frame classes and instead use the new VideoSink and
VideoFrame classes.

This CL is the first step and the old classes are still left in the code
for now to keep backwards compatibility.

Bug: webrtc:9181
Change-Id: Ib0caa18cbaa2758b7859e850ddcaba003cfb06d6
Reviewed-on: https://webrtc-review.googlesource.com/71662
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22989}
2018-04-23 16:04:11 +00:00
Magnus Jedvert
551d11546e Android: Fix PeerConnectionFactory init order in AppRTCMobile
PeerConnectionFactory.initialize() should be the first call before
any other call to the Android WebRTC API. The reason this is important
is mainly because PeerConnectionFactory.initialize() loads the native
C++ code, so all other WebRTC calls that rely on native calls will fail
before this has been done.

Bug: webrtc:7474, webrtc:9153
Change-Id: Id0cb78eaf18ea036f39d616d00ac6e32696266bb
Reviewed-on: https://webrtc-review.googlesource.com/70428
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22954}
2018-04-20 11:35:43 +00:00
Paulina Hensman
98c704fcfd Fix true/false error in AppRTC PeerConnectionClient
Fixes a mismatch between "useHardware" and "disableBuiltIn" when
creating JavaAudioDeviceModule.

Bug: webrtc:7452
Change-Id: Ia5572822dc4514ff9a06811af1bdbb8362a2c71c
Reviewed-on: https://webrtc-review.googlesource.com/69987
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Paulina Hensman <phensman@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22908}
2018-04-17 15:54:03 +00:00
Paulina Hensman
d91f7dfa14 Remove duplicate line in AppRTC PeerConnectionClient
Bug: webrtc:7452
Change-Id: I03c93970979ca04f81b09773c3d15b1e0dd42bc6
Reviewed-on: https://webrtc-review.googlesource.com/69540
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Paulina Hensman <phensman@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22854}
2018-04-13 11:50:38 +00:00
Magnus Jedvert
66f1e9eb34 Android: Add AudioDeviceModule interface and clean up implementation code
This CL introduces sdk/android/api/org/webrtc/audio/AudioDeviceModule.java,
which is the new interface for audio device modules on Android.

This CL also refactors the main AudioDeviceModule implementation, which
is sdk/android/api/org/webrtc/audio/JavaAudioDeviceModule.java and makes
it conform to the new interface. The old code used global static methods
to configure the audio device code. This CL gets rid of all that and uses
a builder pattern in JavaAudioDeviceModule instead. The only two dynamic
methods left in the interface are setSpeakerMute() and setMicrophoneMute().
Removing the global static methods allowed a significant cleanup, and e.g.
the file sdk/android/src/jni/audio_device/audio_manager.cc has been
completely removed.

The PeerConnectionFactory interface is also updated to allow passing in
an external AudioDeviceModule. The current built-in ADM is encapsulated
under LegacyAudioDeviceModule.java, which is the default for now to
ensure backwards compatibility.

Bug: webrtc:7452
Change-Id: I64d5f4dba9a004da001f1acb2bd0c1b1f2b64f21
Reviewed-on: https://webrtc-review.googlesource.com/65360
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Paulina Hensman <phensman@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22765}
2018-04-06 10:13:02 +00:00
Magnus Jedvert
003211c5da Android: Rename AudioDeviceModule to JavaAudioDeviceModule
The class called AudioDeviceModule today is an implementation of a
future interface. We want to reserve the name AudioDeviceModule for
the actual interface. The implementation class has been renamed to
JavaAudioDeviceModule. 'Java' here refers to the fact that the
implementation is using android.media.AudioRecord as input and
android.media.AudioTrack as output, and this is opposed to native
AudioDeviceModule implementations such as OpenSLES and AAudio.

Bug: webrtc:7452
Change-Id: Ifc243c2e169b12a50128ee3252f06d574aa7b358
Reviewed-on: https://webrtc-review.googlesource.com/65400
Reviewed-by: Paulina Hensman <phensman@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22673}
2018-03-29 10:55:37 +00:00
Magnus Jedvert
1a18e0ac46 Android audio code: Replace C++ template with input/output interface
Bug: webrtc:7452
Change-Id: Id816500051e065918bba5c2235d38ad8eb50a8eb
Reviewed-on: https://webrtc-review.googlesource.com/64442
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Paulina Hensman <phensman@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22660}
2018-03-28 19:19:37 +00:00
Magnus Jedvert
b93d030b55 Android: Update RecordedAudioToFileController
This CL refactors the way RecordedAudioToFileController is connected to
AudioRecord. Instead of allowing to dynamically set and update the
AudioSamplesCallback, it's set once at start time and then stopping is
implemented in RecordedAudioToFileController by simply ignoring calls to
onWebRtcAudioRecordSamplesReady.

The reason for this CL is to reduce the amount of methods we need to
add to the future AudioDeviceModule interface. The more functionality
we can move to creation time in the ctor, the less methods we need to
have in the interface.

Bug: webrtc:7452
Change-Id: I462df275d8579c848e1d2c86cbd8e881da89cbf3
Reviewed-on: https://webrtc-review.googlesource.com/64988
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Paulina Hensman <phensman@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22653}
2018-03-28 15:32:26 +00:00
Paulina Hensman
17071682f7 Add setting to switch between new and legacy AudioDeviceModule in AppRTC
To facilitate testing both the old and new AudioDeviceModule path, a
setting is added to AppRTC. Enable "Use legacy audio device" to use
the old path.

Bug: webrtc:7452
Change-Id: I221378ac7bb0fa4e543c3fd081c7a322621621a0
Reviewed-on: https://webrtc-review.googlesource.com/64760
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Paulina Hensman <phensman@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22609}
2018-03-26 14:57:00 +00:00
Sami Kalliomäki
06e363a6e6 Annotate AppRTCMobile with @Nulllable.
Bug: webrtc:8881
Change-Id: I32390b1e2586415757f0453b60d35b23160d2862
Reviewed-on: https://webrtc-review.googlesource.com/63641
Reviewed-by: Paulina Hensman <phensman@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22580}
2018-03-23 12:42:05 +00:00
Paulina Hensman
89dd7bf924 Move android audio device code into sdk/android
This CL adds a stand-alone Android AudioDeviceModule in the
sdk/android folder. It's forked from modules/audio_device/android/
and then simplified for the Android case. The stand-alone Android
ADM is available both in the native_api and also under a field trial
in the Java API.

Bug: webrtc:7452
Change-Id: If6e558026bd0ccb52f56d78ac833339a5789d300
Reviewed-on: https://webrtc-review.googlesource.com/60541
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22517}
2018-03-20 16:04:33 +00:00
Seth Hampson
9a58cc00e0 Update the android AppRTC to use PeerConnection Unified Plan API.
This updates AppRTC to use addTrack instead of addStream, and removes
the use of onAddStream, because we no longer have to wait for this to be
fired to set the remote track's video renderers.

Bug: webrtc:8869
Change-Id: I1ecae684a9bc4b30512e8c5d717e72b52c589831
Reviewed-on: https://webrtc-review.googlesource.com/57840
Commit-Queue: Seth Hampson <shampson@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22318}
2018-03-07 01:56:01 +00:00
Sam Zackrisson
a5797c2bf2 Clean up Android API audio settings
This removes the routing for the deprecated audio control setting

Bug: none
Change-Id: If7a134ee487b80a653ba982768ba74ce2d539e0a
Reviewed-on: https://webrtc-review.googlesource.com/58941
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22288}
2018-03-05 14:10:42 +00:00
henrika
5641fbb5ec Add support for saving local audio input to file in AppRTCMobile
Uses new WebRtcAudioRecordSamplesReadyCallback which was added recently in
https://webrtc-review.googlesource.com/c/src/+/49981.

This CL:
- Serves as a test of new WebRtcAudioRecordSamplesReadyCallback.
- Useful for debugging purposes since it records the most native raw audio.

Bug: None
Change-Id: I57375cbf237c171e045b0bdb05f7ae1401930fbc
Reviewed-on: https://webrtc-review.googlesource.com/53120
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22128}
2018-02-21 14:09:56 +00:00
Qingsi Wang
a4e72b7914 Add RtcEventLog to AppRTCMobile with preference setting.
Enable diagnostic packet and event recording as in the "webrtc-internal"
setting in Chromium.

Bug: webrtc:8859
Change-Id: I1d4a19e0dd60133cdd0d4e18a55780623b65653c
Reviewed-on: https://webrtc-review.googlesource.com/49541
Commit-Queue: Qingsi Wang <qingsi@google.com>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21987}
2018-02-12 19:12:05 +00:00
Sami Kalliomäki
682dc619f2 Conclude VideoFrame emit fieldtrial.
Concludes VideoFrame emit fieldtrial and start producing VideoFrames
by default. Deprecates old onByteBufferFrameCaptured and
onTextureFrameCaptured methods.

Bug: webrtc:8776
Change-Id: Icc224e9f8d89a30f04cf95dd46a498d69cffe9d0
Reviewed-on: https://webrtc-review.googlesource.com/43022
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21866}
2018-02-02 10:20:22 +00:00
Gustaf Ullberg
06c944f035 Fix aecdumps in AppRTC on Android.
This CL fixes an issue where the aecdump file handle gets garbage
collected and closed early in the call.

Bug: webrtc:8822
Change-Id: I959908da164b0ec61ccd976fc52f3d919da11b52
Reviewed-on: https://webrtc-review.googlesource.com/46103
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21839}
2018-02-01 11:02:22 +00:00
Oleh Prypin
e78824ecd0 Suppress ErrorProne StringSplitter warnings
Bug: webrtc:8750
Change-Id: I1ff1bae680659f804c72eab5d14cf9c8c5046b90
Reviewed-on: https://webrtc-review.googlesource.com/39660
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21625}
2018-01-16 08:14:42 +00:00
Sami Kalliomäki
e8b26cd86b Android: Deprecate peerconnection constraints.
C++ API allows passing all configuration through RTCConfiguration
object. This adds all values previously passed through PC constraints
to Java RTCConfiguration object and deprecates API that takes PC
contraints.

Using the deprecated API overrides the values in RTCConfigration
object.

Bug: webrtc:8663, webrtc:8662
Change-Id: I128432c3caba74403513fb1347ff58830c643885
Reviewed-on: https://webrtc-review.googlesource.com/33460
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21357}
2017-12-19 12:23:20 +00:00
Sami Kalliomäki
aea1d1ad3f Android: Fix leaking software video codec instances.
Previously, wrapped native codec instances would leak the native object
if it was never used. This change fixes it by changing getNative method
to createNative.

Also fixes "Video codec hardware acceleration" setting in AppRTCMobile.

Bug: webrtc:7925
Change-Id: I53f6dc1dd5e37dea8d14278423122dede17719c5
Reviewed-on: https://webrtc-review.googlesource.com/24881
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20859}
2017-11-24 09:41:39 +00:00
Sami Kalliomäki
ed1023db0e Android: Disable internal tracer by default.
This is a debug feature and should be disabled by default. Any client
that needs this functionality should call setEnableInternalTracer.

Bug: webrtc:8553
Change-Id: I78d718ebb95fc5cb8c464327b5b36e385ccfa9c0
Reviewed-on: https://webrtc-review.googlesource.com/24540
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20814}
2017-11-21 11:53:57 +00:00
Magnus Jedvert
6062f372c7 Android: Fix warnings
TBR=sakal@webrtc.org

Bug: webrtc:6597,webrtc:8534
Change-Id: I39f96d9e0e6d604051b1cc13368dd44fc82b30b0
Reviewed-on: https://webrtc-review.googlesource.com/23622
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20719}
2017-11-16 18:25:33 +00:00
Anders Carlsson
dc1b9f179a Injectable software codecs for Android.
This is similar to https://webrtc-review.googlesource.com/c/src/+/3620
for iOS.

Using the new WebRtcMediaEngineFactory::Create API, the built-in
software video codecs are no longer appended to the injected codecs.

To be able to use the software codecs, they are exposed as Java
classes through SoftwareVideoEncoderFactory etc.

There is also a new DefaultVideoEncoderFactory used by AppRTCMobile.
This factory tries to use hardware implementations where available,
but falls back to using the injected software codecs.

The HardwareVideoEncoderFactory is temporarily also falling back on
the software codecs in its default configuration in order to
maintain backwards compatibility.

Bug: webrtc:7925
Change-Id: I3e8c5ed492ccd160aca968986ad217d7978a951c
Reviewed-on: https://webrtc-review.googlesource.com/17480
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20647}
2017-11-13 11:59:28 +00:00
Sami Kalliomäki
bde473e4fa Fix/suppress new warnings introduced in Chromium roll.
TBR=henrika@webrtc.org

Bug: webrtc:6597
Change-Id: Id26945a7be05250673b58de8220f78bc62886688
Reviewed-on: https://webrtc-review.googlesource.com/16860
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20477}
2017-10-30 16:10:29 +00:00
henrika
b0576ecc71 Reland of Improves native Android audio implementations
Second attempt to land https://webrtc-review.googlesource.com/c/src/+/15481.
This time with an extra (dummy) interface to ensure that we don't
break downstream clients.

Improves native Android audio implementations.

Bug: webrtc:8453
Change-Id: I659a3013ae523a2588e4c41ca44b7d0d2d65efb7
Reviewed-on: https://webrtc-review.googlesource.com/16425
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20462}
2017-10-27 10:53:20 +00:00
Zhi Huang
0af34ad3fa The onWebRtcAudioTrackStartError is changed in this CL which breaks the internal projects.
Revert "Improves native Android audio implementations."

This reverts commit 92b1ffd0f655e88532cb7313707f300fec911b46.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Improves native Android audio implementations.
> 
> Summary:
> 
> Adds AudioTrackStartErrorCode to separate different types of error
> codes in combination with StartPlayout.
> 
> Harmonizes WebRtcAudioRecord and WebRtcAudioTrack implementations
> to ensure that init/start/stop is performed identically.
> 
> Adds thread checking in WebRtcAudio track.
> 
> Bug: webrtc:8453
> Change-Id: Ic913e888ff9493c9cc748a7b4dae43eb6b37fa85
> Reviewed-on: https://webrtc-review.googlesource.com/15481
> Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
> Reviewed-by: Alex Glaznev <glaznev@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20448}

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

Change-Id: If1d1d9717387a4a8f6d9d6acf7e86ded4c655b5e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8453
Reviewed-on: https://webrtc-review.googlesource.com/16321
Reviewed-by: Zhi Huang <zhihuang@webrtc.org>
Commit-Queue: Zhi Huang <zhihuang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20452}
2017-10-26 21:58:39 +00:00
Sami Kalliomäki
9828bebee6 Fix/suppress all javac warnings.
This is done in preparation to make all javac warnings into errors for
WebRTC targets.

Bug: webrtc:6597
Change-Id: I402043157bd75943adf0de52111e5a1bb179c6d1
Reviewed-on: https://webrtc-review.googlesource.com/15104
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20450}
2017-10-26 15:11:36 +00:00
henrika
92b1ffd0f6 Improves native Android audio implementations.
Summary:

Adds AudioTrackStartErrorCode to separate different types of error
codes in combination with StartPlayout.

Harmonizes WebRtcAudioRecord and WebRtcAudioTrack implementations
to ensure that init/start/stop is performed identically.

Adds thread checking in WebRtcAudio track.

Bug: webrtc:8453
Change-Id: Ic913e888ff9493c9cc748a7b4dae43eb6b37fa85
Reviewed-on: https://webrtc-review.googlesource.com/15481
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Alex Glaznev <glaznev@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20448}
2017-10-26 13:45:36 +00:00
Sami Kalliomäki
2729c16143 Fix some Android lint warnings in AppRTCMobile.
Bug: webrtc:6597
Change-Id: I73e304ff03a5fcb166ff7bca61319904ef495426
Reviewed-on: https://webrtc-review.googlesource.com/15322
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20439}
2017-10-26 07:34:54 +00:00
Sami Kalliomäki
9434240f7e Fix a crash in AppRTCMobile when videoCodec is set to null.
peerConnectionParameters.videoCodec can be null in some cases.
Previously, this would cause a crash in AppRTCMobile.

Bug: b/67938523
Change-Id: I30ebf0f91fad23a3cf34946736b9f4e6c266277f
Reviewed-on: https://webrtc-review.googlesource.com/14200
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20372}
2017-10-20 11:55:03 +00:00
Sami Kalliomäki
ac7be13564 Reland "Reland "Use injectable hardware video decoder/encoder in AppRTCMobile.""
TBR=magjed@webrtc.org

This is a reland of bc675ff3fa71549b0a0fdeca56803b41f4de0f53
Original change's description:
> Reland "Use injectable hardware video decoder/encoder in AppRTCMobile."
> 
> This is a reland of 0cbaf1a6f6ad13a25993f6ea3be931894a196834
> Original change's description:
> > Use injectable hardware video decoder/encoder in AppRTCMobile.
> > 
> > Also include a small fix for getting the encoder queue.
> > 
> > Bug: webrtc:7760
> > Change-Id: I96dc8ffb363b90382276d88148f81d5f89dca5f2
> > Reviewed-on: https://webrtc-review.googlesource.com/2683
> > Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
> > Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#20022}
> 
> Bug: webrtc:7760
> Change-Id: Ia82129fde7abb59120ba5bb23938db9eb576ae91
> Reviewed-on: https://webrtc-review.googlesource.com/4701
> Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
> Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20080}

Bug: webrtc:7760
Change-Id: I5f9bcbf0f18ac3d6b2d2d500300218e885e37d71
Reviewed-on: https://webrtc-review.googlesource.com/9383
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20302}
2017-10-16 08:27:17 +00:00
Sami Kalliomäki
83beaa8cc3 Revert "Reland "Reland "Use injectable hardware video decoder/encoder in AppRTCMobile."""
This reverts commit f0878c98dc158979e9d27404df038e03e59a245c.

Reason for revert: Still fails on Nexus 9.
https://build.chromium.org/p/client.webrtc.perf/builders/Android64%20Tests%20%28L%20Nexus9%29/builds/4540

Original change's description:
> Reland "Reland "Use injectable hardware video decoder/encoder in AppRTCMobile.""
> 
> I couldn't repro the problem locally, speculatively reland to see if the issue
> was solved by recent changes.
> 
> TBR=magjed@webrtc.org
> 
> This is a reland of bc675ff3fa71549b0a0fdeca56803b41f4de0f53
> Original change's description:
> > Reland "Use injectable hardware video decoder/encoder in AppRTCMobile."
> > 
> > This is a reland of 0cbaf1a6f6ad13a25993f6ea3be931894a196834
> > Original change's description:
> > > Use injectable hardware video decoder/encoder in AppRTCMobile.
> > > 
> > > Also include a small fix for getting the encoder queue.
> > > 
> > > Bug: webrtc:7760
> > > Change-Id: I96dc8ffb363b90382276d88148f81d5f89dca5f2
> > > Reviewed-on: https://webrtc-review.googlesource.com/2683
> > > Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
> > > Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> > > Cr-Commit-Position: refs/heads/master@{#20022}
> > 
> > Bug: webrtc:7760
> > Change-Id: Ia82129fde7abb59120ba5bb23938db9eb576ae91
> > Reviewed-on: https://webrtc-review.googlesource.com/4701
> > Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
> > Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#20080}
> 
> Bug: webrtc:7760
> Change-Id: If2131b4cdac58cb4d26521fa31e657e29085e0b7
> Reviewed-on: https://webrtc-review.googlesource.com/6804
> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
> Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20275}

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

Change-Id: I62ef9b21e2540c53bb92b6383aec56be28ee8909
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:7760
Reviewed-on: https://webrtc-review.googlesource.com/9321
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20279}
2017-10-13 11:36:47 +00:00
Sami Kalliomäki
f0878c98dc Reland "Reland "Use injectable hardware video decoder/encoder in AppRTCMobile.""
I couldn't repro the problem locally, speculatively reland to see if the issue
was solved by recent changes.

TBR=magjed@webrtc.org

This is a reland of bc675ff3fa71549b0a0fdeca56803b41f4de0f53
Original change's description:
> Reland "Use injectable hardware video decoder/encoder in AppRTCMobile."
> 
> This is a reland of 0cbaf1a6f6ad13a25993f6ea3be931894a196834
> Original change's description:
> > Use injectable hardware video decoder/encoder in AppRTCMobile.
> > 
> > Also include a small fix for getting the encoder queue.
> > 
> > Bug: webrtc:7760
> > Change-Id: I96dc8ffb363b90382276d88148f81d5f89dca5f2
> > Reviewed-on: https://webrtc-review.googlesource.com/2683
> > Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
> > Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#20022}
> 
> Bug: webrtc:7760
> Change-Id: Ia82129fde7abb59120ba5bb23938db9eb576ae91
> Reviewed-on: https://webrtc-review.googlesource.com/4701
> Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
> Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20080}

Bug: webrtc:7760
Change-Id: If2131b4cdac58cb4d26521fa31e657e29085e0b7
Reviewed-on: https://webrtc-review.googlesource.com/6804
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20275}
2017-10-13 10:18:27 +00:00
Fredrik Solenberg
4332d09028 Reland "Reland "Remove WEBRTC_TRACE.""
This is a reland of 68007e97ec9399125e4be9964af8b0338766cd91
Original change's description:
> Reland "Remove WEBRTC_TRACE."
> 
> This is a reland of 2209b90449473e1df3e0797b6271c7624b41907d
> Original change's description:
> > Remove WEBRTC_TRACE.
> > 
> > Bug: webrtc:5118
> > Change-Id: I0af0f8845ee016fa61d7cecc526e2a672ec8732d
> > Reviewed-on: https://webrtc-review.googlesource.com/5382
> > Reviewed-by: Niels Moller <nisse@webrtc.org>
> > Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
> > Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> > Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#20114}
> 
> Bug: webrtc:5118
> Change-Id: I2d93fd40fcaa251c363bdcfb1c04b834a3a7f0e9
> Reviewed-on: https://webrtc-review.googlesource.com/6000
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20132}

Bug: webrtc:5118
Change-Id: I3b46406899d043c3260fc3195b524138324f7313
Reviewed-on: https://webrtc-review.googlesource.com/6301
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20144}
2017-10-04 14:40:44 +00:00
Fredrik Solenberg
39cefdb3c5 Revert "Reland "Remove WEBRTC_TRACE.""
This reverts commit 68007e97ec9399125e4be9964af8b0338766cd91.

Reason for revert: More downstream breakages.

Original change's description:
> Reland "Remove WEBRTC_TRACE."
> 
> This is a reland of 2209b90449473e1df3e0797b6271c7624b41907d
> Original change's description:
> > Remove WEBRTC_TRACE.
> > 
> > Bug: webrtc:5118
> > Change-Id: I0af0f8845ee016fa61d7cecc526e2a672ec8732d
> > Reviewed-on: https://webrtc-review.googlesource.com/5382
> > Reviewed-by: Niels Moller <nisse@webrtc.org>
> > Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
> > Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> > Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#20114}
> 
> Bug: webrtc:5118
> Change-Id: I2d93fd40fcaa251c363bdcfb1c04b834a3a7f0e9
> Reviewed-on: https://webrtc-review.googlesource.com/6000
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20132}

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

Change-Id: I093ee8c5c997c0dd46b3a3ca0e6271e3ea083d82
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:5118
Reviewed-on: https://webrtc-review.googlesource.com/6320
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20133}
2017-10-04 08:49:49 +00:00
Fredrik Solenberg
68007e97ec Reland "Remove WEBRTC_TRACE."
This is a reland of 2209b90449473e1df3e0797b6271c7624b41907d
Original change's description:
> Remove WEBRTC_TRACE.
> 
> Bug: webrtc:5118
> Change-Id: I0af0f8845ee016fa61d7cecc526e2a672ec8732d
> Reviewed-on: https://webrtc-review.googlesource.com/5382
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20114}

Bug: webrtc:5118
Change-Id: I2d93fd40fcaa251c363bdcfb1c04b834a3a7f0e9
Reviewed-on: https://webrtc-review.googlesource.com/6000
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20132}
2017-10-04 07:57:18 +00:00
Fredrik Solenberg
729b9109ca Revert "Remove WEBRTC_TRACE."
This reverts commit 2209b90449473e1df3e0797b6271c7624b41907d.

Reason for revert: breaks Chromium

Original change's description:
> Remove WEBRTC_TRACE.
> 
> Bug: webrtc:5118
> Change-Id: I0af0f8845ee016fa61d7cecc526e2a672ec8732d
> Reviewed-on: https://webrtc-review.googlesource.com/5382
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20114}

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

Change-Id: Ie54fc05c1d7895c088cba410ed87a7c9a0701427
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:5118
Reviewed-on: https://webrtc-review.googlesource.com/5980
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20115}
2017-10-03 13:39:55 +00:00
Fredrik Solenberg
2209b90449 Remove WEBRTC_TRACE.
Bug: webrtc:5118
Change-Id: I0af0f8845ee016fa61d7cecc526e2a672ec8732d
Reviewed-on: https://webrtc-review.googlesource.com/5382
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20114}
2017-10-03 13:20:48 +00:00
Taylor Brandstetter
88a2e31f66 Revert "Reland "Use injectable hardware video decoder/encoder in AppRTCMobile.""
This reverts commit bc675ff3fa71549b0a0fdeca56803b41f4de0f53.

Reason for revert: Crashing video_quality_loopback_test on Android64 Tests (L Nexus9) buildbot. See bug for more details.

Original change's description:
> Reland "Use injectable hardware video decoder/encoder in AppRTCMobile."
> 
> This is a reland of 0cbaf1a6f6ad13a25993f6ea3be931894a196834
> Original change's description:
> > Use injectable hardware video decoder/encoder in AppRTCMobile.
> > 
> > Also include a small fix for getting the encoder queue.
> > 
> > Bug: webrtc:7760
> > Change-Id: I96dc8ffb363b90382276d88148f81d5f89dca5f2
> > Reviewed-on: https://webrtc-review.googlesource.com/2683
> > Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
> > Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#20022}
> 
> Bug: webrtc:7760
> Change-Id: Ia82129fde7abb59120ba5bb23938db9eb576ae91
> Reviewed-on: https://webrtc-review.googlesource.com/4701
> Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
> Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20080}

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

Change-Id: Iec30e92c1cc5a547bc2d0b74d12554873fba5e26
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:7760
Reviewed-on: https://webrtc-review.googlesource.com/5681
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20096}
2017-10-03 02:54:50 +00:00