blob: 222610a4031ccedafceba77bb3fd0d6248b89adf [file] [log] [blame]
Anders Carlssondc1b9f12017-11-10 13:15:04 +01001/*
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#ifndef SDK_ANDROID_SRC_JNI_WRAPPEDNATIVECODEC_H_
12#define SDK_ANDROID_SRC_JNI_WRAPPEDNATIVECODEC_H_
13
14#include <jni.h>
15#include <memory>
16
17#include "api/video_codecs/video_decoder.h"
18#include "api/video_codecs/video_encoder.h"
19
20namespace webrtc {
21namespace jni {
22
23/* If the j_decoder is a wrapped native decoder, unwrap it. If it is not,
24 * wrap it in a VideoDecoderWrapper.
25 */
26std::unique_ptr<VideoDecoder> WrapOrUnwrapVideoDecoder(JNIEnv* jni,
27 jobject j_decoder);
28
29/* If the j_encoder is a wrapped native encoder, unwrap it. If it is not,
30 * wrap it in a VideoEncoderWrapper.
31 */
32std::unique_ptr<VideoEncoder> WrapOrUnwrapVideoEncoder(JNIEnv* jni,
33 jobject j_encoder);
34
35} // namespace jni
36} // namespace webrtc
37
38#endif // SDK_ANDROID_SRC_JNI_WRAPPEDNATIVECODEC_H_