FFmpeg
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
Examples
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
libavcodec
mediacodec_surface.c
Go to the documentation of this file.
1
/*
2
* Android MediaCodec Surface functions
3
*
4
* Copyright (c) 2016 Matthieu Bouron <matthieu.bouron stupeflix.com>
5
*
6
* This file is part of FFmpeg.
7
*
8
* FFmpeg is free software; you can redistribute it and/or
9
* modify it under the terms of the GNU Lesser General Public
10
* License as published by the Free Software Foundation; either
11
* version 2.1 of the License, or (at your option) any later version.
12
*
13
* FFmpeg is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
* Lesser General Public License for more details.
17
*
18
* You should have received a copy of the GNU Lesser General Public
19
* License along with FFmpeg; if not, write to the Free Software
20
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21
*/
22
23
#include <
jni.h
>
24
25
#include "
ffjni.h
"
26
#include "
mediacodec_surface.h
"
27
28
void
*
ff_mediacodec_surface_ref
(
void
*surface,
void
*log_ctx)
29
{
30
JNIEnv *env =
NULL
;
31
32
void
*reference =
NULL
;
33
34
env =
ff_jni_get_env
(log_ctx);
35
if
(!env) {
36
return
NULL
;
37
}
38
39
reference = (*env)->NewGlobalRef(env, surface);
40
41
return
reference;
42
}
43
44
int
ff_mediacodec_surface_unref
(
void
*surface,
void
*log_ctx)
45
{
46
JNIEnv *env =
NULL
;
47
48
env =
ff_jni_get_env
(log_ctx);
49
if
(!env) {
50
return
AVERROR_EXTERNAL
;
51
}
52
53
(*env)->DeleteGlobalRef(env, surface);
54
55
return
0;
56
}
NULL
#define NULL
Definition:
coverity.c:32
ff_mediacodec_surface_ref
void * ff_mediacodec_surface_ref(void *surface, void *log_ctx)
Definition:
mediacodec_surface.c:28
jni.h
ff_mediacodec_surface_unref
int ff_mediacodec_surface_unref(void *surface, void *log_ctx)
Definition:
mediacodec_surface.c:44
mediacodec_surface.h
ffjni.h
ff_jni_get_env
JNIEnv * ff_jni_get_env(void *log_ctx)
Definition:
ffjni.c:51
AVERROR_EXTERNAL
#define AVERROR_EXTERNAL
Generic error in an external library.
Definition:
error.h:57
Generated on Fri Jan 12 2018 01:45:41 for FFmpeg by
1.8.6