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}
This commit is contained in:
Sami Kalliomäki
2017-10-02 11:19:50 +02:00
committed by Commit Bot
parent 201509b1c1
commit f0878c98dc

View File

@ -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<VideoRenderer.Callbacks> 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.");
}