Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
NotesChapter
ijkplayer
提交
e7368611
I
ijkplayer
项目概览
NotesChapter
/
ijkplayer
与 Fork 源项目一致
从无法访问的项目Fork
通知
5
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,发现更多精彩内容 >>
提交
e7368611
编写于
12月 15, 2015
作者:
Z
Zhang Rui
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
android: retrieve language from meta
上级
03f3688e
变更
9
隐藏空白更改
内联
并排
Showing
9 changed file
with
41 addition
and
3 deletion
+41
-3
android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/IjkMediaMeta.java
...c/main/java/tv/danmaku/ijk/media/player/IjkMediaMeta.java
+3
-0
android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/misc/AndroidTrackInfo.java
...va/tv/danmaku/ijk/media/player/misc/AndroidTrackInfo.java
+9
-0
android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/misc/ITrackInfo.java
...ain/java/tv/danmaku/ijk/media/player/misc/ITrackInfo.java
+2
-0
android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/misc/IjkTrackInfo.java
...n/java/tv/danmaku/ijk/media/player/misc/IjkTrackInfo.java
+12
-2
android/ijkplayer/ijkplayer-sample/src/main/java/tv/danmaku/ijk/media/sample/widget/media/IjkVideoView.java
...v/danmaku/ijk/media/sample/widget/media/IjkVideoView.java
+7
-0
android/ijkplayer/ijkplayer-sample/src/main/res/values/strings.xml
...jkplayer/ijkplayer-sample/src/main/res/values/strings.xml
+1
-0
ijkmedia/ijkplayer/android/ijkplayer_jni.c
ijkmedia/ijkplayer/android/ijkplayer_jni.c
+2
-1
ijkmedia/ijkplayer/ijkmeta.c
ijkmedia/ijkplayer/ijkmeta.c
+4
-0
ijkmedia/ijkplayer/ijkmeta.h
ijkmedia/ijkplayer/ijkmeta.h
+1
-0
未找到文件。
android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/IjkMediaMeta.java
浏览文件 @
e7368611
...
...
@@ -21,6 +21,7 @@ public class IjkMediaMeta {
public
static
final
String
IJKM_VAL_TYPE__VIDEO
=
"video"
;
public
static
final
String
IJKM_VAL_TYPE__AUDIO
=
"audio"
;
public
static
final
String
IJKM_VAL_TYPE__UNKNOWN
=
"unknown"
;
public
static
final
String
IJKM_KEY_LANGUAGE
=
"language"
;
public
static
final
String
IJKM_KEY_CODEC_NAME
=
"codec_name"
;
public
static
final
String
IJKM_KEY_CODEC_PROFILE
=
"codec_profile"
;
...
...
@@ -200,6 +201,7 @@ public class IjkMediaMeta {
IjkStreamMeta
streamMeta
=
new
IjkStreamMeta
(
index
);
streamMeta
.
mMeta
=
streamBundle
;
streamMeta
.
mType
=
streamMeta
.
getString
(
IJKM_KEY_TYPE
);
streamMeta
.
mLanguage
=
streamMeta
.
getString
(
IJKM_KEY_LANGUAGE
);
if
(
TextUtils
.
isEmpty
(
streamMeta
.
mType
))
continue
;
...
...
@@ -244,6 +246,7 @@ public class IjkMediaMeta {
public
final
int
mIndex
;
public
String
mType
;
public
String
mLanguage
;
// common
public
String
mCodecName
;
...
...
android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/misc/AndroidTrackInfo.java
浏览文件 @
e7368611
...
...
@@ -63,6 +63,15 @@ public class AndroidTrackInfo implements ITrackInfo {
return
new
AndroidMediaFormat
(
mediaFormat
);
}
@TargetApi
(
Build
.
VERSION_CODES
.
JELLY_BEAN
)
@Override
public
String
getLanguage
()
{
if
(
mTrackInfo
==
null
)
return
"und"
;
return
mTrackInfo
.
getLanguage
();
}
@TargetApi
(
Build
.
VERSION_CODES
.
JELLY_BEAN
)
@Override
public
int
getTrackType
()
{
...
...
android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/misc/ITrackInfo.java
浏览文件 @
e7368611
...
...
@@ -26,6 +26,8 @@ public interface ITrackInfo {
IMediaFormat
getFormat
();
String
getLanguage
();
int
getTrackType
();
String
getInfoInline
();
...
...
android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/misc/IjkTrackInfo.java
浏览文件 @
e7368611
...
...
@@ -16,6 +16,8 @@
package
tv.danmaku.ijk.media.player.misc
;
import
android.text.TextUtils
;
import
tv.danmaku.ijk.media.player.IjkMediaMeta
;
public
class
IjkTrackInfo
implements
ITrackInfo
{
...
...
@@ -26,13 +28,21 @@ public class IjkTrackInfo implements ITrackInfo {
mStreamMeta
=
streamMeta
;
}
public
void
setMediaMeta
(
IjkMediaMeta
.
IjkStreamMeta
streamMeta
)
{
mStreamMeta
=
streamMeta
;
}
@Override
public
IMediaFormat
getFormat
()
{
return
new
IjkMediaFormat
(
mStreamMeta
);
}
public
void
setMediaMeta
(
IjkMediaMeta
.
IjkStreamMeta
streamMeta
)
{
mStreamMeta
=
streamMeta
;
@Override
public
String
getLanguage
()
{
if
(
mStreamMeta
==
null
||
TextUtils
.
isEmpty
(
mStreamMeta
.
mLanguage
))
return
"und"
;
return
mStreamMeta
.
mLanguage
;
}
@Override
...
...
android/ijkplayer/ijkplayer-sample/src/main/java/tv/danmaku/ijk/media/sample/widget/media/IjkVideoView.java
浏览文件 @
e7368611
...
...
@@ -1086,6 +1086,7 @@ public class IjkVideoView extends FrameLayout implements MediaController.MediaPl
builder
.
appendSection
(
getContext
().
getString
(
R
.
string
.
mi_stream_fmt1
,
index
));
}
builder
.
appendRow2
(
R
.
string
.
mi_type
,
buildTrackType
(
trackType
));
builder
.
appendRow2
(
R
.
string
.
mi_language
,
buildLanguage
(
trackInfo
.
getLanguage
()));
IMediaFormat
mediaFormat
=
trackInfo
.
getFormat
();
if
(
mediaFormat
==
null
)
{
...
...
@@ -1172,6 +1173,12 @@ public class IjkVideoView extends FrameLayout implements MediaController.MediaPl
}
}
private
String
buildLanguage
(
String
language
)
{
if
(
TextUtils
.
isEmpty
(
language
))
return
"und"
;
return
language
;
}
public
ITrackInfo
[]
getTrackInfo
()
{
if
(
mMediaPlayer
==
null
)
return
null
;
...
...
android/ijkplayer/ijkplayer-sample/src/main/res/values/strings.xml
浏览文件 @
e7368611
...
...
@@ -26,6 +26,7 @@
<string
name=
"mi_length"
>
Length
</string>
<string
name=
"mi_stream_fmt1"
>
Stream #%d
</string>
<string
name=
"mi_type"
>
Type
</string>
<string
name=
"mi_language"
>
Language
</string>
<string
name=
"mi_codec"
>
Codec
</string>
<string
name=
"mi_frame_rate"
>
Frame rate
</string>
<string
name=
"mi_bit_rate"
>
Bit rate
</string>
...
...
ijkmedia/ijkplayer/android/ijkplayer_jni.c
浏览文件 @
e7368611
...
...
@@ -637,7 +637,8 @@ IjkMediaPlayer_getMediaMeta(JNIEnv *env, jobject thiz)
goto
LABEL_RETURN
;
}
fillMetaInternal
(
env
,
jstream_bundle
,
streamRawMeta
,
IJKM_KEY_TYPE
,
IJKM_VAL_TYPE__UNKNOWN
);
fillMetaInternal
(
env
,
jstream_bundle
,
streamRawMeta
,
IJKM_KEY_TYPE
,
IJKM_VAL_TYPE__UNKNOWN
);
fillMetaInternal
(
env
,
jstream_bundle
,
streamRawMeta
,
IJKM_KEY_LANGUAGE
,
NULL
);
const
char
*
type
=
ijkmeta_get_string_l
(
streamRawMeta
,
IJKM_KEY_TYPE
);
if
(
type
)
{
fillMetaInternal
(
env
,
jstream_bundle
,
streamRawMeta
,
IJKM_KEY_CODEC_NAME
,
NULL
);
...
...
ijkmedia/ijkplayer/ijkmeta.c
浏览文件 @
e7368611
...
...
@@ -263,6 +263,10 @@ void ijkmeta_set_avformat_context_l(IjkMediaMeta *meta, AVFormatContext *ic)
}
}
AVDictionaryEntry
*
lang
=
av_dict_get
(
st
->
metadata
,
"language"
,
NULL
,
0
);
if
(
lang
&&
lang
->
value
)
ijkmeta_set_string_l
(
stream_meta
,
IJKM_KEY_LANGUAGE
,
lang
->
value
);
ijkmeta_append_child_l
(
meta
,
stream_meta
);
stream_meta
=
NULL
;
}
...
...
ijkmedia/ijkplayer/ijkmeta.h
浏览文件 @
e7368611
...
...
@@ -39,6 +39,7 @@
#define IJKM_VAL_TYPE__VIDEO "video"
#define IJKM_VAL_TYPE__AUDIO "audio"
#define IJKM_VAL_TYPE__UNKNOWN "unknown"
#define IJKM_KEY_LANGUAGE "language"
#define IJKM_KEY_CODEC_NAME "codec_name"
#define IJKM_KEY_CODEC_PROFILE "codec_profile"
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录