Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
qq_25606643
ijkplayer
提交
a1b9cb9c
I
ijkplayer
项目概览
qq_25606643
/
ijkplayer
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
I
ijkplayer
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
a1b9cb9c
编写于
10月 10, 2013
作者:
B
bbcallen
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
android: ijksdl: set surface to NULL when reset/release
上级
630e2c67
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
12 addition
and
11 deletion
+12
-11
ijkmedia/ijkplayer/android/ijkplayer_android.c
ijkmedia/ijkplayer/android/ijkplayer_android.c
+5
-4
ijkmedia/ijkplayer/android/ijkplayer_jni.c
ijkmedia/ijkplayer/android/ijkplayer_jni.c
+2
-0
ijkmedia/ijksdl/android/ijksdl_vout_android_surface.c
ijkmedia/ijksdl/android/ijksdl_vout_android_surface.c
+5
-7
未找到文件。
ijkmedia/ijkplayer/android/ijkplayer_android.c
浏览文件 @
a1b9cb9c
...
...
@@ -51,16 +51,17 @@ IjkMediaPlayer *ijkmp_android_create(int(*msg_loop)(void*))
void
ijkmp_android_set_surface_l
(
JNIEnv
*
env
,
IjkMediaPlayer
*
mp
,
jobject
android_surface
)
{
assert
(
mp
);
assert
(
mp
->
ffplayer
);
assert
(
mp
->
ffplayer
->
vout
);
if
(
!
mp
||
!
mp
->
ffplayer
||
!
mp
->
ffplayer
->
vout
)
return
;
SDL_VoutAndroid_SetAndroidSurface
(
env
,
mp
->
ffplayer
->
vout
,
android_surface
);
}
void
ijkmp_android_set_surface
(
JNIEnv
*
env
,
IjkMediaPlayer
*
mp
,
jobject
android_surface
)
{
assert
(
mp
);
if
(
!
mp
)
return
;
MPTRACE
(
"ijkmp_set_android_surface(surface=%p)"
,
(
void
*
)
android_surface
);
pthread_mutex_lock
(
&
mp
->
mutex
);
ijkmp_android_set_surface_l
(
env
,
mp
,
android_surface
);
...
...
ijkmedia/ijkplayer/android/ijkplayer_jni.c
浏览文件 @
a1b9cb9c
...
...
@@ -242,6 +242,7 @@ IjkMediaPlayer_release(JNIEnv *env, jobject thiz)
return
;
// explicit shutdown mp, in case it is not the last mp-ref here
ijkmp_android_set_surface
(
env
,
mp
,
NULL
);
ijkmp_shutdown
(
mp
);
jni_set_media_player
(
env
,
thiz
,
NULL
);
...
...
@@ -255,6 +256,7 @@ IjkMediaPlayer_reset(JNIEnv *env, jobject thiz)
IjkMediaPlayer
*
mp
=
jni_get_media_player
(
env
,
thiz
);
JNI_CHECK_GOTO
(
mp
,
env
,
NULL
,
"mpjni: reset: null mp"
,
LABEL_RETURN
);
ijkmp_android_set_surface
(
env
,
mp
,
NULL
);
ijkmp_reset
(
mp
);
LABEL_RETURN:
...
...
ijkmedia/ijksdl/android/ijksdl_vout_android_surface.c
浏览文件 @
a1b9cb9c
...
...
@@ -35,13 +35,11 @@ SDL_Vout *SDL_VoutAndroid_CreateForAndroidSurface()
void
SDL_VoutAndroid_SetAndroidSurface
(
JNIEnv
*
env
,
SDL_Vout
*
vout
,
jobject
android_surface
)
{
if
(
!
android_surface
)
return
;
ANativeWindow
*
native_window
=
ANativeWindow_fromSurface
(
env
,
android_surface
);
if
(
!
native_window
)
return
;
ANativeWindow
*
native_window
=
NULL
;
if
(
android_surface
)
native_window
=
ANativeWindow_fromSurface
(
env
,
android_surface
);
SDL_VoutAndroid_SetNativeWindow
(
vout
,
native_window
);
ANativeWindow_release
(
native_window
);
if
(
native_window
)
ANativeWindow_release
(
native_window
);
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录