From f0878c98dc158979e9d27404df038e03e59a245c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sami=20Kalliom=C3=A4ki?= Date: Mon, 2 Oct 2017 11:19:50 +0200 Subject: [PATCH] Reland "Reland "Use injectable hardware video decoder/encoder in AppRTCMobile."" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 > > Reviewed-by: Magnus Jedvert > > 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 > Reviewed-by: Magnus Jedvert > 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 Commit-Queue: Sami Kalliomäki Cr-Commit-Position: refs/heads/master@{#20275} --- .../src/org/appspot/apprtc/PeerConnectionClient.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java b/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java index 9d6822b12e..a9b71e6446 100644 --- a/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java +++ b/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java @@ -36,6 +36,8 @@ import org.webrtc.AudioTrack; import org.webrtc.CameraVideoCapturer; import org.webrtc.DataChannel; import org.webrtc.EglBase; +import org.webrtc.HardwareVideoDecoderFactory; +import org.webrtc.HardwareVideoEncoderFactory; import org.webrtc.IceCandidate; import org.webrtc.Logging; import org.webrtc.MediaConstraints; @@ -339,6 +341,7 @@ public class PeerConnectionClient { createPeerConnection( localRender, Collections.singletonList(remoteRender), videoCapturer, signalingParameters); } + public void createPeerConnection(final VideoSink localRender, final List remoteRenders, final VideoCapturer videoCapturer, final SignalingParameters signalingParameters) { @@ -512,7 +515,12 @@ public class PeerConnectionClient { if (options != null) { Log.d(TAG, "Factory networkIgnoreMask option: " + options.networkIgnoreMask); } - factory = new PeerConnectionFactory(options); + final boolean enableH264HighProfile = + peerConnectionParameters.videoCodec.equals(VIDEO_CODEC_H264_HIGH); + factory = new PeerConnectionFactory(options, + new HardwareVideoEncoderFactory(rootEglBase.getEglBaseContext(), + true /* enableIntelVp8Encoder */, enableH264HighProfile), + new HardwareVideoDecoderFactory(rootEglBase.getEglBaseContext())); Log.d(TAG, "Peer connection factory created."); }