Skip to content

Commit af4a9c5

Browse files
committed
添加android sei notify
1 parent da5de55 commit af4a9c5

File tree

5 files changed

+20
-0
lines changed

5 files changed

+20
-0
lines changed

android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/AbstractMediaPlayer.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,10 @@ protected final boolean notifyOnInfo(int what, int extra) {
110110
return mOnInfoListener != null && mOnInfoListener.onInfo(this, what, extra);
111111
}
112112

113+
protected final boolean notifyOnInfoSEI(int what, int extra, String seicontent) {
114+
return mOnInfoListener != null && mOnInfoListener.onInfoSEI(this, what, extra, seicontent);
115+
}
116+
113117
protected final void notifyOnTimedText(IjkTimedText text) {
114118
if (mOnTimedTextListener != null)
115119
mOnTimedTextListener.onTimedText(this, text);

android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/IMediaPlayer.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,7 @@ interface OnErrorListener {
174174

175175
interface OnInfoListener {
176176
boolean onInfo(IMediaPlayer mp, int what, int extra);
177+
boolean onInfoSEI(IMediaPlayer mp, int what, int extra, String sei_content);
177178
}
178179

179180
interface OnTimedTextListener {

android/ijkplayer/ijkplayer-java/src/main/java/tv/danmaku/ijk/media/player/IjkMediaPlayer.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ public final class IjkMediaPlayer extends AbstractMediaPlayer {
7575
private static final int MEDIA_BUFFERING_UPDATE = 3;
7676
private static final int MEDIA_SEEK_COMPLETE = 4;
7777
private static final int MEDIA_SET_VIDEO_SIZE = 5;
78+
private static final int MEDIA_SET_VIDEO_SEI = 7, // arg1 = width, arg2 = height, obj = SEI Content
7879
private static final int MEDIA_TIMED_TEXT = 99;
7980
private static final int MEDIA_ERROR = 100;
8081
private static final int MEDIA_INFO = 200;
@@ -1041,6 +1042,11 @@ public void handleMessage(Message msg) {
10411042
player.notifyOnTimedText(text);
10421043
}
10431044
return;
1045+
case MEDIA_SET_VIDEO_SEI:
1046+
if (msg.obj) {
1047+
player.notifyOnInfoSEI(msg.arg1, msg.arg2, (String)msg.obj);
1048+
}
1049+
break;
10441050
case MEDIA_NOP: // interface test message - ignore
10451051
break;
10461052

ijkmedia/ijkplayer/android/ijkplayer_android_def.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ enum media_event_type {
3737
MEDIA_SEEK_COMPLETE = 4,
3838
MEDIA_SET_VIDEO_SIZE = 5, // arg1 = width, arg2 = height
3939
MEDIA_GET_IMG_STATE = 6, // arg1 = timestamp, arg2 = result code, obj = file name
40+
MEDIA_SET_VIDEO_SEI = 7, // arg1 = width, arg2 = height, obj = SEI Content
4041
MEDIA_TIMED_TEXT = 99, // not supported yet
4142
MEDIA_ERROR = 100, // arg1, arg2
4243
MEDIA_INFO = 200, // arg1, arg2

ijkmedia/ijkplayer/android/ijkplayer_jni.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1026,6 +1026,14 @@ static void message_loop_n(JNIEnv *env, IjkMediaPlayer *mp)
10261026
MPTRACE("FFP_MSG_COMPLETED:\n");
10271027
post_event(env, weak_thiz, MEDIA_PLAYBACK_COMPLETE, 0, 0);
10281028
break;
1029+
case FFP_MSG_VIDEO_SEI:
1030+
MPTRACE("FFP_MSG_VIDEO_SEI: %s\n", msg.obj);
1031+
if (msg.obj) {
1032+
jstring text = (*env)->NewStringUTF(env, (char *)msg.obj);
1033+
post_event2(env, weak_thiz, MEDIA_SET_VIDEO_SEI, 0, 0, text);
1034+
J4A_DeleteLocalRef__p(env, &text);
1035+
}
1036+
break;
10291037
case FFP_MSG_VIDEO_SIZE_CHANGED:
10301038
MPTRACE("FFP_MSG_VIDEO_SIZE_CHANGED: %d, %d\n", msg.arg1, msg.arg2);
10311039
post_event(env, weak_thiz, MEDIA_SET_VIDEO_SIZE, msg.arg1, msg.arg2);

0 commit comments

Comments
 (0)