Commit Graph

599 Commits

Author SHA1 Message Date
a1cceca02c Remove unused include of <android/log.h>.
Bug: None
Change-Id: I7e9673a1ac455cbab77e07fac47b93f4b96942cb
Reviewed-on: https://webrtc-review.googlesource.com/95646
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24427}
2018-08-24 12:10:22 +00:00
40de15d9a6 Android PeerConnectionFactory: Build without video codecs by default
This change was announced here:
https://groups.google.com/d/msgid/discuss-webrtc/f264646c-8b8f-4243-8748-d9e957d3186f%40googlegroups.com

Bug: webrtc:7925
Change-Id: I5b4e6e733128f2c498c8e4faa912a4ae1238764b
Reviewed-on: https://webrtc-review.googlesource.com/92384
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24410}
2018-08-23 17:51:45 +00:00
f06f923ef0 Delete almost all use of MediaConstraintsInterface in the PeerConnection API
Bug: webrtc:9239
Change-Id: I04f4370f624346bf72c7e4e090b57987b558213b
Reviewed-on: https://webrtc-review.googlesource.com/74420
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24396}
2018-08-23 07:14:37 +00:00
8de502ba11 Add didRemoveReceiver delegate callback.
Bug: None
Change-Id: I7d3badc9005f51a641febd359d037ed37a205101
Reviewed-on: https://webrtc-review.googlesource.com/95241
Commit-Queue: Zeke Chin <tkchin@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24391}
2018-08-22 17:51:03 +00:00
18a86bfcc1 Reland "Default runner to junit4"
This is a reland of 902093493b608a1172248b85510bea291419c6ca
(the breakage was unrelated)

Original change's description:
> Default runner to junit4
>
> Bug: chromium:868610
> Change-Id: Ifc457d8e74cf42e9ba4d21807721f86c521b35e9
> Reviewed-on: https://webrtc-review.googlesource.com/94440
> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Commit-Queue: Andrew Luo <aluo@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#24350}

TBR: phoglund@webrtc.org, sakal@webrtc.org
Cq-Include-Trybots: master.internal.tryserver.corp.webrtc:linux_internal
Bug: chromium:868610
Change-Id: Ie67829ccca8b652b0231952159ddbc1dae6b2cde
Reviewed-on: https://webrtc-review.googlesource.com/95200
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24367}
2018-08-21 17:10:05 +00:00
8d5bc578e5 Revert "Default runner to junit4"
This reverts commit 902093493b608a1172248b85510bea291419c6ca.

Reason for revert: Breaks downstream project

Original change's description:
> Default runner to junit4
>
> Bug: chromium:868610
> Change-Id: Ifc457d8e74cf42e9ba4d21807721f86c521b35e9
> Reviewed-on: https://webrtc-review.googlesource.com/94440
> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
> Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
> Commit-Queue: Andrew Luo <aluo@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#24350}

TBR=phoglund@webrtc.org,sakal@webrtc.org,jbudorick@chromium.org,aluo@chromium.org

Change-Id: Ie972a2500bc15ff95d8c61a0ace681387b657ae7
No-Try: true
Bug: chromium:868610
Reviewed-on: https://webrtc-review.googlesource.com/95060
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@google.com>
Cr-Commit-Position: refs/heads/master@{#24354}
2018-08-21 10:12:45 +00:00
2377588c82 Add accessor methods for RTP timestamp of EncodedImage.
Intention is to make the member private, but downstream callers
must be updated to use the accessor methods first.

Bug: webrtc:9378
Change-Id: I3495bd8d545b7234fbea10abfd14f082caa420b6
Reviewed-on: https://webrtc-review.googlesource.com/82160
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24352}
2018-08-21 09:15:51 +00:00
902093493b Default runner to junit4
Bug: chromium:868610
Change-Id: Ifc457d8e74cf42e9ba4d21807721f86c521b35e9
Reviewed-on: https://webrtc-review.googlesource.com/94440
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Andrew Luo <aluo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#24350}
2018-08-20 19:22:29 +00:00
814f99cf27 Android: Remove deprecated SurfaceTextureHelper methods
This removal was announced here:
https://groups.google.com/d/msgid/discuss-webrtc/4b2cc67f-a39e-444c-9310-d564bf95eaa1%40googlegroups.com

Bug: webrtc:9412
Change-Id: I3bc780d98b9eb5dc54c4d65fcc929f52850762c5
Reviewed-on: https://webrtc-review.googlesource.com/92381
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24342}
2018-08-20 08:47:22 +00:00
be3d455df0 Add RTCCertificate to framework headers.
Bug: webrtc:9498
Change-Id: I3902d73741f78ab58188b0d4c6865afce9eff104
Reviewed-on: https://webrtc-review.googlesource.com/94481
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24305}
2018-08-16 08:40:19 +00:00
ccee56beee Add certificate generate/set functionality to bring iOS closer to JS API
The JS API supports two operations which have never been implemented in
the iOS counterpart:
 - generate a new certificate
 - use this certificate when creating a new PeerConnection

Both functions are illustrated in the generateCertificate example code:
 - https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/generateCertificate

Currently, on iOS, a new certificate is automatically generated for
every PeerConnection with no programmatic way to set a specific
certificate.

Work sponsored by |pipe|

Bug: webrtc:9498
Change-Id: Ic1936c3de8b8bd18aef67c784727b72f90e7157c
Reviewed-on: https://webrtc-review.googlesource.com/87303
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24276}
2018-08-13 22:25:15 +00:00
2ad8c43ae7 Change visibility of some build targets that are publicly used.
Bug: None
Change-Id: I9b0dc56364648ac4d4fa4b8bb67af44700621b24
Reviewed-on: https://webrtc-review.googlesource.com/93282
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24256}
2018-08-10 09:56:51 +00:00
7b87530fcc Android: Allow YuvConverter to be reused
Similar to how GlDrawer and GlTextureFrameBuffer already works, this
CL updates YuvConverter so that it can be reused after release() has
been called. This makes it more convenient to use, it can be stored
in a final variable, and the resources are lazily allocated on first
usage.

Bug: b/112386285
Change-Id: I437c4c3fd414bc8974df75728f33954b28418e3e
Reviewed-on: https://webrtc-review.googlesource.com/93290
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24248}
2018-08-09 12:36:37 +00:00
43fa99c0ab Release output buffer when dropping frame in HardwareVideoDecoder.
Bug: webrtc:9128
Change-Id: I0952367f74eea4603b74d822dc13b231bcba5ff6
Reviewed-on: https://webrtc-review.googlesource.com/68520
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24227}
2018-08-08 11:41:09 +00:00
8e5014a392 Remove definition and usage of macro GTEST_RELATIVE_PATH.
The macro GTEST_RELATIVE_PATH is obsolete and since it is always
defined this CL just removes it.

Bug: webrtc:9564
Change-Id: Ieafa5b77351c4df87864588ba6b3de8f60d54e89
Reviewed-on: https://webrtc-review.googlesource.com/92080
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24226}
2018-08-08 11:00:11 +00:00
c2342031f4 Remove rtc::{Make,Wrap}Unique and their header file + unit tests
We've switched to absl::make_unique and absl::WrapUnique.

Bug: webrtc:9473
Change-Id: I08aef72d52b571c511c0f4adb4c68d6cc2654192
Reviewed-on: https://webrtc-review.googlesource.com/87262
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24225}
2018-08-08 10:45:52 +00:00
a381871dbf Add unit tests for hardware video codecs.
Bug: webrtc:9594
Change-Id: I4529a5123997e0309bde1b931bb6d99bea8c0dfd
Reviewed-on: https://webrtc-review.googlesource.com/92399
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24223}
2018-08-08 09:57:03 +00:00
191f46c5c1 add RTC_EXPORT on RTCRtpTransceiverInit
Bug: webrtc:9592
Change-Id: Icdaf69cf6ab00f299c3b31a43ce30a6b00b9646d
Reviewed-on: https://webrtc-review.googlesource.com/92580
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24216}
2018-08-07 19:09:09 +00:00
5f7d00eb3d Release audio unit when ios audio device failed to initialize playout and recording.
TBR=henrika@webrtc.org

Bug: webrtc:9552
Change-Id: I7c3e0c1c2126603e7b1cc412cb37cac57eb3cdbf
Reviewed-on: https://webrtc-review.googlesource.com/90085
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24209}
2018-08-07 14:34:12 +00:00
508e23421f Remove unnecessary //base:base_java dependencies.
WebRTC code shouldn't depend on Chromium Android base code.

Bug: None
Change-Id: Ie094f26e4ee855769c9c5276bbb47242aae9c217
Reviewed-on: https://webrtc-review.googlesource.com/92387
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24194}
2018-08-06 12:04:35 +00:00
15f0a12b83 Allow releaseCallback to be null in JavaI420Buffer#wrap.
R=magjed

Bug: None
Change-Id: I3d57198dd0b8e0575af61b0dac439e3753a2360a
Reviewed-on: https://webrtc-review.googlesource.com/92386
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24193}
2018-08-06 11:39:52 +00:00
d54f5f5c76 Rename rtc_instrumentation_test_apk targets to end with _test_apk.
This matches Chromium pattern of naming instrumentation test apks with
a name ending in _test_apk. The old naming confuses generate_gradle.py.

Renames:
 - AppRTCMobileTest
   -> AppRTCMobile_test_apk
 - AppRTCMobileTestStubbedVideoIO
   -> AppRTCMobile_stubbed_video_io_test_apk
 - libjingle_peerconnection_android_unittest
   -> android_instrumentation_test_apk

Bug: webrtc:9588
TBR: phoglund
Change-Id: Idb82dc4bd089bc7c90e9373f7c3d572f9fd2d95a
Reviewed-on: https://webrtc-review.googlesource.com/92380
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24184}
2018-08-03 12:44:40 +00:00
0cbe05cc86 Android: Remove custom matrix helper functions in RendererCommon
Bug: webrtc:9487
Change-Id: I2b5720d55cae9684a7ef2b14cabce262a5321ef0
Reviewed-on: https://webrtc-review.googlesource.com/87820
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24183}
2018-08-03 10:57:07 +00:00
9f6450d5a5 JNI generation: Replace base::subtle::AtomicWord with std::atomic<>
This also rolls up //base in DEPS, because it needs to be landed together with
54f759310c

Bug: chromium:867475
Change-Id: I5792cb0610d2df46a9368fd3b1846583aa134b38
Reviewed-on: https://webrtc-review.googlesource.com/90404
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24180}
2018-08-03 08:54:30 +00:00
54bd8f54e9 Remove dead code.
This code never executes as we always get passed a nil codecSpecificInfo.

Bug: webrtc:9580
Change-Id: I5c5311c20877494978df45d409a53ad5b0e86a9b
Reviewed-on: https://webrtc-review.googlesource.com/92083
Reviewed-by: Peter Hanspers <peterhanspers@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24177}
2018-08-03 07:10:14 +00:00
ee1e74fb86 Fix occasional crash in iOS ADM.
RTCNativeAudioSessionDelegateAdapter has a raw pointer to AudioDeviceIOS,
and receives callbacks from RTCAudioSession and forwards them to AudioDeviceIOS.

During teardown of these components the situation can occur that the dtor for
AudioDeviceIOS has been called but the ObjC runtime has not yet dealloced
RTCNativeAudioSessionDelegateAdapter, so it's still receiving callbacks while
the pointer it keeps to AudioDeviceIOS has been invalidated.

This occasionally triggers a crash when WebRTC is shutting down.

The fix in this CL is to make sure to deregister the adapter from RTCAudioSession
_before_ the dtor for AudioDeviceIOS returns.

Bug: webrtc:9523
Change-Id: Ica85420d76efc63940472bc43e3ec71d16036ccf
Reviewed-on: https://webrtc-review.googlesource.com/90245
Reviewed-by: Peter Hanspers <peterhanspers@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24173}
2018-08-02 14:25:37 +00:00
9014324bb1 Support compiling with the lastest iOS SDK.
Bug: None
Change-Id: I2bc4b4f3eba9c5f6b3a94fce076dc575c5be057d
Reviewed-on: https://webrtc-review.googlesource.com/90720
Reviewed-by: Peter Hanspers <peterhanspers@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24163}
2018-08-01 09:17:59 +00:00
f90528673a The pixel buffer pool is currently recreated on every call to encode.
After this change, it is only recreated when needed.

This change also clarifies the relation between the compression
session and the pixel buffer pool, and handles invalid sessions
explicitly.

Change-Id: Iae4aa02b60b0d5c153db3ae2d4cd2a0cfa05757b
Bug: webrtc:9562
Reviewed-on: https://webrtc-review.googlesource.com/90403
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Peter Hanspers <peterhanspers@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24161}
2018-08-01 08:54:24 +00:00
e3a38421cf Include RTCMTLVideoView even on archs without metal.
This makes fixes some weirdness with the order of architectures in
fat binaries, and with the umbrella header generation.

Bug: webrtc:9573
Change-Id: Ibf4318c761da58e724820eba623d37b4739e6860
Reviewed-on: https://webrtc-review.googlesource.com/91421
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24160}
2018-08-01 08:31:30 +00:00
009d096986 Add missing dependencies to sdk/android:native_unittests_java.
Bug: None
Change-Id: I5247263804bc7eb8c2cef687adae645c24464e2f
Reviewed-on: https://webrtc-review.googlesource.com/90869
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24140}
2018-07-30 12:11:59 +00:00
f81ce94176 Remove dependency between source_set and android_library.
GN and ninja were not complaining about this dependency, but C++ code
should not depend on Java code.

Bug: None
Change-Id: Ia7ba04837e6e20e8c3d961bd429a95727aadbf34
Reviewed-on: https://webrtc-review.googlesource.com/90871
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24133}
2018-07-27 14:22:37 +00:00
17aff35e1d Enable clang::find_bad_constructs for sdk/ (part 1).
This CL removes //build/config/clang:find_bad_constructs from the
suppressed_configs list, which means that clang:find_bad_constructs
is now enabled on these translation units.

Bug: webrtc:9251, webrtc:163
Change-Id: I6f03c46e772ccf4d15951a4b9d4e12015d539e58
Reviewed-on: https://webrtc-review.googlesource.com/90408
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24113}
2018-07-26 12:16:31 +00:00
a12c42a6b2 Delete root header file typedef.h.
Usage replaced with stdint.h, rtc_base/system/arch.h and
rtc_base/system/unused.h, as appropriate.

Bug: webrtc:6854
Change-Id: I97225465d14b969903d92979e2df3c3c05d35f18
Reviewed-on: https://webrtc-review.googlesource.com/90249
Reviewed-by: Niklas Enbom <niklas.enbom@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24100}
2018-07-25 14:59:26 +00:00
ae1bceab00 Move cropAndScaleI420 to JavaI420Buffer.
This allows removing JavaI420Buffer from video_api. This is technically
a public method but I don't think anyone is using it so it should be
safe to move.

Bug: webrtc:9048
Change-Id: Id563a3af030497e1a92e09da79ca1ed925e064a3
Reviewed-on: https://webrtc-review.googlesource.com/90250
Reviewed-by: Paulina Hensman <phensman@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24090}
2018-07-25 08:37:47 +00:00
e09e6ef947 Reorder sdk/android/BUILD.gn.
sdk/android/BUILD.gn has grown quite big and some structure is needed.
Since git blame history was already disturbed by a recent CL, this
is a good moment to do this.

This CL doesn't include any functional changes, it just reorders
targets.

Bug: webrtc:9048
Change-Id: I339ccb0da40fdc50b3f3f3b6b085a8cf0f591a1b
Reviewed-on: https://webrtc-review.googlesource.com/90046
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Paulina Hensman <phensman@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24084}
2018-07-24 12:51:41 +00:00
903bd4145f Move VideoCapturer to video_api and cleanup.
This should only be landed after clients have been given time to
upgrade to the new interface.

Bug: webrtc:9496, webrtc:9181
Change-Id: Ideb37637d9f0b9a3a9748811879c263c64f81d11
Reviewed-on: https://webrtc-review.googlesource.com/87308
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Paulina Hensman <phensman@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24080}
2018-07-24 10:38:57 +00:00
25cc8ad198 Fixed issue with BGRA RTCCVPixelBuffer scale and crop
BGRA RTCCVPixelBuffers were cropped and scaled incorrectly. Libyuv’s
`ARGBScale` method is used in RTCCVPixelBuffer to scale and crop the
pixel buffer. To crop by `cropX` and `cropY` pixels, pointer
arithmetic is used to offset the src pointer of the original pixel
buffer bytes. There is a bug in how this offset is calculated.

The offset is done by `src += srcStride * _cropY + _cropX`. Libyuv
expects that the src pointer will point to the start of a new pixel.
However, if _cropX is a not a multiple of 4 (4 bytes for BGRA), the src
pointer will point to a byte in the middle of a pixel and thus libyuv
will incorrectly treat the data as the start of pixel (incorrectly
treating the first byte as red when it is actually green, etc...). To
fix this, the src pointer needs to be offset to always point to the
start of a new pixel.

Before this change:

Original Test Gradient image with a cropX of 2:
https://i.imgur.com/gSIgwGV.jpg

Scaled image (notice the colors are incorrect):
https://i.imgur.com/oPxbTEK.jpg

After this change:

Scaled image (notice the colors are correct):
https://i.imgur.com/dqBsmsH.jpg

A new unit test which tests scaling with cropX and cropY values has been
added. The test fails without this change and now passes with the
correct src pointer offsetting.

Bug: webrtc:9555
Change-Id: I87cbd7b91bc139d51fb4e11cc50ccb014cfa8051
Reviewed-on: https://webrtc-review.googlesource.com/89220
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24076}
2018-07-24 08:23:26 +00:00
da04e06e04 Fix paths that were trying to go above the root by using too many "../.."
This doesn't cause problems because seems like GN just ignores these attempts and confines everything to the root.

Bug: None
Change-Id: Ief50b6e10f3950b319d0bde547f91dcc7f237cda
Reviewed-on: https://webrtc-review.googlesource.com/90041
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24063}
2018-07-23 10:25:03 +00:00
08410e7162 Remove dead code from videoframe.cc.
Removes dead code that was left by a previous cleanup.

Bug: webrtc:9181
Change-Id: Iad7a747b4b394bfe16767229b7840a49a044c516
Reviewed-on: https://webrtc-review.googlesource.com/90042
Reviewed-by: Paulina Hensman <phensman@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24062}
2018-07-23 09:48:53 +00:00
fdc0ef11ad Add is_android guard to all Android rule usages.
Android rules contain `assert is_android`.
This didn't cause any problems only because GN doesn't touch files if they are not referenced from the root BUILD.gn file.

Skipping presubmit because this CL triggers a warning even though it's just adding indentation.

No-Presubmit: True
Bug: None
Change-Id: Ifcb8f0e1d47784ff800507f9d560c68e8f78c717
Reviewed-on: https://webrtc-review.googlesource.com/90040
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24061}
2018-07-23 08:25:43 +00:00
8cf30401eb Adds SSLCertificateVerifier to the Java API.
The native API supports setting an SSLCertificateVerifier that can be used
to provide a custom certificate verifier for incoming SSL certificates. This
change provides this functionality to the Java API so that a Java implementation
can also be provided. It is expected this will only be used in specialized
circumstances and most users will not hit this code path.

Bug: webrtc:9541
Change-Id: Id3c75b8f288333b53edc2959bac533e3ec614978
Reviewed-on: https://webrtc-review.googlesource.com/89500
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24057}
2018-07-20 23:11:52 +00:00
2ffed6d65c Enable clang::find_bad_constructs for sdk/android (part 1/2).
This CL removes //build/config/clang:find_bad_constructs from the
suppressed_configs list, which means that clang:find_bad_constructs
is now enabled on these translation units.

Bug: webrtc:9251, webrtc:163, webrtc:9544
Change-Id: I7c211c4ac6b2e095e4c6594fce09fdb487bb1d9e
Reviewed-on: https://webrtc-review.googlesource.com/89600
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24056}
2018-07-20 21:35:40 +00:00
702f4da4b9 Adds flag to enable AES_GCM from the Java API.
This changeset allows Java API users to enable or disable AES_GCM from the
PeerConnectionFactory.

Bug: chromium:713701
Change-Id: I8798e4eeb6907f8e16a646bfb8a20db510f960c8
Reviewed-on: https://webrtc-review.googlesource.com/89260
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24030}
2018-07-18 22:20:40 +00:00
d0136b8afb Added API to Objective-C PeerConnectionFactoryOptions to enable GCM Ciphers.
This changeset adds the ability for API users to enable or disable GCM Cipher
suites from objective-c.

Bug: chromium:713701
Change-Id: I0ac7b60f55dd56bebbcfb315a542ef4843099802
Reviewed-on: https://webrtc-review.googlesource.com/89263
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24028}
2018-07-18 18:10:26 +00:00
fe68203494 Allow calling SoftwareVideoDecoderFactory#createDecoder(String).
Previously, this would crash with UnsupportedOperationException. Allows
still calling this while the method is deprecated.

Bug: webrtc:9536, webrtc:7925
Change-Id: I7b88cecca7a4e6f505c7211cf2eb576c394973f8
Reviewed-on: https://webrtc-review.googlesource.com/89381
Reviewed-by: Paulina Hensman <phensman@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24025}
2018-07-18 14:50:39 +00:00
e6fcf3ff6c Update CameraCapturer to use the new CapturerObserver.
Full path is specified because otherwise the inner class from
VideoCapturer is used instead.

Bug: webrtc:9496
Change-Id: I122e6525101594863d506eb3c12359b5648d935e
Reviewed-on: https://webrtc-review.googlesource.com/89042
Reviewed-by: Paulina Hensman <phensman@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24006}
2018-07-17 13:31:43 +00:00
e250645ea4 Call callback in IDLE state
In current state, if you want to do something with the capturer (eg. switch to next camera again) it fails with an exception that camera switch is already in progress.

Change-Id: I908eb590b54fdf3346441097b39f1f2a2eb56ce8

Bug: webrtc:9527
Change-Id: I908eb590b54fdf3346441097b39f1f2a2eb56ce8
Reviewed-on: https://webrtc-review.googlesource.com/88700
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23995}
2018-07-17 07:27:37 +00:00
01cee079dc Fixed crash when PCF is destroyed before MediaSource/Track in ObjC
Bug: webrtc:9231
Change-Id: I31b86aa560f4ad230c9a94fedebebf320e0370a4
Reviewed-on: https://webrtc-review.googlesource.com/88221
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23981}
2018-07-16 12:03:16 +00:00
e26ff4b581 Android: Transform legacy codec factories into VideoCodecFactories
We want to have an easy migration path away from MediaCodecVideoEncoder
and MediaCodecVideoDecoder and remove the special treatment of these
in our JNI code. This CL transforms these video codecs into proper
VideoCodecFactories that can be injected in the PeerConnectionFactory
like any other external factory.

To summarize, this CL:
 * Provides a trivial migration path for external clients.
 * Removes special treatment of the legacy factories in our JNI code.

Bug: webrtc:7925
Change-Id: I7ee8a6b0ce5ac0f3dc9c06d1587b8a9e52e0b684
Reviewed-on: https://webrtc-review.googlesource.com/88442
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23972}
2018-07-13 14:39:05 +00:00
e23feeb34e Don't care about H264 profiles when creating Android decoder.
Fixes problem in Android's legacy video decoder factory.

Bug: b/111416606
Change-Id: Id6f26d559e5055eb7808beb600b9550ebd4ca4b7
Reviewed-on: https://webrtc-review.googlesource.com/88560
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23967}
2018-07-13 11:10:15 +00:00