Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
qq_25606643
ijkplayer
提交
88790fa4
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,发现更多精彩内容 >>
提交
88790fa4
编写于
12月 18, 2015
作者:
Z
Zhang Rui
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
android/jjk: add android.media.PlaybackParams
上级
c8da1aa0
变更
20
隐藏空白更改
内联
并排
Showing
20 changed file
with
357 addition
and
6 deletion
+357
-6
ijkmedia/ijksdl/Android.mk
ijkmedia/ijksdl/Android.mk
+2
-0
ijkmedia/ijksdl/android/jjk/Makefile
ijkmedia/ijksdl/android/jjk/Makefile
+1
-0
ijkmedia/ijksdl/android/jjk/c/android/media/AudioTrack.c
ijkmedia/ijksdl/android/jjk/c/android/media/AudioTrack.c
+66
-0
ijkmedia/ijksdl/android/jjk/c/android/media/AudioTrack.h
ijkmedia/ijksdl/android/jjk/c/android/media/AudioTrack.h
+9
-0
ijkmedia/ijksdl/android/jjk/c/android/media/AudioTrack.util.c
...edia/ijksdl/android/jjk/c/android/media/AudioTrack.util.c
+67
-0
ijkmedia/ijksdl/android/jjk/c/android/media/AudioTrack.util.h
...edia/ijksdl/android/jjk/c/android/media/AudioTrack.util.h
+35
-0
ijkmedia/ijksdl/android/jjk/c/android/media/MediaCodec.h
ijkmedia/ijksdl/android/jjk/c/android/media/MediaCodec.h
+2
-0
ijkmedia/ijksdl/android/jjk/c/android/media/MediaFormat.h
ijkmedia/ijksdl/android/jjk/c/android/media/MediaFormat.h
+2
-0
ijkmedia/ijksdl/android/jjk/c/android/media/PlaybackParams.c
ijkmedia/ijksdl/android/jjk/c/android/media/PlaybackParams.c
+97
-0
ijkmedia/ijksdl/android/jjk/c/android/media/PlaybackParams.h
ijkmedia/ijksdl/android/jjk/c/android/media/PlaybackParams.h
+33
-0
ijkmedia/ijksdl/android/jjk/c/android/os/Bundle.h
ijkmedia/ijksdl/android/jjk/c/android/os/Bundle.h
+2
-0
ijkmedia/ijksdl/android/jjk/c/java/util/ArrayList.h
ijkmedia/ijksdl/android/jjk/c/java/util/ArrayList.h
+2
-0
ijkmedia/ijksdl/android/jjk/c/tv/danmaku/ijk/media/player/IjkMediaPlayer.h
...ndroid/jjk/c/tv/danmaku/ijk/media/player/IjkMediaPlayer.h
+2
-0
ijkmedia/ijksdl/android/jjk/c/tv/danmaku/ijk/media/player/misc/IMediaDataSource.h
...jjk/c/tv/danmaku/ijk/media/player/misc/IMediaDataSource.h
+2
-0
ijkmedia/ijksdl/android/jjk/internal/jjk_allclasses.c
ijkmedia/ijksdl/android/jjk/internal/jjk_allclasses.c
+6
-4
ijkmedia/ijksdl/android/jjk/internal/jjk_internal.h
ijkmedia/ijksdl/android/jjk/internal/jjk_internal.h
+1
-1
ijkmedia/ijksdl/android/jjk/java/android/media/AudioTrack.java
...dia/ijksdl/android/jjk/java/android/media/AudioTrack.java
+6
-0
ijkmedia/ijksdl/android/jjk/java/android/media/PlaybackParams.java
...ijksdl/android/jjk/java/android/media/PlaybackParams.java
+7
-0
ijkmedia/ijksdl/android/jjk/parser/ast/ast_compilation_unit.cpp
...ia/ijksdl/android/jjk/parser/ast/ast_compilation_unit.cpp
+3
-1
ijkmedia/ijksdl/android/jjk/parser/ast/ast_method.cpp
ijkmedia/ijksdl/android/jjk/parser/ast/ast_method.cpp
+12
-0
未找到文件。
ijkmedia/ijksdl/Android.mk
浏览文件 @
88790fa4
...
...
@@ -61,8 +61,10 @@ LOCAL_SRC_FILES += android/ijksdl_vout_overlay_android_mediacodec.c
LOCAL_SRC_FILES
+=
android/jjk/internal/jjk_allclasses.c
LOCAL_SRC_FILES
+=
android/jjk/internal/jjk_internal.c
LOCAL_SRC_FILES
+=
android/jjk/c/android/media/AudioTrack.c
LOCAL_SRC_FILES
+=
android/jjk/c/android/media/AudioTrack.util.c
LOCAL_SRC_FILES
+=
android/jjk/c/android/media/MediaCodec.c
LOCAL_SRC_FILES
+=
android/jjk/c/android/media/MediaFormat.c
LOCAL_SRC_FILES
+=
android/jjk/c/android/media/PlaybackParams.c
LOCAL_SRC_FILES
+=
android/jjk/c/android/os/Build.c
LOCAL_SRC_FILES
+=
android/jjk/c/android/os/Bundle.c
LOCAL_SRC_FILES
+=
android/jjk/c/java/nio/Buffer.c
...
...
ijkmedia/ijksdl/android/jjk/Makefile
浏览文件 @
88790fa4
...
...
@@ -4,6 +4,7 @@ ALL_SRC = \
c/android/media/AudioTrack.c
\
c/android/media/MediaCodec.c
\
c/android/media/MediaFormat.c
\
c/android/media/PlaybackParams.c
\
c/android/os/Build.c
\
c/android/os/Bundle.c
\
c/java/nio/Buffer.c
\
...
...
ijkmedia/ijksdl/android/jjk/c/android/media/AudioTrack.c
浏览文件 @
88790fa4
...
...
@@ -36,6 +36,8 @@ typedef struct JJKC_AudioTrack {
jmethodID
method_write
;
jmethodID
method_setStereoVolume
;
jmethodID
method_getAudioSessionId
;
jmethodID
method_getPlaybackParams
;
jmethodID
method_setPlaybackParams
;
}
JJKC_AudioTrack
;
static
JJKC_AudioTrack
class_JJKC_AudioTrack
;
...
...
@@ -234,6 +236,52 @@ jint JJKC_AudioTrack__getAudioSessionId__catchAll(JNIEnv *env, jobject thiz)
return
ret_value
;
}
jobject
JJKC_AudioTrack__getPlaybackParams
(
JNIEnv
*
env
,
jobject
thiz
)
{
return
(
*
env
)
->
CallObjectMethod
(
env
,
thiz
,
class_JJKC_AudioTrack
.
method_getPlaybackParams
);
}
jobject
JJKC_AudioTrack__getPlaybackParams__catchAll
(
JNIEnv
*
env
,
jobject
thiz
)
{
jobject
ret_object
=
JJKC_AudioTrack__getPlaybackParams
(
env
,
thiz
);
if
(
JJK_ExceptionCheck__catchAll
(
env
)
||
!
ret_object
)
{
return
NULL
;
}
return
ret_object
;
}
jobject
JJKC_AudioTrack__getPlaybackParams__asGlobalRef__catchAll
(
JNIEnv
*
env
,
jobject
thiz
)
{
jobject
ret_object
=
NULL
;
jobject
local_object
=
JJKC_AudioTrack__getPlaybackParams__catchAll
(
env
,
thiz
);
if
(
JJK_ExceptionCheck__catchAll
(
env
)
||
!
local_object
)
{
ret_object
=
NULL
;
goto
fail
;
}
ret_object
=
JJK_NewGlobalRef__catchAll
(
env
,
local_object
);
if
(
!
ret_object
)
{
ret_object
=
NULL
;
goto
fail
;
}
fail:
JJK_DeleteLocalRef__p
(
env
,
&
local_object
);
return
ret_object
;
}
void
JJKC_AudioTrack__setPlaybackParams
(
JNIEnv
*
env
,
jobject
thiz
,
jobject
params
)
{
(
*
env
)
->
CallVoidMethod
(
env
,
thiz
,
class_JJKC_AudioTrack
.
method_setPlaybackParams
,
params
);
}
void
JJKC_AudioTrack__setPlaybackParams__catchAll
(
JNIEnv
*
env
,
jobject
thiz
,
jobject
params
)
{
JJKC_AudioTrack__setPlaybackParams
(
env
,
thiz
,
params
);
JJK_ExceptionCheck__catchAll
(
env
);
}
int
JJK_loadClass__JJKC_AudioTrack
(
JNIEnv
*
env
)
{
int
ret
=
-
1
;
...
...
@@ -338,6 +386,24 @@ int JJK_loadClass__JJKC_AudioTrack(JNIEnv *env)
if
(
class_JJKC_AudioTrack
.
method_getAudioSessionId
==
NULL
)
goto
fail
;
if
(
JJK_GetSystemAndroidApiLevel
(
env
)
>=
23
)
{
class_id
=
class_JJKC_AudioTrack
.
id
;
name
=
"getPlaybackParams"
;
sign
=
"()Landroid/media/PlaybackParams;"
;
class_JJKC_AudioTrack
.
method_getPlaybackParams
=
JJK_GetMethodID__catchAll
(
env
,
class_id
,
name
,
sign
);
if
(
class_JJKC_AudioTrack
.
method_getPlaybackParams
==
NULL
)
goto
fail
;
}
if
(
JJK_GetSystemAndroidApiLevel
(
env
)
>=
23
)
{
class_id
=
class_JJKC_AudioTrack
.
id
;
name
=
"setPlaybackParams"
;
sign
=
"(Landroid/media/PlaybackParams;)V"
;
class_JJKC_AudioTrack
.
method_setPlaybackParams
=
JJK_GetMethodID__catchAll
(
env
,
class_id
,
name
,
sign
);
if
(
class_JJKC_AudioTrack
.
method_setPlaybackParams
==
NULL
)
goto
fail
;
}
ALOGD
(
"JJKLoader: OK: '%s' loaded
\n
"
,
"android.media.AudioTrack"
);
ret
=
0
;
fail:
...
...
ijkmedia/ijksdl/android/jjk/c/android/media/AudioTrack.h
浏览文件 @
88790fa4
...
...
@@ -50,6 +50,15 @@ jint JJKC_AudioTrack__setStereoVolume(JNIEnv *env, jobject thiz, jfloat leftGain
jint
JJKC_AudioTrack__setStereoVolume__catchAll
(
JNIEnv
*
env
,
jobject
thiz
,
jfloat
leftGain
,
jfloat
rightGain
);
jint
JJKC_AudioTrack__getAudioSessionId
(
JNIEnv
*
env
,
jobject
thiz
);
jint
JJKC_AudioTrack__getAudioSessionId__catchAll
(
JNIEnv
*
env
,
jobject
thiz
);
jobject
JJKC_AudioTrack__getPlaybackParams
(
JNIEnv
*
env
,
jobject
thiz
);
jobject
JJKC_AudioTrack__getPlaybackParams__catchAll
(
JNIEnv
*
env
,
jobject
thiz
);
jobject
JJKC_AudioTrack__getPlaybackParams__asGlobalRef__catchAll
(
JNIEnv
*
env
,
jobject
thiz
);
void
JJKC_AudioTrack__setPlaybackParams
(
JNIEnv
*
env
,
jobject
thiz
,
jobject
params
);
void
JJKC_AudioTrack__setPlaybackParams__catchAll
(
JNIEnv
*
env
,
jobject
thiz
,
jobject
params
);
int
JJK_loadClass__JJKC_AudioTrack
(
JNIEnv
*
env
);
#define JJK_HAVE__JJKC_AudioTrack
#include "AudioTrack.util.h"
#endif//JJK__android_media_AudioTrack__H
ijkmedia/ijksdl/android/jjk/c/android/media/AudioTrack.util.c
0 → 100644
浏览文件 @
88790fa4
/*
* copyright (c) 2015 Zhang Rui <bbcallen@gmail.com>
*
* This file is part of ijkPlayer.
*
* ijkPlayer is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* ijkPlayer is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with ijkPlayer; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "AudioTrack.h"
#include "AudioTrack.util.h"
#include "PlaybackParams.h"
#ifdef JJK_HAVE__JJKC_AudioTrack
#define CALL_METHOD(method__) JJKC_AudioTrack__##method__
#else
#define CALL_METHOD(method__) JJKC_android_media_AudioTrack__##method__
#endif
void
JJKC_android_media_AudioTrack__setSpeed
(
JNIEnv
*
env
,
jobject
thiz
,
jfloat
speed
)
{
if
(
JJK_GetSystemAndroidApiLevel
(
env
)
<
23
)
return
;
jobject
temp
=
NULL
;
jobject
params
=
CALL_METHOD
(
getPlaybackParams
)(
env
,
thiz
);
if
(
JJK_ExceptionCheck__throwAny
(
env
)
||
!
params
)
goto
fail
;
#ifdef JJK_HAVE__JJKC_PlaybackParams
temp
=
JJKC_PlaybackParams__setSpeed
(
env
,
params
,
speed
);
#else
temp
=
JJKC_android_media_PlaybackParams__setSpeed
(
env
,
params
,
speed
);
#endif
JJK_DeleteLocalRef__p
(
env
,
&
temp
);
if
(
JJK_ExceptionCheck__throwAny
(
env
))
goto
fail
;
ALOGE
(
"%s %f"
,
__func__
,
(
double
)
speed
);
CALL_METHOD
(
setPlaybackParams
)(
env
,
thiz
,
params
);
if
(
JJK_ExceptionCheck__throwAny
(
env
))
goto
fail
;
fail:
JJK_DeleteLocalRef__p
(
env
,
&
params
);
}
void
JJKC_android_media_AudioTrack__setSpeed__catchAll
(
JNIEnv
*
env
,
jobject
thiz
,
jfloat
speed
)
{
ALOGE
(
"%s"
,
__func__
);
JJKC_android_media_AudioTrack__setSpeed
(
env
,
thiz
,
speed
);
if
(
JJK_ExceptionCheck__catchAll
(
env
))
return
;
return
;
}
ijkmedia/ijksdl/android/jjk/c/android/media/AudioTrack.util.h
0 → 100644
浏览文件 @
88790fa4
/*
* copyright (c) 2015 Zhang Rui <bbcallen@gmail.com>
*
* This file is part of ijkPlayer.
*
* ijkPlayer is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* ijkPlayer is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with ijkPlayer; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef JJK__android_media_AudioTrack__UTIL__H
#define JJK__android_media_AudioTrack__UTIL__H
#include "ijksdl/android/jjk/internal/jjk_internal.h"
#include "AudioTrack.h"
void
JJKC_android_media_AudioTrack__setSpeed
(
JNIEnv
*
env
,
jobject
thiz
,
jfloat
speed
);
void
JJKC_android_media_AudioTrack__setSpeed__catchAll
(
JNIEnv
*
env
,
jobject
thiz
,
jfloat
speed
);
#ifdef JJK_HAVE__JJKC_AudioTrack
inline
static
void
JJKC_AudioTrack__setSpeed
(
JNIEnv
*
env
,
jobject
thiz
,
jfloat
speed
)
{
JJKC_android_media_AudioTrack__setSpeed
(
env
,
thiz
,
speed
);}
inline
static
void
JJKC_AudioTrack__setSpeed__catchAll
(
JNIEnv
*
env
,
jobject
thiz
,
jfloat
speed
)
{
JJKC_android_media_AudioTrack__setSpeed__catchAll
(
env
,
thiz
,
speed
);}
#endif
#endif
ijkmedia/ijksdl/android/jjk/c/android/media/MediaCodec.h
浏览文件 @
88790fa4
...
...
@@ -74,4 +74,6 @@ void JJKC_MediaCodec__release(JNIEnv *env, jobject thiz);
void
JJKC_MediaCodec__release__catchAll
(
JNIEnv
*
env
,
jobject
thiz
);
int
JJK_loadClass__JJKC_MediaCodec
(
JNIEnv
*
env
);
#define JJK_HAVE__JJKC_MediaCodec
#endif//JJK__android_media_MediaCodec__H
ijkmedia/ijksdl/android/jjk/c/android/media/MediaFormat.h
浏览文件 @
88790fa4
...
...
@@ -46,4 +46,6 @@ void JJKC_MediaFormat__setByteBuffer__withCString(JNIEnv *env, jobject thiz, con
void
JJKC_MediaFormat__setByteBuffer__withCString__catchAll
(
JNIEnv
*
env
,
jobject
thiz
,
const
char
*
name_cstr__
,
jobject
bytes
);
int
JJK_loadClass__JJKC_MediaFormat
(
JNIEnv
*
env
);
#define JJK_HAVE__JJKC_MediaFormat
#endif//JJK__android_media_MediaFormat__H
ijkmedia/ijksdl/android/jjk/c/android/media/PlaybackParams.c
0 → 100644
浏览文件 @
88790fa4
/*
* copyright (c) 2015 Zhang Rui <bbcallen@gmail.com>
*
* This file is part of ijkPlayer.
*
* ijkPlayer is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* ijkPlayer is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with ijkPlayer; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "PlaybackParams.h"
typedef
struct
JJKC_PlaybackParams
{
jclass
id
;
jmethodID
method_setSpeed
;
}
JJKC_PlaybackParams
;
static
JJKC_PlaybackParams
class_JJKC_PlaybackParams
;
jobject
JJKC_PlaybackParams__setSpeed
(
JNIEnv
*
env
,
jobject
thiz
,
jfloat
speed
)
{
return
(
*
env
)
->
CallObjectMethod
(
env
,
thiz
,
class_JJKC_PlaybackParams
.
method_setSpeed
,
speed
);
}
jobject
JJKC_PlaybackParams__setSpeed__catchAll
(
JNIEnv
*
env
,
jobject
thiz
,
jfloat
speed
)
{
jobject
ret_object
=
JJKC_PlaybackParams__setSpeed
(
env
,
thiz
,
speed
);
if
(
JJK_ExceptionCheck__catchAll
(
env
)
||
!
ret_object
)
{
return
NULL
;
}
return
ret_object
;
}
jobject
JJKC_PlaybackParams__setSpeed__asGlobalRef__catchAll
(
JNIEnv
*
env
,
jobject
thiz
,
jfloat
speed
)
{
jobject
ret_object
=
NULL
;
jobject
local_object
=
JJKC_PlaybackParams__setSpeed__catchAll
(
env
,
thiz
,
speed
);
if
(
JJK_ExceptionCheck__catchAll
(
env
)
||
!
local_object
)
{
ret_object
=
NULL
;
goto
fail
;
}
ret_object
=
JJK_NewGlobalRef__catchAll
(
env
,
local_object
);
if
(
!
ret_object
)
{
ret_object
=
NULL
;
goto
fail
;
}
fail:
JJK_DeleteLocalRef__p
(
env
,
&
local_object
);
return
ret_object
;
}
int
JJK_loadClass__JJKC_PlaybackParams
(
JNIEnv
*
env
)
{
int
ret
=
-
1
;
const
char
*
JJK_UNUSED
(
name
)
=
NULL
;
const
char
*
JJK_UNUSED
(
sign
)
=
NULL
;
jclass
JJK_UNUSED
(
class_id
)
=
NULL
;
int
JJK_UNUSED
(
api_level
)
=
0
;
api_level
=
JJK_GetSystemAndroidApiLevel
(
env
);
if
(
api_level
<
23
)
{
ALOGW
(
"JJKLoader: Ignore: '%s' need API %d
\n
"
,
"android.media.PlaybackParams"
,
api_level
);
goto
ignore
;
}
sign
=
"android/media/PlaybackParams"
;
class_JJKC_PlaybackParams
.
id
=
JJK_FindClass__asGlobalRef__catchAll
(
env
,
sign
);
if
(
class_JJKC_PlaybackParams
.
id
==
NULL
)
goto
fail
;
class_id
=
class_JJKC_PlaybackParams
.
id
;
name
=
"setSpeed"
;
sign
=
"(F)Landroid/media/PlaybackParams;"
;
class_JJKC_PlaybackParams
.
method_setSpeed
=
JJK_GetMethodID__catchAll
(
env
,
class_id
,
name
,
sign
);
if
(
class_JJKC_PlaybackParams
.
method_setSpeed
==
NULL
)
goto
fail
;
ALOGD
(
"JJKLoader: OK: '%s' loaded
\n
"
,
"android.media.PlaybackParams"
);
ignore:
ret
=
0
;
fail:
return
ret
;
}
ijkmedia/ijksdl/android/jjk/c/android/media/PlaybackParams.h
0 → 100644
浏览文件 @
88790fa4
/*
* copyright (c) 2015 Zhang Rui <bbcallen@gmail.com>
*
* This file is part of ijkPlayer.
*
* ijkPlayer is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* ijkPlayer is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with ijkPlayer; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef JJK__android_media_PlaybackParams__H
#define JJK__android_media_PlaybackParams__H
#include "ijksdl/android/jjk/internal/jjk_internal.h"
jobject
JJKC_PlaybackParams__setSpeed
(
JNIEnv
*
env
,
jobject
thiz
,
jfloat
speed
);
jobject
JJKC_PlaybackParams__setSpeed__catchAll
(
JNIEnv
*
env
,
jobject
thiz
,
jfloat
speed
);
jobject
JJKC_PlaybackParams__setSpeed__asGlobalRef__catchAll
(
JNIEnv
*
env
,
jobject
thiz
,
jfloat
speed
);
int
JJK_loadClass__JJKC_PlaybackParams
(
JNIEnv
*
env
);
#define JJK_HAVE__JJKC_PlaybackParams
#endif//JJK__android_media_PlaybackParams__H
ijkmedia/ijksdl/android/jjk/c/android/os/Bundle.h
浏览文件 @
88790fa4
...
...
@@ -54,4 +54,6 @@ void JJKC_Bundle__putParcelableArrayList__withCString(JNIEnv *env, jobject thiz,
void
JJKC_Bundle__putParcelableArrayList__withCString__catchAll
(
JNIEnv
*
env
,
jobject
thiz
,
const
char
*
key_cstr__
,
jobject
value
);
int
JJK_loadClass__JJKC_Bundle
(
JNIEnv
*
env
);
#define JJK_HAVE__JJKC_Bundle
#endif//JJK__android_os_Bundle__H
ijkmedia/ijksdl/android/jjk/c/java/util/ArrayList.h
浏览文件 @
88790fa4
...
...
@@ -30,4 +30,6 @@ jboolean JJKC_ArrayList__add(JNIEnv *env, jobject thiz, jobject object);
jboolean
JJKC_ArrayList__add__catchAll
(
JNIEnv
*
env
,
jobject
thiz
,
jobject
object
);
int
JJK_loadClass__JJKC_ArrayList
(
JNIEnv
*
env
);
#define JJK_HAVE__JJKC_ArrayList
#endif//JJK__java_util_ArrayList__H
ijkmedia/ijksdl/android/jjk/c/tv/danmaku/ijk/media/player/IjkMediaPlayer.h
浏览文件 @
88790fa4
...
...
@@ -47,4 +47,6 @@ jboolean JJKC_IjkMediaPlayer__onNativeInvoke(JNIEnv *env, jobject weakThiz, jint
jboolean
JJKC_IjkMediaPlayer__onNativeInvoke__catchAll
(
JNIEnv
*
env
,
jobject
weakThiz
,
jint
what
,
jobject
args
);
int
JJK_loadClass__JJKC_IjkMediaPlayer
(
JNIEnv
*
env
);
#define JJK_HAVE__JJKC_IjkMediaPlayer
#endif//JJK__tv_danmaku_ijk_media_player_IjkMediaPlayer__H
ijkmedia/ijksdl/android/jjk/c/tv/danmaku/ijk/media/player/misc/IMediaDataSource.h
浏览文件 @
88790fa4
...
...
@@ -31,4 +31,6 @@ void JJKC_IMediaDataSource__close(JNIEnv *env, jobject thiz);
void
JJKC_IMediaDataSource__close__catchAll
(
JNIEnv
*
env
,
jobject
thiz
);
int
JJK_loadClass__JJKC_IMediaDataSource
(
JNIEnv
*
env
);
#define JJK_HAVE__JJKC_IMediaDataSource
#endif//JJK__tv_danmaku_ijk_media_player_misc_IMediaDataSource__H
ijkmedia/ijksdl/android/jjk/internal/jjk_allclasses.c
浏览文件 @
88790fa4
...
...
@@ -25,6 +25,7 @@
#include "ijksdl/android/jjk/c/android/media/AudioTrack.h"
#include "ijksdl/android/jjk/c/android/media/MediaCodec.h"
#include "ijksdl/android/jjk/c/android/media/MediaFormat.h"
#include "ijksdl/android/jjk/c/android/media/PlaybackParams.h"
#include "ijksdl/android/jjk/c/android/os/Bundle.h"
#include "ijksdl/android/jjk/c/tv/danmaku/ijk/media/player/IjkMediaPlayer.h"
#include "ijksdl/android/jjk/c/tv/danmaku/ijk/media/player/misc/IMediaDataSource.h"
...
...
@@ -46,10 +47,11 @@ int JJK_LoadAll__catchAll(JNIEnv *env)
// must load before all other android classes
JJK_LOAD_CLASS
(
android_os_Build
);
JJK_LOAD_CLASS
(
AudioTrack
);
// android_media_AudioTrack
JJK_LOAD_CLASS
(
MediaCodec
);
// android_media_MediaCodec
JJK_LOAD_CLASS
(
MediaFormat
);
// android_media_MediaFormat
JJK_LOAD_CLASS
(
Bundle
);
// android_os_Bundle
JJK_LOAD_CLASS
(
AudioTrack
);
// android_media_AudioTrack
JJK_LOAD_CLASS
(
MediaCodec
);
// android_media_MediaCodec
JJK_LOAD_CLASS
(
MediaFormat
);
// android_media_MediaFormat
JJK_LOAD_CLASS
(
PlaybackParams
);
// android_media_PlaybackParams
JJK_LOAD_CLASS
(
Bundle
);
// android_os_Bundle
JJK_LOAD_CLASS
(
IjkMediaPlayer
);
// tv_danmaku_ijk_media_player_IjkMediaPlayer
JJK_LOAD_CLASS
(
IMediaDataSource
);
// tv_danmaku_ijk_media_player_misc_IMediaDataSource
...
...
ijkmedia/ijksdl/android/jjk/internal/jjk_internal.h
浏览文件 @
88790fa4
...
...
@@ -77,6 +77,6 @@ jfieldID JJK_GetStaticFieldID__catchAll(JNIEnv *env, jclass clazz, const char *f
jbyteArray
JJK_NewByteArray__catchAll
(
JNIEnv
*
env
,
jsize
capacity
);
jbyteArray
JJK_NewByteArray__asGlobalRef__catchAll
(
JNIEnv
*
env
,
jsize
capacity
);
int
JJK_GetSystemAndroidApiLevel
();
int
JJK_GetSystemAndroidApiLevel
(
JNIEnv
*
env
);
#endif//JJK_INTERNAL_H
ijkmedia/ijksdl/android/jjk/java/android/media/AudioTrack.java
浏览文件 @
88790fa4
package
android.media
;
@SimpleCClassName
@IncludeUtil
public
class
AudioTrack
{
public
AudioTrack
(
int
streamType
,
int
sampleRateInHz
,
int
channelConfig
,
int
audioFormat
,
int
bufferSizeInBytes
,
int
mode
);
...
...
@@ -19,4 +20,9 @@ public class AudioTrack {
public
int
setStereoVolume
(
float
leftGain
,
float
rightGain
);
public
int
getAudioSessionId
();
@MinApi
(
23
)
public
PlaybackParams
getPlaybackParams
();
@MinApi
(
23
)
void
setPlaybackParams
(
PlaybackParams
params
);
}
ijkmedia/ijksdl/android/jjk/java/android/media/PlaybackParams.java
0 → 100644
浏览文件 @
88790fa4
package
android.media
;
@SimpleCClassName
@MinApi
(
23
)
public
class
PlaybackParams
{
public
PlaybackParams
setSpeed
(
float
speed
);
}
ijkmedia/ijksdl/android/jjk/parser/ast/ast_compilation_unit.cpp
浏览文件 @
88790fa4
...
...
@@ -66,9 +66,11 @@ void CompilationUnit::do_build(std::ostream &h_os, std::ostream &c_os)
clazz
->
build_c_func_decl
(
h_os
);
h_os
<<
std
::
endl
;
if
(
clazz
->
is_
include_util
())
{
if
(
clazz
->
is_
simple_c_class_name
())
{
h_os
<<
"#define JJK_HAVE__"
<<
clazz
->
get_c_class_name
()
<<
std
::
endl
;
h_os
<<
std
::
endl
;
}
if
(
clazz
->
is_include_util
())
{
h_os
<<
"#include
\"
"
<<
clazz
->
get_name
()
<<
".util.h
\"
"
<<
std
::
endl
;
h_os
<<
std
::
endl
;
}
...
...
ijkmedia/ijksdl/android/jjk/parser/ast/ast_method.cpp
浏览文件 @
88790fa4
...
...
@@ -244,6 +244,13 @@ void Method::build_c_member_id_decl(std::ostream &os)
void
Method
::
build_c_member_id_load
(
std
::
ostream
&
os
)
{
os
<<
std
::
endl
;
Annotation
*
annotation
=
get_annotation_at
(
"MinApi"
);
if
(
annotation
)
{
os
<<
build_indent
()
<<
"if (JJK_GetSystemAndroidApiLevel(env) >= "
<<
annotation
->
get_value
()
<<
") {"
<<
std
::
endl
;
increase_build_indent
(
4
);
}
os
<<
build_indent
()
<<
"class_id = "
<<
get_this_class
()
->
get_c_jni_id
()
<<
";
\n
"
;
os
<<
build_indent
()
<<
"name =
\"
"
<<
get_c_jni_method_name
()
<<
"
\"
;
\n
"
;
os
<<
build_indent
()
<<
"sign =
\"
"
<<
get_c_jni_sign
()
<<
"
\"
;
\n
"
;
...
...
@@ -251,6 +258,11 @@ void Method::build_c_member_id_load(std::ostream &os)
<<
"(env, class_id, name, sign);
\n
"
;
os
<<
build_indent
()
<<
"if ("
<<
get_c_jni_id
()
<<
" == NULL)
\n
"
;
os
<<
build_indent
()
<<
" goto fail;
\n
"
;
if
(
annotation
)
{
increase_build_indent
(
-
4
);
os
<<
build_indent
()
<<
"}"
<<
std
::
endl
;
}
}
void
Method
::
_build_c_func_string_argument_cast_statements
(
std
::
ostream
&
os
,
int
flags
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录