258 Commits

Author SHA1 Message Date
sakal
07a3bd7c4b Bindings for injectable Java video encoders.
BUG=webrtc:7760

Review-Url: https://codereview.webrtc.org/3003873002
Cr-Commit-Position: refs/heads/master@{#19651}
2017-09-04 10:57:21 +00:00
sakal
e172d89f73 Change capture time format to nanoseconds in EncodedImage.
The millisecond field is deprecated and will be removed once the
dependencies have been updated.

BUG=webrtc:7760

Review-Url: https://codereview.webrtc.org/3010623002
Cr-Commit-Position: refs/heads/master@{#19622}
2017-08-31 09:37:28 +00:00
Diogo Real
05ea2b39e0 Deprecate IceServer constructors and update dependencies
Bug: webrtc:8176
Change-Id: I2ebc0edf1776c49c202a181d7597099e9242c0e7
Reviewed-on: https://chromium-review.googlesource.com/642710
Commit-Queue: Diogo Real <diogor@google.com>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19621}
2017-08-31 07:40:55 +00:00
Diogo Real
1dca9d513a Support a user-provided string for the TLS ALPN extension.
Fix source formatting
Add TLS ALPN extension.

Bug: webrtc:8086
Change-Id: I1f28ccd78760d3415e465f734744d2c2f93845e2
Reviewed-on: https://chromium-review.googlesource.com/611150
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Justin Uberti <juberti@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Commit-Queue: Diogo Real <diogor@google.com>
Cr-Commit-Position: refs/heads/master@{#19588}
2017-08-29 20:11:16 +00:00
magjed
a3d4f68fb4 Android: Replace webrtc_jni namespace with nested jni namespace
This CL replaces:
namespace webrtc_jni {
with:
namespace webrtc {
namespace jni {

The main benefit is that we don't have to use the webrtc:: qualifier
inside the jni namespace so we can reduce some clutter.

BUG=None

Review-Url: https://codereview.webrtc.org/3009613002
Cr-Commit-Position: refs/heads/master@{#19569}
2017-08-28 23:24:06 +00:00
sakal
160e32c34f Add support for RGB frames in MediaCodecVideoEncoder.
BUG=webrtc:7749

Review-Url: https://codereview.webrtc.org/3002263002
Cr-Commit-Position: refs/heads/master@{#19554}
2017-08-28 09:41:38 +00:00
magjed
b1c7453bfa Android: Add common function for adding/releasing native reference
This CL introduces common functions for adding and releasing
native references to reduce the number of JNI functions.

BUG=webrtc:8043

Review-Url: https://codereview.webrtc.org/3003213002
Cr-Commit-Position: refs/heads/master@{#19547}
2017-08-27 20:47:20 +00:00
magjed
7eb4082a66 Android: Don't check ref count when releasing PeerConnectionInterface
BUG=webrtc:8043

Review-Url: https://codereview.webrtc.org/3010433002
Cr-Commit-Position: refs/heads/master@{#19539}
2017-08-26 12:57:20 +00:00
magjed
09f3f6eb26 Android: Update convenience macro defining JNI-accessible methods
Update the name of the macro to something more descriptive and use
variable length arguments to make it work better with autoformatting
tools.

BUG=None

Review-Url: https://codereview.webrtc.org/2998403002
Cr-Commit-Position: refs/heads/master@{#19538}
2017-08-26 10:25:43 +00:00
magjed
4781552f60 Android: Expose EglBase.swapBuffers with presentation time
This function is currently only available in EglBase14, which is not in
the api. This CL adds the swapBuffer method to the public EglBase
interface. For EglBase10, the presentation time is just ignored.

BUG=webrtc:8155

Review-Url: https://codereview.webrtc.org/3003843002
Cr-Commit-Position: refs/heads/master@{#19518}
2017-08-25 13:28:00 +00:00
charujain
474accebdb Roll chromium_revision d323a482ee..7114a66134 (494468:497367) manually
* Enable workaround for building Android with C++14.
* Disable build hooks for WebRTC on Android.

Change log: d323a482ee..7114a66134
Full diff: d323a482ee..7114a66134

Changed dependencies:
* src/base: 66d3c08e82..0b41aca75a
* src/build: 2a5e6515a5..a2a451d3c0
* src/buildtools: ceb050498e..5af0a3a8b8
* src/ios: 2085f316c1..0a0ac63bd3
* src/testing: 3127a16731..8a25f55d8b
* src/third_party: b4122f732f..8c0e65fa05
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/f4ecc84644..ae9f0616c5
* src/third_party/catapult: d27175a044..f8acf3b642
* src/third_party/depot_tools: 6d0d04458d..e081cbe5aa
* src/third_party/icu: 98218d1e92..08cb956852
* src/third_party/libvpx/source/libvpx: cbb83ba4aa..6b9c691daf
* src/tools: 5730fb2d3f..3e167a7bd3
DEPS diff: d323a482ee..7114a66134/DEPS

No update to Clang.

TBR=marpan@webrtc.org,
BUG=webrtc:8148
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal

Review-Url: https://codereview.webrtc.org/3003393002
Cr-Commit-Position: refs/heads/master@{#19517}
2017-08-25 13:21:52 +00:00
sakal
6c36dcb324 Fix bugs in HardwareVideoDecoder reinitialization.
Fixes bug where callback is set to null on reinitialization. Also fixes
a race condition where callback can be null in onTextureFrameAvailable.

BUG=webrtc:8124

Review-Url: https://codereview.webrtc.org/3002093002
Cr-Commit-Position: refs/heads/master@{#19493}
2017-08-24 13:03:59 +00:00
kthelgason
1cdddc96fa Make CodecType conversion functions non-optional.
We can't handle no value here anyway and end up setting a default
at each call site. The defaults aren't even the same in each place.

BUG=None

Review-Url: https://codereview.webrtc.org/2998293002
Cr-Commit-Position: refs/heads/master@{#19485}
2017-08-24 10:52:48 +00:00
sakal
91073ae78f Add a field trial to produce VideoFrames in camera capturers.
The field trials enables producing new VideoFrames in camera classes.
This field trial should be enabled if VideoSinks are used.

BUG=webrtc:7749, webrtc:7760

Review-Url: https://codereview.webrtc.org/2984633002
Cr-Commit-Position: refs/heads/master@{#19467}
2017-08-23 15:50:23 +00:00
sakal
c614823fa3 Remove unnecessary release call in EglRenderer.
VideoSink is not assumed to take ownership of the frame, so it is not
necessary to release it unless it is retained for future use.

BUG=webrtc:7749

Review-Url: https://codereview.webrtc.org/3003563002
Cr-Commit-Position: refs/heads/master@{#19440}
2017-08-22 07:21:48 +00:00
sakal
2fe9dfae20 Android: Fix synchronization problems in VideoFrame release.
Also fixes a small bug in EglRenderer where if it was passed a custom
frame, it would leak a reference.

BUG=b/64887218

Review-Url: https://codereview.webrtc.org/3003533002
Cr-Commit-Position: refs/heads/master@{#19432}
2017-08-21 15:02:58 +00:00
sakal
257baf139a Fix a bug where listener custom drawer was ignored in EglRenderer.
BUG=b/64808682

Review-Url: https://codereview.webrtc.org/2995223002
Cr-Commit-Position: refs/heads/master@{#19416}
2017-08-18 18:38:32 +00:00
sakal
84778c74a0 Optimize HardwareVideoDecoder by doing all frame conversions in C++.
BUG=webrtc:7760

Review-Url: https://codereview.webrtc.org/3000153002
Cr-Commit-Position: refs/heads/master@{#19406}
2017-08-18 10:03:29 +00:00
sprang
ba050a6d6d Reland of Add a flags field to video timing extension. (patchset #1 id:1 of https://codereview.webrtc.org/2995953002/ )
Reason for revert:
Create reland CL to add fix to.

Original issue's description:
> Revert of Add a flags field to video timing extension. (patchset #15 id:280001 of https://codereview.webrtc.org/3000753002/ )
>
> Reason for revert:
> Speculative revet for breaking remoting_unittests in fyi bots.
> https://build.chromium.org/p/chromium.webrtc.fyi/waterfall?builder=Win7%20Tester
>
> Original issue's description:
> > Add a flags field to video timing extension.
> >
> > The rtp header extension for video timing shuold have an additional
> > field for signaling metadata, such as what triggered the extension for
> > this particular frame. This will allow separating frames select because
> > of outlier sizes from regular frames, for more accurate stats.
> >
> > This implementation is backwards compatible in that it can read video
> > timing extensions without the new flag field, but it always sends with
> > it included.
> >
> > BUG=webrtc:7594
> >
> > Review-Url: https://codereview.webrtc.org/3000753002
> > Cr-Commit-Position: refs/heads/master@{#19353}
> > Committed: cf5d485e14
>
> TBR=danilchap@webrtc.org,kthelgason@webrtc.org,stefan@webrtc.org,sprang@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:7594
>
> Review-Url: https://codereview.webrtc.org/2995953002
> Cr-Commit-Position: refs/heads/master@{#19360}
> Committed: f0f7378b05

TBR=danilchap@webrtc.org,kthelgason@webrtc.org,stefan@webrtc.org,emircan@google.com
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:7594

Review-Url: https://codereview.webrtc.org/2996153002
Cr-Commit-Position: refs/heads/master@{#19405}
2017-08-18 09:51:12 +00:00
Jonathan Yu
2238441654 Explicitly specify the onFrameAvailable() thread.
We are already asserting in tryDeliverTextureFrame() that we are on the
SurfaceTextureHelper handler thread, but this behavior isn't guaranteed
by Android.

Also updated docs for OnTextureFrameAvailableListener, since other
classes (e.g. capturers) were also asserting that they were called on
the SurfaceTextureHelper thread.

Bug: webrtc:8087, b/64609528
Change-Id: I47148c452f66f24477e438b06ef124a96965853d
Reviewed-on: https://chromium-review.googlesource.com/610495
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Jonathan Yu <yujo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19398}
2017-08-18 00:37:11 +00:00
sakal
7c206b5b6c Fix a reference leak when converting I420 VideoFrame to I420Frame.
BUG=webrtc:7760
NOTRY=True

Review-Url: https://codereview.webrtc.org/2999143002
Cr-Commit-Position: refs/heads/master@{#19380}
2017-08-17 10:56:58 +00:00
sakal
4dee344493 Implement QP parsing in VideoDecoderWrapper.
BUG=webrtc:7760
NOTRY=True

Review-Url: https://codereview.webrtc.org/3000993002
Cr-Commit-Position: refs/heads/master@{#19378}
2017-08-17 09:18:04 +00:00
emircan
f0f7378b05 Revert of Add a flags field to video timing extension. (patchset #15 id:280001 of https://codereview.webrtc.org/3000753002/ )
Reason for revert:
Speculative revet for breaking remoting_unittests in fyi bots.
https://build.chromium.org/p/chromium.webrtc.fyi/waterfall?builder=Win7%20Tester

Original issue's description:
> Add a flags field to video timing extension.
>
> The rtp header extension for video timing shuold have an additional
> field for signaling metadata, such as what triggered the extension for
> this particular frame. This will allow separating frames select because
> of outlier sizes from regular frames, for more accurate stats.
>
> This implementation is backwards compatible in that it can read video
> timing extensions without the new flag field, but it always sends with
> it included.
>
> BUG=webrtc:7594
>
> Review-Url: https://codereview.webrtc.org/3000753002
> Cr-Commit-Position: refs/heads/master@{#19353}
> Committed: cf5d485e14

TBR=danilchap@webrtc.org,kthelgason@webrtc.org,stefan@webrtc.org,sprang@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7594

Review-Url: https://codereview.webrtc.org/2995953002
Cr-Commit-Position: refs/heads/master@{#19360}
2017-08-15 19:31:23 +00:00
sprang
cf5d485e14 Add a flags field to video timing extension.
The rtp header extension for video timing shuold have an additional
field for signaling metadata, such as what triggered the extension for
this particular frame. This will allow separating frames select because
of outlier sizes from regular frames, for more accurate stats.

This implementation is backwards compatible in that it can read video
timing extensions without the new flag field, but it always sends with
it included.

BUG=webrtc:7594

Review-Url: https://codereview.webrtc.org/3000753002
Cr-Commit-Position: refs/heads/master@{#19353}
2017-08-15 12:33:27 +00:00
sakal
6bdcefce80 Add VideoSink interface to SurfaceViewRenderer.
BUG=webrtc:7749, webrtc:7760

Review-Url: https://codereview.webrtc.org/3002563002
Cr-Commit-Position: refs/heads/master@{#19347}
2017-08-15 08:56:02 +00:00
sakal
0ba43b5a20 Add support for adding VideoSinks to VideoTracks.
VideoSinks receive the new kind of VideoFrames and will replace
VideoRenderers. Converting from old texture frames to VideoFrames will
involve conversion to I420 so it is not recommended to use VideoSinks
before all sources produce VideoFrames.

BUG=webrtc:7749, webrtc:7760

Review-Url: https://codereview.webrtc.org/3002553002
Cr-Commit-Position: refs/heads/master@{#19335}
2017-08-14 12:17:49 +00:00
sakal
bf08060971 Update EglRenderer to use lambdas.
BUG=webrtc:8084

Review-Url: https://codereview.webrtc.org/3002433002
Cr-Commit-Position: refs/heads/master@{#19321}
2017-08-11 08:42:43 +00:00
sakal
be910460e0 Add support for capturers to capture VideoFrames.
BUG=webrtc:7749, webrtc:7760

Review-Url: https://codereview.webrtc.org/2982213002
Cr-Commit-Position: refs/heads/master@{#19318}
2017-08-11 07:26:05 +00:00
sakal
b5f5bdc5cb Support Java VideoFrames in MediaCodecVideoEncoder.
BUG=webrtc:7760

Review-Url: https://codereview.webrtc.org/2997663002
Cr-Commit-Position: refs/heads/master@{#19304}
2017-08-10 11:15:42 +00:00
sakal
71a62b9a19 Fix a crash in I420Frame.toString for texture frames.
BUG=webrtc:8073
R=kthelgason

Review-Url: https://codereview.webrtc.org/2997693002
Cr-Commit-Position: refs/heads/master@{#19302}
2017-08-10 09:12:24 +00:00
deadbeef
7a24688f6f Adding comments explaining Java createSender and setTrack methods.
This has been a frequent source of confusion, especially since the
method names don't match anything in the standard exactly.

BUG=None
NOTRY=True

Review-Url: https://codereview.webrtc.org/2994733002
Cr-Commit-Position: refs/heads/master@{#19290}
2017-08-09 15:40:10 +00:00
sakal
5ca60cc91c Implement AndroidVideoBuffer::ToI420.
BUG=webrtc:7749, webrtc:7760

Review-Url: https://codereview.webrtc.org/2991633002
Cr-Commit-Position: refs/heads/master@{#19284}
2017-08-09 12:25:49 +00:00
zstein
d89b0bcc8a JNI wrapper for PeerConnection::SetBitrate.
BUG=webrtc:7395

Review-Url: https://codereview.webrtc.org/2868413004
Cr-Commit-Position: refs/heads/master@{#19243}
2017-08-03 18:11:40 +00:00
deadbeef
0d48c69331 Relanding: Break peerconnection_jni.cc into multiple files, in "pc" directory.
Relanding after adding "androidnetworkmonitor_jni.h" header to jni/
directory, since some clients were including it directly.

This CL breaks peerconnection_jni.cc apart, into one file for each
class. It also moves the methods for converting between C++/Java
structs into "java_native_conversion.cc", and uses a consistent naming
scheme ("JavaToNativeX, NativeToJavaX"). These files go into a new
"pc" directory, of which deadbeef@ is added as an owner.

It also moves some relevant files to the "pc" directory that belong
there: ownedfactoryandthreads, androidnetworkmonitor_jni, and
rtcstatscollectorcallbackwrapper. This directory is intended to hold
all the files that deal with the PeerConnection API specifically, or
related classes (like DataChannel, RtpSender, MediaStreamTrack) that
are tied to it closely.

BUG=webrtc:8055

Review-Url: https://codereview.webrtc.org/2992103002
Cr-Commit-Position: refs/heads/master@{#19241}
2017-08-03 17:20:17 +00:00
zhihuang
1b1daec013 Revert of Break peerconnection_jni.cc into multiple files, in "pc" directory. (patchset #6 id:100001 of https://codereview.webrtc.org/2992103002/ )
Reason for revert:
Borken in the internal projects.

Original issue's description:
> Break peerconnection_jni.cc into multiple files, in "pc" directory.
>
> This CL breaks peerconnection_jni.cc apart, into one file for each
> class. It also moves the methods for converting between C++/Java
> structs into "java_native_conversion.cc", and uses a consistent naming
> scheme ("JavaToNativeX, NativeToJavaX"). These files go into a new
> "pc" directory, of which deadbeef@ is added as an owner.
>
> It also moves some relevant files to the "pc" directory that belong
> there: ownedfactoryandthreads, androidnetworkmonitor_jni, and
> rtcstatscollectorcallbackwrapper. This directory is intended to hold
> all the files that deal with the PeerConnection API specifically, or
> related classes (like DataChannel, RtpSender, MediaStreamTrack) that
> are tied to it closely.
>
> deadbeef@webrtc.org is added as an owner of the new "pc" subdirectory.
>
> BUG=webrtc:8055
>
> Review-Url: https://codereview.webrtc.org/2992103002
> Cr-Commit-Position: refs/heads/master@{#19223}
> Committed: dd7d8f1b60

TBR=magjed@webrtc.org,sakal@webrtc.org,deadbeef@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:8055

Review-Url: https://codereview.webrtc.org/2989323002
Cr-Commit-Position: refs/heads/master@{#19226}
2017-08-03 01:01:05 +00:00
deadbeef
dd7d8f1b60 Break peerconnection_jni.cc into multiple files, in "pc" directory.
This CL breaks peerconnection_jni.cc apart, into one file for each
class. It also moves the methods for converting between C++/Java
structs into "java_native_conversion.cc", and uses a consistent naming
scheme ("JavaToNativeX, NativeToJavaX"). These files go into a new
"pc" directory, of which deadbeef@ is added as an owner.

It also moves some relevant files to the "pc" directory that belong
there: ownedfactoryandthreads, androidnetworkmonitor_jni, and
rtcstatscollectorcallbackwrapper. This directory is intended to hold
all the files that deal with the PeerConnection API specifically, or
related classes (like DataChannel, RtpSender, MediaStreamTrack) that
are tied to it closely.

deadbeef@webrtc.org is added as an owner of the new "pc" subdirectory.

BUG=webrtc:8055

Review-Url: https://codereview.webrtc.org/2992103002
Cr-Commit-Position: refs/heads/master@{#19223}
2017-08-02 22:05:10 +00:00
sakal
836f60cda1 Move matrix from VideoFrame to TextureBuffer.
Previously, the matrix in VideoFrame was used to crop and scale the
frame. This caused complications because webrtc::VideoFrame doesn't
include a matrix. cropAndScale method is added to VideoBuffer class for
cropping and scaling instead.

BUG=webrtc:7749, webrtc:7760

Review-Url: https://codereview.webrtc.org/2990583002
Cr-Commit-Position: refs/heads/master@{#19179}
2017-07-28 14:12:23 +00:00
deadbeef
28e2919cfd Adding Android binding for RTCConfiguration::max_ipv6_networks.
BUG=webrtc:7703

Review-Url: https://codereview.webrtc.org/2984863002
Cr-Commit-Position: refs/heads/master@{#19172}
2017-07-27 16:14:38 +00:00
sakal
9eb3d19ec0 Fix a crash in PeerConnectionFactory.SetVideoHwAccelerationOptions.
BUG=webrtc:8035

Review-Url: https://codereview.webrtc.org/2992523002
Cr-Commit-Position: refs/heads/master@{#19171}
2017-07-27 15:23:58 +00:00
deadbeef
54c721541d Fix issues with NetworkMonitor singleton when used by multiple clients.
When you create multiple "PeerConnectionFactory"s, they end up using
the same NetworkMonitor singleton. But the second one's
"AndroidNetworkMonitor" class (in C++) wasn't getting the expected
network list update, and as a result it wasn't binding sockets to
networks successfully, acting as if the networks didn't exist.

The solution is just to move "updateActiveNetworkList" to
"startMonitoring". This CL also does some other minor
cleanup/refactoring, and fixes a more corner-casey issue where, if the
first PeerConnection is destroyed, the second one would stop receiving
network updates.

BUG=webrtc:7946

Review-Url: https://codereview.webrtc.org/2990693002
Cr-Commit-Position: refs/heads/master@{#19156}
2017-07-26 18:56:49 +00:00
korniltsev.anatoly
f3a48ab6dc Delete unused field from AndroidVideoTrackSource
BUG=None

Review-Url: https://codereview.webrtc.org/2974713002
Cr-Commit-Position: refs/heads/master@{#19117}
2017-07-24 08:06:39 +00:00
sakal
8ac955be2c Set target API to 18 for MediaCodecUtils.
Target API 18 is needed for texture mode encoding.

BUG=None

Review-Url: https://codereview.webrtc.org/2982403002
Cr-Commit-Position: refs/heads/master@{#19107}
2017-07-21 10:30:02 +00:00
ehmaldonado
f6a861ab6c Remove remains of webrtc/base
All downstream code have been updated to the new location.

In PRESUBMIT.py:
* Remove webrtc/rtc_base from CPP_BLACKLIST
* Add webrtc/rtc_base to LEGACY_API_DIRS

Fix some duplicated paths in
webrtc/modules/audio_processing/test/conversational_speech/BUILD.gn

BUG=webrtc:7634
TBR=kwiberg@webrtc.org

Review-Url: https://codereview.webrtc.org/2976293002
Cr-Commit-Position: refs/heads/master@{#19094}
2017-07-19 17:40:47 +00:00
sakal
9c0e0fa687 Fix fromAndroidGraphicsMatrix to use column-major order for output.
BUG=webrtc:7760

Review-Url: https://codereview.webrtc.org/2976423002
Cr-Commit-Position: refs/heads/master@{#19089}
2017-07-19 08:24:55 +00:00
Bjorn Mellem
0cf9a4a482 Add texture support to HardwareVideoEncoder.
HardwareVideoEncoderFactory can now take an EglBase.Context on creation.
When it does, it creates video encoders in texture mode.  It uses the
COLOR_FormatSurface colorFormat.  It passes the EglBase.Context to the
HardwareVideoEncoder.

The HardwareVideoEncoder sets up an input surface for its codec and handles
incoming frames by drawing them onto the input surface.

BUG=webrtc:7760
R=pthatcher@webrtc.org, sakal@webrtc.org

Review-Url: https://codereview.webrtc.org/2977153003 .
Cr-Commit-Position: refs/heads/master@{#19083}
2017-07-18 20:19:27 +00:00
Bjorn Mellem
8fb23618d8 Add texture support to HardwareVideoDecoder.
HardwareVideoDecoder is now a listener for SurfaceTextureHelper.  It takes a
SurfaceTextureHelper on construction.  If it is non-null, it operates in texture
mode instead of byte-buffer mode.

When in texture mode, the HardwareVideoDecoder renders output frames to a Surface,
listens for the texture frame to become available, wraps it in a VideoFrame, and
pushes it to the decoder callback.

As in MediaCodecVideoDecoder, it may queue up to three buffers while waiting for
the surface to become available for rendering.  If more buffers are queued, it will
drop the oldest.

This change also implements the VideoFrame.TextureBuffer and reorganizes code
for wrapping an existing ByteBuffer into an I420Buffer.  This makes it easier
to implement the texture buffer's ToI420() method.

BUG=webrtc:7760
R=pthatcher@webrtc.org, sakal@webrtc.org

Review-Url: https://codereview.webrtc.org/2977643002 .
Cr-Commit-Position: refs/heads/master@{#19081}
2017-07-18 18:33:44 +00:00
sakal
fcf97c3b75 Fix fullscreen scaling in AppRTCMobile.
The surface view renderer size was set to match parent so it couldn't
adjust based on the frame size. The size is now set to wrap_content
which allows the renderer to adjust. The root element of the call
activity is changed to FrameLayout to allow the renderer to center.

requestLayout is added to SurfaceView setScalingType so onMeasure gets
called again.

BUG=webrtc:7901

Review-Url: https://codereview.webrtc.org/2978173002
Cr-Commit-Position: refs/heads/master@{#19073}
2017-07-18 12:01:08 +00:00
Steve Anton
d960a0c7d1 Android bindings for ice_regather_interval_range RTCConfiguration option
Bug: webrtc:7969
Change-Id: I3fbb723d35fa6cc4c7b92aa1e155b974e9fb0b55
Reviewed-on: https://chromium-review.googlesource.com/567698
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Alex Glaznev <glaznev@chromium.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19062}
2017-07-17 20:09:43 +00:00
tommi
e7251599a3 Reland of Make the default ctor of rtc::Thread, protected
This is a partial re-land. The change doesn't make the default Thread ctor protected anymore but it does mark it as deprecated and updates all use of it in WebRTC.

Original issue's description:

Make the default ctor of rtc::Thread, protected.
The goal is to force use of Thread::Create or Thread::CreateWithSocketServer.

The default constructor constructs a 'default' socket server, which is usually a 'physical' socket server, but not always. Not every instance of Thread actually needs to have network support, so it's better to have this be explicit instead of unknowingly instantiate one.

BUG=none

Review-Url: https://codereview.webrtc.org/2977953002
Cr-Commit-Position: refs/heads/master@{#19031}
2017-07-14 21:44:46 +00:00
tserng
ff7acb19a1 Reset isFirstFrameRendered on init of SurfaceViewRenderer
If a SurfaceViewRenderer is reinitialized, the onFirstFrameRendered
callback is not fired.

Ensure that we reset the flag when the SurfaceViewRenderer is
initialized.

BUG=webrtc:7985

Review-Url: https://codereview.webrtc.org/2981793002
Cr-Commit-Position: refs/heads/master@{#19016}
2017-07-14 09:35:53 +00:00