1 /* 2 * Copyright 2017 The WebRTC project authors. All Rights Reserved. 3 * 4 * Use of this source code is governed by a BSD-style license 5 * that can be found in the LICENSE file in the root of the source 6 * tree. An additional intellectual property rights grant can be found 7 * in the file PATENTS. All contributing project authors may 8 * be found in the AUTHORS file in the root of the source tree. 9 */ 10 11 package org.webrtc; 12 13 /** 14 * A combined video decoder that falls back on a secondary decoder if the primary decoder fails. 15 */ 16 public class VideoDecoderFallback extends WrappedNativeVideoDecoder { 17 private final VideoDecoder fallback; 18 private final VideoDecoder primary; 19 VideoDecoderFallback(VideoDecoder fallback, VideoDecoder primary)20 public VideoDecoderFallback(VideoDecoder fallback, VideoDecoder primary) { 21 this.fallback = fallback; 22 this.primary = primary; 23 } 24 25 @Override createNativeVideoDecoder()26 public long createNativeVideoDecoder() { 27 return nativeCreateDecoder(fallback, primary); 28 } 29 nativeCreateDecoder(VideoDecoder fallback, VideoDecoder primary)30 private static native long nativeCreateDecoder(VideoDecoder fallback, VideoDecoder primary); 31 } 32