第一部分:
IJKMEDIA: SDL_JNI_DetachThreadEnv
ijkplayer如何断掉握手 Android ? ijkplayer如何释放连接 Android ?
/*
* Do not change these values without updating their counterparts in native
*/
int MEDIA_INFO_UNKNOWN = 1;//未知信息
int MEDIA_INFO_STARTED_AS_NEXT = 2;//播放下一条
int MEDIA_INFO_VIDEO_RENDERING_START = 3;//视频开始整备中,准备渲染
int MEDIA_INFO_VIDEO_TRACK_LAGGING = 700;//视频日志跟踪
int MEDIA_INFO_BUFFERING_START = 701;//开始缓冲中 开始缓冲
int MEDIA_INFO_BUFFERING_END = 702;//缓冲结束
int MEDIA_INFO_NETWORK_BANDWIDTH = 703;//网络带宽,网速方面
int MEDIA_INFO_BAD_INTERLEAVING = 800;//
int MEDIA_INFO_NOT_SEEKABLE = 801;//不可设置播放位置,直播方面
int MEDIA_INFO_METADATA_UPDATE = 802;//
int MEDIA_INFO_TIMED_TEXT_ERROR = 900;
int MEDIA_INFO_UNSUPPORTED_SUBTITLE = 901;//不支持字幕
int MEDIA_INFO_SUBTITLE_TIMED_OUT = 902;//字幕超时
int MEDIA_INFO_VIDEO_INTERRUPT= -10000;//数据连接中断,一般是视频源有问题或者数据格式不支持,比如音频不是AAC之类的
int MEDIA_INFO_VIDEO_ROTATION_CHANGED = 10001;//视频方向改变,视频选择信息
int MEDIA_INFO_AUDIO_RENDERING_START = 10002;//音频准备渲染中
MEDIA_INFO_AUDIO_DECODED_START = 10003,
MEDIA_INFO_VIDEO_DECODED_START = 10004,
MEDIA_INFO_OPEN_INPUT = 10005,
MEDIA_INFO_FIND_STREAM_INFO = 10006,
MEDIA_INFO_COMPONENT_OPEN = 10007,
MEDIA_INFO_VIDEO_SEEK_RENDERING_START = 10008,
MEDIA_INFO_AUDIO_SEEK_RENDERING_START = 10009,
int MEDIA_ERROR_SERVER_DIED = 100;//服务挂掉,视频中断,一般是视频源异常或者不支持的视频类型。
int MEDIA_ERROR_NOT_VALID_FOR_PROGRESSIVE_PLAYBACK = 200;//数据错误没有有效的回收
int MEDIA_ERROR_IO = -1004;//IO 错误
int MEDIA_ERROR_MALFORMED = -1007;
int MEDIA_ERROR_UNSUPPORTED = -1010;//数据不支持
int MEDIA_ERROR_TIMED_OUT = -110;//数据超时
Error (-10000,0)
第二部分:NativeInvoke
1111 public interface OnNativeInvokeListener {
1112
1113 int CTRL_WILL_TCP_OPEN = 0x20001; // NO ARGS
1114 int CTRL_DID_TCP_OPEN = 0x20002; // ARG_ERROR, ARG_FAMILIY, ARG_IP, ARG_PORT, ARG_FD
1115
1116 int CTRL_WILL_HTTP_OPEN = 0x20003; // ARG_URL, ARG_SEGMENT_INDEX, ARG_RETRY_COUNTER
1117 int CTRL_WILL_LIVE_OPEN = 0x20005; // ARG_URL, ARG_RETRY_COUNTER
1118 int CTRL_WILL_CONCAT_RESOLVE_SEGMENT = 0x20007; // ARG_URL, ARG_SEGMENT_INDEX, ARG_RETRY_COUNTER
1119
1120 int EVENT_WILL_HTTP_OPEN = 0x1; // ARG_URL
1121 int EVENT_DID_HTTP_OPEN = 0x2; // ARG_URL, ARG_ERROR, ARG_HTTP_CODE
1122 int EVENT_WILL_HTTP_SEEK = 0x3; // ARG_URL, ARG_OFFSET
1123 int EVENT_DID_HTTP_SEEK = 0x4; // ARG_URL, ARG_OFFSET, ARG_ERROR, ARG_HTTP_CODE, ARG_FILE_SIZE
1124
1125 String ARG_URL = "url";
1126 String ARG_SEGMENT_INDEX = "segment_index";
1127 String ARG_RETRY_COUNTER = "retry_counter";
1128
1129 String ARG_ERROR = "error";
1130 String ARG_FAMILIY = "family";
1131 String ARG_IP = "ip";
1132 String ARG_PORT = "port";
1133 String ARG_FD = "fd";
1134
1135 String ARG_OFFSET = "offset";
1136 String ARG_HTTP_CODE = "http_code";
1137 String ARG_FILE_SIZE = "file_size";
1138
1139 /*
1140 * @return true if invoke is handled
1141 * @throws Exception on any error
1142 */
1143 boolean onNativeInvoke(int what, Bundle args);
1144 }