Add wrapper for VideoSink and VideoFrame to Android native_api.
Bug: webrtc:8769 Change-Id: If944b2a52a86666bebf094ec0e3c74c076d6c3d2 Reviewed-on: https://webrtc-review.googlesource.com/50740 Commit-Queue: Sami Kalliomäki <sakal@webrtc.org> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org> Reviewed-by: Magnus Jedvert <magjed@webrtc.org> Cr-Commit-Position: refs/heads/master@{#22001}
This commit is contained in:
32
sdk/android/native_api/video/wrapper.cc
Normal file
32
sdk/android/native_api/video/wrapper.cc
Normal file
@ -0,0 +1,32 @@
|
||||
/*
|
||||
* Copyright 2018 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/native_api/video/wrapper.h"
|
||||
|
||||
#include "rtc_base/ptr_util.h"
|
||||
#include "sdk/android/native_api/jni/scoped_java_ref.h"
|
||||
#include "sdk/android/src/jni/videoframe.h"
|
||||
#include "sdk/android/src/jni/videosink.h"
|
||||
|
||||
namespace webrtc {
|
||||
|
||||
std::unique_ptr<rtc::VideoSinkInterface<VideoFrame>> JavaToNativeVideoSink(
|
||||
JNIEnv* jni,
|
||||
jobject video_sink) {
|
||||
return rtc::MakeUnique<jni::VideoSinkWrapper>(
|
||||
jni, JavaParamRef<jobject>(video_sink));
|
||||
}
|
||||
|
||||
ScopedJavaLocalRef<jobject> NativeToJavaVideoFrame(JNIEnv* jni,
|
||||
const VideoFrame& frame) {
|
||||
return jni::NativeToJavaFrame(jni, frame);
|
||||
}
|
||||
|
||||
} // namespace webrtc
|
||||
35
sdk/android/native_api/video/wrapper.h
Normal file
35
sdk/android/native_api/video/wrapper.h
Normal file
@ -0,0 +1,35 @@
|
||||
/*
|
||||
* Copyright 2018 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.
|
||||
*/
|
||||
|
||||
#ifndef SDK_ANDROID_NATIVE_API_VIDEO_WRAPPER_H_
|
||||
#define SDK_ANDROID_NATIVE_API_VIDEO_WRAPPER_H_
|
||||
|
||||
#include <jni.h>
|
||||
#include <memory>
|
||||
|
||||
#include "api/mediastreaminterface.h"
|
||||
#include "api/video/video_frame.h"
|
||||
#include "sdk/android/native_api/jni/scoped_java_ref.h"
|
||||
|
||||
namespace webrtc {
|
||||
|
||||
// Creates an instance of rtc::VideoSinkInterface<VideoFrame> from Java
|
||||
// VideoSink.
|
||||
std::unique_ptr<rtc::VideoSinkInterface<VideoFrame>> JavaToNativeVideoSink(
|
||||
JNIEnv* jni,
|
||||
jobject video_sink);
|
||||
|
||||
// Creates a Java VideoFrame object from a native VideoFrame.
|
||||
ScopedJavaLocalRef<jobject> NativeToJavaVideoFrame(JNIEnv* jni,
|
||||
const VideoFrame& frame);
|
||||
|
||||
} // namespace webrtc
|
||||
|
||||
#endif // SDK_ANDROID_NATIVE_API_VIDEO_WRAPPER_H_
|
||||
Reference in New Issue
Block a user