blob: c8de4732f00d947ca0324f97de3311f5037dfce6 [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 */
Anders Carlssonc3fedcc2017-11-15 14:36:33 +010026std::unique_ptr<VideoDecoder> JavaToNativeVideoDecoder(JNIEnv* jni,
Anders Carlssondc1b9f12017-11-10 13:15:04 +010027 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 */
Anders Carlssonc3fedcc2017-11-15 14:36:33 +010032std::unique_ptr<VideoEncoder> JavaToNativeVideoEncoder(JNIEnv* jni,
Anders Carlssondc1b9f12017-11-10 13:15:04 +010033 jobject j_encoder);
34
35} // namespace jni
36} // namespace webrtc
37
38#endif // SDK_ANDROID_SRC_JNI_WRAPPEDNATIVECODEC_H_