Commit Graph

123 Commits

Author SHA1 Message Date
6a0345b3b0 Android: Generate JNI code for MediaStream
Bug: webrtc:8278
Change-Id: I48d0615f3db3f22e7179a2d7c59b970a33678ada
Reviewed-on: https://webrtc-review.googlesource.com/25962
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20891}
2017-11-27 11:58:32 +00:00
80610c4fd1 Android: Generate JNI code for IceCandidate
Bug: webrtc:8278
Change-Id: I4facd1f6babd6e8a9b35c86b6ad7420e52321f49
Reviewed-on: https://webrtc-review.googlesource.com/25960
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20888}
2017-11-27 11:17:02 +00:00
a319931f3c Generate JNI code for built in Integer class
TBR=sakal@webrtc.org

Bug: webrtc:8279
Change-Id: Ic2e5d169f11a0d4a88086d61f737f33ab9e86447
Reviewed-on: https://webrtc-review.googlesource.com/24220
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20881}
2017-11-25 12:16:20 +00:00
c4c8876f70 Android: Generate JNI code for RTCStats
Bug: webrtc:8278
Change-Id: I183cec54ec3e97894db7f26e365eb9941a1ab458
Reviewed-on: https://webrtc-review.googlesource.com/25660
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20879}
2017-11-24 18:38:40 +00:00
7bd6cccb40 Android: Generate JNI code for DataChannel
Bug: webrtc:8278
Change-Id: I107c839656500971cbd3da7557e14776759c318a
Reviewed-on: https://webrtc-review.googlesource.com/25820
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20873}
2017-11-24 15:41:29 +00:00
3e189a6dc3 Remove static library loading from WebRTC Android SDK.
Bug: webrtc:7474
Change-Id: Ie75a5c12638be82d7bd91073744946ac21c48155
Reviewed-on: https://webrtc-review.googlesource.com/22962
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20865}
2017-11-24 11:46:39 +00:00
3ecdd0f02a Android: Generate JNI code for MediaConstraints
Also improves ownership model by using std::unique_ptr in a couple of
places instead of raw pointers.

Bug: webrtc:8278
Change-Id: I0429ec3c416b5baa1ffa21dad71e0d64b004c446
Reviewed-on: https://webrtc-review.googlesource.com/25020
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20863}
2017-11-24 11:03:19 +00:00
6196feb2ed Fix a bug where all wrapped codecs were considered software codecs.
This is not the case for fallback codecs.

Bug: webrtc:7925
Change-Id: I5039d8879923a2db1e7c08bb5640763dd20ea8e7
Reviewed-on: https://webrtc-review.googlesource.com/24863
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20861}
2017-11-24 10:30:59 +00:00
1f2a3e7058 Android: Clean up JNI generated code
It's now possible to generate JNI code for constructors and enums
correctly. This CL cleans that up.

Bug: webrtc:8278,webrtc:8551,webrtc:8556
Change-Id: I2284a30139cbb186c80713eb6113eda5659c16ad
Reviewed-on: https://webrtc-review.googlesource.com/25622
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20860}
2017-11-24 10:08:58 +00:00
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
523589dbd8 Create common helper method for comparing video formats
Unfortunately, H264 makes it non-trivial to compare video formats for
equality. For every video format besides H264 it's enough to look at the
name, but for H264, we need to dig into the parameters. This logic is
currently in several places, and this CL unifies it to one place.

Bug: webrtc:7925
Change-Id: I83a516b108d6b4d6792fd0bf1d24296916d9f7fa
Reviewed-on: https://webrtc-review.googlesource.com/25120
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20853}
2017-11-23 15:41:38 +00:00
7bc55b8e84 Update AAR-generation to use non-preprocessed jar files.
Previously Java 8 bytecode was transpiled into Java 7 bytecode for AAR.
With this change we instead include Java 8 bytecode in the AAR.

This drops support for Java 7 but allows using Java 8 features such as
static methods in interfaces and default methods.

Bug: webrtc:8084, chromium:762967
Change-Id: I3c6ec9332c5612b7ed811a81957f25c94c80da70
No-Try: True
Reviewed-on: https://webrtc-review.googlesource.com/21222
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20849}
2017-11-23 13:25:58 +00:00
2af5fff6d5 Android: Shorten HardwareVideoCodec implementation names.
The current names are too long and make the stats screen in
AppRTCMobile unusable.

Bug: None
Change-Id: I5c4d0526e478ff45392f80a8bb22c2d97f63de17
Reviewed-on: https://webrtc-review.googlesource.com/25481
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20847}
2017-11-23 11:38:27 +00:00
057ce1de45 Optional: Use nullopt and implicit construction in /sdk/android/src/jni/androidvideotracksource.h
Changes places where we explicitly construct an Optional to instead use
nullopt or the requisite value type only.

This CL was uploaded by git cl split.

R=sakal@webrtc.org

Bug: None
Change-Id: Ib01eb9ef7b3b76c0f55890d7ea1b8dfcd30f0617
Reviewed-on: https://webrtc-review.googlesource.com/23607
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Oskar Sundbom <ossu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20845}
2017-11-23 11:23:58 +00:00
ce86e2965c Android: Use RTP timestamp instead of capture_time_ms_ in VideoDecoderWrapper.
capture_time_ms_ is always 0 for frames received from the network. This
caused a bug because it was used as an unique identified.

Bug: b/68271454
Change-Id: Ic4417a52e61cf2b0cd796a89207a90b603a16590
Reviewed-on: https://webrtc-review.googlesource.com/24940
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20837}
2017-11-22 16:10:27 +00:00
9e6fd2bd47 Add streams() to RtpReceiverInterface and implementations.
This makes the receiver know about its associated set of streams, the
equivalent of the [[AssociatedRemoteMediaStreams]] slot in the spec,
https://w3c.github.io/webrtc-pc/#dfn-x%5B%5Bassociatedremotemediastreams%5D%5D

This does not change layers below peerconnection.cc. The streams are set
upon the receiver's construction and is not modified for the duration of
its lifetime.

When we support modifying the associated set of streams of a receiver
the receiver needs to know about it. The receiver's streams() should be
used in all places where a receiver's streams need to be known.

Bug: webrtc:8473
Change-Id: I31202973aed98e61fa9b6a78b52e815227b6c17d
Reviewed-on: https://webrtc-review.googlesource.com/22922
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20825}
2017-11-22 09:04:17 +00:00
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
4eb0188cb6 Android: Generate JNI code for VideoDecoder
Bug: webrtc:8278
Change-Id: I985fa63b0c5a9cdd0fb1817730646bcd4b30288a
Reviewed-on: https://webrtc-review.googlesource.com/24221
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20803}
2017-11-20 22:48:02 +00:00
cada60193d Reland "Android: Generate JNI code for androidnetworkmonitor_jni"
This reverts commit 522c1bc6bb945d66bf77f175da48e1644d74511e.

Reason for revert: Reland with a temporary fix.

Original change's description:
> Revert "Android: Generate JNI code for androidnetworkmonitor_jni"
> 
> This reverts commit 768e1c0ea1f2077675df31915132a0557aca400e.
> 
> Reason for revert: Breaks AppRTCMobile.
> 
> Original change's description:
> > Android: Generate JNI code for androidnetworkmonitor_jni
> > 
> > Bug: webrtc:8278
> > Change-Id: I8447b2de5ec2610760f7112b6f86e54d94325322
> > Reviewed-on: https://webrtc-review.googlesource.com/24520
> > Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
> > Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#20796}
> 
> TBR=magjed@webrtc.org,sakal@webrtc.org
> 
> Change-Id: I45f8d19abd81386872b7c095ac7eca21fa06077c
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:8278,webrtc:8556
> Reviewed-on: https://webrtc-review.googlesource.com/24622
> Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20800}

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

Change-Id: I7cc404993addb17f0397127a10aac67476ef6ff4
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8278, webrtc:8556
Reviewed-on: https://webrtc-review.googlesource.com/24623
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20801}
2017-11-20 20:56:00 +00:00
522c1bc6bb Revert "Android: Generate JNI code for androidnetworkmonitor_jni"
This reverts commit 768e1c0ea1f2077675df31915132a0557aca400e.

Reason for revert: Breaks AppRTCMobile.

Original change's description:
> Android: Generate JNI code for androidnetworkmonitor_jni
> 
> Bug: webrtc:8278
> Change-Id: I8447b2de5ec2610760f7112b6f86e54d94325322
> Reviewed-on: https://webrtc-review.googlesource.com/24520
> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
> Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20796}

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

Change-Id: I45f8d19abd81386872b7c095ac7eca21fa06077c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8278,webrtc:8556
Reviewed-on: https://webrtc-review.googlesource.com/24622
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20800}
2017-11-20 20:51:50 +00:00
768e1c0ea1 Android: Generate JNI code for androidnetworkmonitor_jni
Bug: webrtc:8278
Change-Id: I8447b2de5ec2610760f7112b6f86e54d94325322
Reviewed-on: https://webrtc-review.googlesource.com/24520
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20796}
2017-11-20 16:00:39 +00:00
202be3957d Android: Generate JNI code for androidvideotracksource
Bug: webrtc:8278
Change-Id: I43b53c68ebaf2c3f9c27ea7ef510d7b016c1df93
Reviewed-on: https://webrtc-review.googlesource.com/23243
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20795}
2017-11-20 15:25:59 +00:00
c6a003c192 Android: Simplify GetJavaEnumName
We can call name() on the base class java.lang.Enum instead of the
specific enum subclass.

Bug: webrtc:8278
Change-Id: I12f8354d99e48b4a5e3d3eaff74a85ac417df0b3
Reviewed-on: https://webrtc-review.googlesource.com/24440
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20790}
2017-11-20 13:20:30 +00:00
986a79cf3d Android: Annotate and generate JNI code for Metrics.java
Bug: webrtc:8278
Change-Id: I54caee1acb483d7554afd6c0958f1929a78d6a56
Reviewed-on: https://webrtc-review.googlesource.com/22720
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20753}
2017-11-18 17:06:29 +00:00
cdda0d99a3 Android: Add helper function for converting Integer -> rtc::Optional<int>
Bug: webrtc:8278
Change-Id: I1c499a35c5fd77304ed2906ea61ef2322ec98cea
No-Tree-Checks: true
Reviewed-on: https://webrtc-review.googlesource.com/20876
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20750}
2017-11-18 15:08:09 +00:00
c040daec11 Android: Allow SurfaceTextureHelper.textureToYuv to be used for RGB frames
TBR=sakal@webrtc.org

Bug: b/69162554
Change-Id: I342777a1cc961346a3e61408d02fbc6a16b7b633
Reviewed-on: https://webrtc-review.googlesource.com/24101
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20748}
2017-11-18 11:07:28 +00:00
df4883dbf0 Reland "Update internal encoder factory to new interface"
This is a reland of 2c8c8e26fc58a0f2789b7a5cd2646a8319c14d3e
Original change's description:
> Update internal encoder factory to new interface
>
> TBR=stefan@webrtc.org
>
> Bug: webrtc:7925
> Change-Id: I0bb97acdf0d58a9ce531ecdd672bb17ef96360df
> Reviewed-on: https://webrtc-review.googlesource.com/21162
> Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
> Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20717}

TBR=andersc@webrtc.org,brandt@webrtc.org,stefan@webrtc.org

Bug: webrtc:7925
Change-Id: I0d269b3edb029e372a36c3b461a577bca2b6d0cb
Reviewed-on: https://webrtc-review.googlesource.com/24000
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20747}
2017-11-18 10:48:28 +00:00
aea84f5519 Revert "Update internal encoder factory to new interface"
This reverts commit 2c8c8e26fc58a0f2789b7a5cd2646a8319c14d3e.

Reason for revert: Broke the internal projects.

Original change's description:
> Update internal encoder factory to new interface
> 
> TBR=stefan@webrtc.org
> 
> Bug: webrtc:7925
> Change-Id: I0bb97acdf0d58a9ce531ecdd672bb17ef96360df
> Reviewed-on: https://webrtc-review.googlesource.com/21162
> Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
> Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20717}

TBR=brandtr@webrtc.org,magjed@webrtc.org,andersc@webrtc.org,stefan@webrtc.org

Change-Id: I989070277885ee70fe6b38272d0001cff890f3ef
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:7925
Reviewed-on: https://webrtc-review.googlesource.com/23780
Reviewed-by: Zhi Huang <zhihuang@webrtc.org>
Commit-Queue: Zhi Huang <zhihuang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20720}
2017-11-16 18:46:35 +00:00
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
2c8c8e26fc Update internal encoder factory to new interface
TBR=stefan@webrtc.org

Bug: webrtc:7925
Change-Id: I0bb97acdf0d58a9ce531ecdd672bb17ef96360df
Reviewed-on: https://webrtc-review.googlesource.com/21162
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20717}
2017-11-16 17:55:24 +00:00
1e1dd77604 Implement equals() and hashCode() for VideoCodecInfo.
To be able to compare VideoCodecInfos in a nice way in Java and still
use the correct criteria for comparing H264 codec infos.

A similar thing was done for Obj-C here:
https://webrtc-review.googlesource.com/c/src/+/4383

Bug: webrtc:7925
Change-Id: I43f532d4efa557fc8fe25a82eebc35072b91e6db
Reviewed-on: https://webrtc-review.googlesource.com/23240
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20716}
2017-11-16 16:52:24 +00:00
4d85e8a78c Android: Fix JavaLangClash warning
The warnings is this:
org.webrtc.ClassLoader clashes with java.lang.ClassLoader

This CL fixes that by renaming org.webrtc.ClassLoader to
org.webrtc.WebRtcClassLoader.

Bug: webrtc:6597,webrtc:8534
Change-Id: Ia392850cd2d0eb0683c03607d0cec06904de532f
Reviewed-on: https://webrtc-review.googlesource.com/23680
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20715}
2017-11-16 15:47:03 +00:00
9ced7e54e9 Optional: Use nullopt and implicit construction in /sdk/android
Changes places where we explicitly construct an Optional to instead use
nullopt or the requisite value type only.

This CL was uploaded by git cl split.

R=sakal@webrtc.org

Bug: None
Change-Id: I6185f088ae83c8864fd7efd05be628bbfe4ac5c1
Reviewed-on: https://webrtc-review.googlesource.com/23565
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Oskar Sundbom <ossu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20705}
2017-11-16 11:08:24 +00:00
34d4e5a4d1 Remove LongLogTag warning suppression.
Bug: webrtc:6597
Change-Id: I9defe65a19b6e85738fe2a46dad38f999a5d8594
Reviewed-on: https://webrtc-review.googlesource.com/21300
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20699}
2017-11-16 08:35:33 +00:00
c3fedccf01 VideoEncoderFallback for Android.
Expose VideoEncoderSoftwareFallbackWrapper in Java.

Bug: webrtc:7925
Change-Id: I1e1f7bc0469527f6f6a3b7051535896c3f02611c
Reviewed-on: https://webrtc-review.googlesource.com/22960
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20698}
2017-11-16 08:34:28 +00:00
4e3832124f Do not initialize internal tracer if it has already been initialized.
Bug: b/68989834
Change-Id: I7bb02d58cef5c14c6433d1fc7a95b46ff2b27f6f
Reviewed-on: https://webrtc-review.googlesource.com/23280
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20696}
2017-11-16 08:28:53 +00:00
c48badaed6 Revert "Make HardwareVideo*Factory ctors that take fallbackToSoftware public."
This reverts commit 64534fd91704983b1ed73d3386e254374a9d2326.

Reason for revert: no longer necessary.

Original change's description:
> Make HardwareVideo*Factory ctors that take fallbackToSoftware public.
> 
> https://webrtc-review.googlesource.com/c/src/+/17480 changed the default behavior of HardwareVideoEncoderFactory and HardwareVideoDecoderFactory without providing any way to maintain the previous behavior.  This breaks current users.
> 
> Making these constructors public at least gives existing users a way to maintain the previous behavior.
> 
> Bug: webrtc:7925
> Change-Id: Id8f0ec25026592f5e9096ac5f39fdda22993ff09
> Reviewed-on: https://webrtc-review.googlesource.com/22763
> Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20675}

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

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

Bug: webrtc:7925
Change-Id: Ia467337a3916371a619e1d238e1dd03aa0e19261
Reviewed-on: https://webrtc-review.googlesource.com/23380
Reviewed-by: Bjorn Mellem <mellem@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20695}
2017-11-16 08:22:33 +00:00
c2ac3c663f Android: Annotate and generate JNI code for VideoFrame.java
This CL also merged native_handle_impl.cc and videoframe_jni.cc to keep
all JNI code for the same Java class in the same file, and also renames
this file to jni/videoframe.cc.

The classes AndroidVideoBufferFactory and JavaVideoFrameFactory are
now unnecessary since we cache everything and can be simplified to
global static functions instead.

Bug: webrtc:8278
Change-Id: I03d7b0bbde64cfb407cd6210478ddf9d5599cd8c
Reviewed-on: https://webrtc-review.googlesource.com/22923
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20677}
2017-11-14 18:44:47 +00:00
64534fd917 Make HardwareVideo*Factory ctors that take fallbackToSoftware public.
https://webrtc-review.googlesource.com/c/src/+/17480 changed the default behavior of HardwareVideoEncoderFactory and HardwareVideoDecoderFactory without providing any way to maintain the previous behavior.  This breaks current users.

Making these constructors public at least gives existing users a way to maintain the previous behavior.

Bug: webrtc:7925
Change-Id: Id8f0ec25026592f5e9096ac5f39fdda22993ff09
Reviewed-on: https://webrtc-review.googlesource.com/22763
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20675}
2017-11-14 17:11:26 +00:00
6199a3731d Android: Annotate and generate JNI code for SurfaceTextureHelper.java
Bug: webrtc:8278
Change-Id: I96966e3e7f589a1dde8d4c8079d3fdd1e32bc023
Reviewed-on: https://webrtc-review.googlesource.com/22721
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20673}
2017-11-14 13:41:06 +00:00
6cb76506fe Android: Don't create VP9 encoder/decoder when not supported.
In the SoftwareVideoCodecFactories, don't try to create VP9 encoder or
decoder if WebRTC was built without support for it.

Bug: None
Change-Id: I09b87fdcf798c763310af4998dbea8011843010d
Reviewed-on: https://webrtc-review.googlesource.com/22924
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20672}
2017-11-14 13:18:16 +00:00
620d9c9195 Move InitClassLoader from JNI_OnLoad to LoadGlobalClassReferenceHolder
This fixes clients with custom JNI_OnLoad code. This is basically a
reland of https://webrtc-review.googlesource.com/21281, but called from
LoadGlobalClassReferenceHolder instead of InitGlobalJniVariables. The
problem it solves is that some clients call InitGlobalJniVariables
from a strange thread and without using the rest of our Java API.

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

Bug: webrtc:8278
Change-Id: I664e50920bcd7e087ec2d8bb5be13569e8ff3088
Reviewed-on: https://webrtc-review.googlesource.com/22801
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20663}
2017-11-13 22:18:51 +00:00
edfa7d7131 Revert "Move InitClassLoader from JNI_OnLoad to InitGlobalJniVariables."
This reverts commit b3a8c980f7b33e7457f9a1ee3582ccbc28b7f70c.

Reason for revert: Breaking internal projects

Original change's description:
> Move InitClassLoader from JNI_OnLoad to InitGlobalJniVariables.
> 
> This fixes clients with custom JNI_OnLoad code.
> 
> Bug: webrtc:8278
> Change-Id: I67b45c2ca07b13b0bf968c5ac17ec6f1bcc58a86
> Reviewed-on: https://webrtc-review.googlesource.com/21281
> Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20629}

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

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

Bug: webrtc:8278
Change-Id: I6add8182172501cb93bed998f68ce848c7280a98
Reviewed-on: https://webrtc-review.googlesource.com/22780
Reviewed-by: Lu Liu <lliuu@webrtc.org>
Commit-Queue: Lu Liu <lliuu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20660}
2017-11-13 20:31:51 +00:00
46a2765c56 Reland "Update internal SW codecs to return unique_ptrs"
This reverts commit 34c8e6bce8af0c31f2b0b31d691a6a931fa3cb7b.

Reason for revert: Fix Android compilation

Original change's description:
> Revert "Update internal SW codecs to return unique_ptrs"
>
> This reverts commit 4fe6adc06a8524ac25f85260bfe392eb31dae6b4.
>
> Reason for revert: Breaks android compile.
>
> Original change's description:
> > Update internal SW codecs to return unique_ptrs
> >
> > TBR=stefan@webrtc.org
> >
> > Bug: webrtc:7925
> > Change-Id: I84239b071a2608d928f09b06809090eec5eafb14
> > Reviewed-on: https://webrtc-review.googlesource.com/21165
> > Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
> > Reviewed-by: Erik Språng <sprang@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#20650}
>
> TBR=magjed@webrtc.org,sprang@webrtc.org,stefan@webrtc.org
>
> Change-Id: If33c3a0ee0dfce63d105558a2897a472f0633306
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:7925
> Reviewed-on: https://webrtc-review.googlesource.com/22540
> Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20652}

TBR=magjed@webrtc.org,sprang@webrtc.org,stefan@webrtc.org

Change-Id: Ic8551af4687e927c9b605060155abdd5bc6208b2
Bug: webrtc:7925
Reviewed-on: https://webrtc-review.googlesource.com/22541
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20655}
2017-11-13 14:23:58 +00:00
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
b3a8c980f7 Move InitClassLoader from JNI_OnLoad to InitGlobalJniVariables.
This fixes clients with custom JNI_OnLoad code.

Bug: webrtc:8278
Change-Id: I67b45c2ca07b13b0bf968c5ac17ec6f1bcc58a86
Reviewed-on: https://webrtc-review.googlesource.com/21281
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20629}
2017-11-10 12:59:55 +00:00
ec6cf2a94f Cleanup old suppressions from suppressions.xml.
Limits CpuMonitor to supported Android versions.

Bug: webrtc:6597
Change-Id: I15fb4f5dff2511f578069dd70521728e9909bd15
Reviewed-on: https://webrtc-review.googlesource.com/21225
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20626}
2017-11-10 10:38:05 +00:00
8ebac24511 Fix a crash in EglRenderer.removeFrameListener.
The crash occured if removeFrameListener was called after releasing
the EglRenderer.

Bug: b/69040588
Change-Id: I90acc3b280d2009e5f13bb8836a288eb20c7d1d0
Reviewed-on: https://webrtc-review.googlesource.com/21380
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20620}
2017-11-09 13:13:42 +00:00
675513b96a Stop using LOG macros in favor of RTC_ prefixed macros.
This CL has been generated with the following script:

for m in PLOG \
  LOG_TAG \
  LOG_GLEM \
  LOG_GLE_EX \
  LOG_GLE \
  LAST_SYSTEM_ERROR \
  LOG_ERRNO_EX \
  LOG_ERRNO \
  LOG_ERR_EX \
  LOG_ERR \
  LOG_V \
  LOG_F \
  LOG_T_F \
  LOG_E \
  LOG_T \
  LOG_CHECK_LEVEL_V \
  LOG_CHECK_LEVEL \
  LOG
do
  git grep -l $m | xargs sed -i "s,\b$m\b,RTC_$m,g"
done
git checkout rtc_base/logging.h
git cl format

Bug: webrtc:8452
Change-Id: I1a53ef3e0a5ef6e244e62b2e012b864914784600
Reviewed-on: https://webrtc-review.googlesource.com/21325
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20617}
2017-11-09 11:56:32 +00:00
18ce0f006d Android: Generate Java -> C++ JNI code for VideoEncoder
This is the first CL that tries generating Java -> C++ JNI code.

Bug: webrtc:8278
Change-Id: I1ff0df10db0f80a3c84a61a4e82be8f713690a69
Reviewed-on: https://webrtc-review.googlesource.com/20873
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20592}
2017-11-07 16:37:25 +00:00