Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
qq_25606643
ijkplayer
提交
6b2e09ee
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,发现更多精彩内容 >>
提交
6b2e09ee
编写于
6月 24, 2013
作者:
Z
Zhang Rui
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
jni: fix incorrect AttachCurrentThread
上级
09c7f033
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
10 addition
and
24 deletion
+10
-24
ijkmediaplayer/jni/ijkplayer/android/ijkplayer_android.c
ijkmediaplayer/jni/ijkplayer/android/ijkplayer_android.c
+6
-4
ijkmediaplayer/jni/ijkplayer/android/ijkplayer_android.h
ijkmediaplayer/jni/ijkplayer/android/ijkplayer_android.h
+1
-1
ijkmediaplayer/jni/ijkplayer/android/ijkplayer_jni.c
ijkmediaplayer/jni/ijkplayer/android/ijkplayer_jni.c
+1
-1
ijkmediaplayer/jni/ijksdl/android/ijksdl_vout_android_surface.c
...iaplayer/jni/ijksdl/android/ijksdl_vout_android_surface.c
+1
-17
ijkmediaplayer/jni/ijksdl/android/ijksdl_vout_android_surface.h
...iaplayer/jni/ijksdl/android/ijksdl_vout_android_surface.h
+1
-1
未找到文件。
ijkmediaplayer/jni/ijkplayer/android/ijkplayer_android.c
浏览文件 @
6b2e09ee
...
...
@@ -428,21 +428,23 @@ long ijkmp_get_duration(IjkMediaPlayer *mp)
return
retval
;
}
void
ijkmp_set_android_surface_l
(
IjkMediaPlayer
*
mp
,
jobject
android_surface
)
void
ijkmp_set_android_surface_l
(
JNIEnv
*
env
,
IjkMediaPlayer
*
mp
,
jobject
android_surface
)
{
assert
(
mp
);
assert
(
mp
->
ffplayer
);
assert
(
mp
->
ffplayer
->
vout
);
SDL_VoutAndroid_SetAndroidSurface
(
mp
->
ffplayer
->
vout
,
android_surface
);
SDL_VoutAndroid_SetAndroidSurface
(
env
,
mp
->
ffplayer
->
vout
,
android_surface
);
}
void
ijkmp_set_android_surface
(
IjkMediaPlayer
*
mp
,
jobject
android_surface
)
void
ijkmp_set_android_surface
(
JNIEnv
*
env
,
IjkMediaPlayer
*
mp
,
jobject
android_surface
)
{
assert
(
mp
);
MPTRACE
(
"ijkmp_set_android_surface(%p)"
,
(
void
*
)
android_surface
);
pthread_mutex_lock
(
&
mp
->
mutex
);
ijkmp_set_android_surface_l
(
mp
,
android_surface
);
ijkmp_set_android_surface_l
(
env
,
mp
,
android_surface
);
pthread_mutex_unlock
(
&
mp
->
mutex
);
MPTRACE
(
"ijkmp_set_android_surface(%p)=void"
,
(
void
*
)
android_surface
);
}
void
*
ijkmp_set_weak_thiz
(
IjkMediaPlayer
*
mp
,
void
*
weak_thiz
)
...
...
ijkmediaplayer/jni/ijkplayer/android/ijkplayer_android.h
浏览文件 @
6b2e09ee
...
...
@@ -163,7 +163,7 @@ long ijkmp_get_current_position(IjkMediaPlayer *mp);
long
ijkmp_get_duration
(
IjkMediaPlayer
*
mp
);
void
ijkmp_reset
(
IjkMediaPlayer
*
mp
);
void
ijkmp_set_android_surface
(
IjkMediaPlayer
*
mp
,
jobject
android_surface
);
void
ijkmp_set_android_surface
(
JNIEnv
*
env
,
IjkMediaPlayer
*
mp
,
jobject
android_surface
);
void
*
ijkmp_set_weak_thiz
(
IjkMediaPlayer
*
mp
,
void
*
weak_thiz
);
...
...
ijkmediaplayer/jni/ijkplayer/android/ijkplayer_jni.c
浏览文件 @
6b2e09ee
...
...
@@ -117,7 +117,7 @@ IjkMediaPlayer_setVideoSurface(JNIEnv *env, jobject thiz, jobject jsurface)
IjkMediaPlayer
*
mp
=
jni_get_media_player
(
env
,
thiz
);
JNI_CHECK_GOTO
(
mp
,
env
,
NULL
,
"mpjni: setVideoSurface: null mp"
,
LABEL_RETURN
);
ijkmp_set_android_surface
(
mp
,
jsurface
);
ijkmp_set_android_surface
(
env
,
mp
,
jsurface
);
LABEL_RETURN:
ijkmp_dec_ref_p
(
&
mp
);
...
...
ijkmediaplayer/jni/ijksdl/android/ijksdl_vout_android_surface.c
浏览文件 @
6b2e09ee
...
...
@@ -33,7 +33,7 @@ SDL_Vout *SDL_VoutAndroid_CreateForAndroidSurface()
return
SDL_VoutAndroid_CreateForANativeWindow
();
}
static
void
SDL_VoutAndroid_SetAndroidSurface_n
(
JNIEnv
*
env
,
SDL_Vout
*
vout
,
jobject
android_surface
)
void
SDL_VoutAndroid_SetAndroidSurface
(
JNIEnv
*
env
,
SDL_Vout
*
vout
,
jobject
android_surface
)
{
if
(
!
android_surface
)
return
;
...
...
@@ -45,19 +45,3 @@ static void SDL_VoutAndroid_SetAndroidSurface_n(JNIEnv *env, SDL_Vout *vout, job
SDL_VoutAndroid_SetNativeWindow
(
vout
,
native_window
);
ANativeWindow_release
(
native_window
);
}
void
SDL_VoutAndroid_SetAndroidSurface
(
SDL_Vout
*
vout
,
jobject
android_surface
)
{
if
(
!
android_surface
)
return
;
JNIEnv
*
env
=
NULL
;
if
(
JNI_OK
!=
SDL_AndroidJni_AttachCurrentThread
(
&
env
))
{
ALOGE
(
"SDL_VoutAndroid_SetAndroidSurface: AttachCurrentThread: failed"
);
return
;
}
SDL_VoutAndroid_SetAndroidSurface_n
(
env
,
vout
,
android_surface
);
SDL_AndroidJni_DetachCurrentThread
();
}
ijkmediaplayer/jni/ijksdl/android/ijksdl_vout_android_surface.h
浏览文件 @
6b2e09ee
...
...
@@ -29,6 +29,6 @@
#include "../ijksdl_vout.h"
SDL_Vout
*
SDL_VoutAndroid_CreateForAndroidSurface
();
void
SDL_VoutAndroid_SetAndroidSurface
(
SDL_Vout
*
vout
,
jobject
android_surface
);
void
SDL_VoutAndroid_SetAndroidSurface
(
JNIEnv
*
env
,
SDL_Vout
*
vout
,
jobject
android_surface
);
#endif
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录