Index: webrtc/sdk/android/src/jni/peerconnection_video_jni.cc |
diff --git a/webrtc/sdk/android/src/jni/peerconnection_video_jni.cc b/webrtc/sdk/android/src/jni/peerconnection_video_jni.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..0dd3f019eff0d09de054ce0c8f9f916ca6e8c9b9 |
--- /dev/null |
+++ b/webrtc/sdk/android/src/jni/peerconnection_video_jni.cc |
@@ -0,0 +1,63 @@ |
+/* |
+ * 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 <jni.h> |
+ |
+#include "webrtc/media/engine/webrtcvideodecoderfactory.h" |
+#include "webrtc/media/engine/webrtcvideoencoderfactory.h" |
+#include "webrtc/sdk/android/src/jni/androidmediadecoder_jni.h" |
+#include "webrtc/sdk/android/src/jni/androidmediaencoder_jni.h" |
+#include "webrtc/sdk/android/src/jni/androidvideotracksource.h" |
+#include "webrtc/sdk/android/src/jni/surfacetexturehelper_jni.h" |
+ |
+using cricket::WebRtcVideoDecoderFactory; |
+using cricket::WebRtcVideoEncoderFactory; |
+using webrtc::AndroidVideoTrackSource; |
+ |
+namespace webrtc_jni { |
+ |
+WebRtcVideoEncoderFactory* CreateVideoEncoderFactory() { |
+ return new MediaCodecVideoEncoderFactory(); |
+} |
+ |
+WebRtcVideoDecoderFactory* CreateVideoDecoderFactory() { |
+ return new MediaCodecVideoDecoderFactory(); |
+} |
+ |
+rtc::scoped_refptr<webrtc::AndroidVideoTrackSource> |
+CreateAndroidVideoTrackSource(rtc::Thread* signaling_thread, |
+ JNIEnv* jni, |
+ jobject j_egl_context, |
+ bool is_screencast = false) { |
+ return rtc::scoped_refptr<webrtc::AndroidVideoTrackSource>( |
+ new rtc::RefCountedObject<webrtc::AndroidVideoTrackSource>( |
+ signaling_thread, jni, j_egl_context, is_screencast)); |
+} |
+ |
+jobject GetSurfaceTextureHelper( |
+ rtc::scoped_refptr<SurfaceTextureHelper> surface_texture_helper) { |
+ return surface_texture_helper |
+ ? surface_texture_helper->GetJavaSurfaceTextureHelper() |
+ : nullptr; |
+} |
+ |
+void EncoderFactorySetEGLContext(MediaCodecVideoEncoderFactory* encoder_factory, |
+ JNIEnv* jni, |
+ jobject local_egl_context) { |
+ encoder_factory->SetEGLContext(jni, local_egl_context); |
+} |
+ |
+void DecoderFactorySetEGLContext(MediaCodecVideoDecoderFactory* decoder_factory, |
+ JNIEnv* jni, |
+ jobject remote_egl_context) { |
+ decoder_factory->SetEGLContext(jni, remote_egl_context); |
+} |
pthatcher
2017/05/18 17:50:27
I think a good name for this file may be video_jni
|
+ |
+} // namespace webrtc_jni |