
This changes adds the API surface for injecting the FrameEncryptor and FrameDecryptor from Java. This assumes that the API User will be able to provide native implementations of both the Encryptor and Decryptor. Optional Java implementations may come later but due to the significant performance issues around copying every frame across the JNI boundary it doesn't seem like a good idea to support a non native backed implementation for now. Bug: webrtc:9681 Change-Id: Ib4471e69fdf0a99705f824de652c621637b92326 Reviewed-on: https://webrtc-review.googlesource.com/96865 Commit-Queue: Benjamin Wright <benwright@webrtc.org> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org> Reviewed-by: Emad Omara <emadomara@webrtc.org> Reviewed-by: Steve Anton <steveanton@webrtc.org> Cr-Commit-Position: refs/heads/master@{#24610}
27 lines
943 B
Java
27 lines
943 B
Java
/*
|
|
* 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.
|
|
*/
|
|
|
|
package org.webrtc;
|
|
|
|
/**
|
|
* The FrameEncryptor interface allows Java API users to provide a pointer to
|
|
* their native implementation of the FrameEncryptorInterface.
|
|
* FrameEncyptors are extremely performance sensitive as they must process all
|
|
* outgoing video and audio frames. Due to this reason they should always be
|
|
* backed by a native implementation.
|
|
* @note Not ready for production use.
|
|
*/
|
|
public interface FrameEncryptor {
|
|
/**
|
|
* @return A FrameEncryptorInterface pointer.
|
|
*/
|
|
long getNativeFrameEncryptor();
|
|
}
|