/* * 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. */ #include "sdk/android/src/jni/pc/video.h" #include #include #include "api/video_codecs/video_decoder_factory.h" #include "api/video_codecs/video_encoder_factory.h" #include "rtc_base/logging.h" #include "sdk/android/native_api/jni/java_types.h" #include "sdk/android/src/jni/android_video_track_source.h" #include "sdk/android/src/jni/video_decoder_factory_wrapper.h" #include "sdk/android/src/jni/video_encoder_factory_wrapper.h" namespace webrtc { namespace jni { VideoEncoderFactory* CreateVideoEncoderFactory( JNIEnv* jni, const JavaRef& j_encoder_factory) { return IsNull(jni, j_encoder_factory) ? nullptr : new VideoEncoderFactoryWrapper(jni, j_encoder_factory); } VideoDecoderFactory* CreateVideoDecoderFactory( JNIEnv* jni, const JavaRef& j_decoder_factory) { return IsNull(jni, j_decoder_factory) ? nullptr : new VideoDecoderFactoryWrapper(jni, j_decoder_factory); } void* CreateVideoSource(JNIEnv* env, rtc::Thread* signaling_thread, rtc::Thread* worker_thread, jboolean is_screencast, jboolean align_timestamps) { auto source = rtc::make_ref_counted( signaling_thread, env, is_screencast, align_timestamps); return source.release(); } } // namespace jni } // namespace webrtc