|  | *  Copyright 2017 The WebRTC project authors. All Rights Reserved. | 
|  | *  Use of this source code is governed by a BSD-style license | 
|  | *  that can be found in the LICENSE file in the root of the source | 
|  | *  tree. An additional intellectual property rights grant can be found | 
|  | *  in the file PATENTS.  All contributing project authors may | 
|  | *  be found in the AUTHORS file in the root of the source tree. | 
|  | * A combined video encoder that falls back on a secondary encoder if the primary encoder fails. | 
|  | public class VideoEncoderFallback extends WrappedNativeVideoEncoder { | 
|  | private final VideoEncoder fallback; | 
|  | private final VideoEncoder primary; | 
|  | public VideoEncoderFallback(VideoEncoder fallback, VideoEncoder primary) { | 
|  | this.fallback = fallback; | 
|  | public long createNativeVideoEncoder() { | 
|  | return nativeCreateEncoder(fallback, primary); | 
|  | public boolean isHardwareEncoder() { | 
|  | return primary.isHardwareEncoder(); | 
|  | private static native long nativeCreateEncoder(VideoEncoder fallback, VideoEncoder primary); |