Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
qq_25606643
ijkplayer
提交
4b682907
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,发现更多精彩内容 >>
提交
4b682907
编写于
9月 25, 2013
作者:
Z
Zhang Rui
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
IJKFFPlayer: add msg pool
上级
401d22ab
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
65 addition
and
1 deletion
+65
-1
ios/IJKMediaPlayer/IJKMediaPlayer/IJKFFPlayerController.m
ios/IJKMediaPlayer/IJKMediaPlayer/IJKFFPlayerController.m
+13
-1
ios/IJKMediaPlayer/IJKMediaPlayer/IJKFFPlayerDef.h
ios/IJKMediaPlayer/IJKMediaPlayer/IJKFFPlayerDef.h
+8
-0
ios/IJKMediaPlayer/IJKMediaPlayer/IJKFFPlayerDef.m
ios/IJKMediaPlayer/IJKMediaPlayer/IJKFFPlayerDef.m
+44
-0
未找到文件。
ios/IJKMediaPlayer/IJKMediaPlayer/IJKFFPlayerController.m
浏览文件 @
4b682907
...
@@ -12,6 +12,7 @@
...
@@ -12,6 +12,7 @@
@implementation
IJKFFPlayerController
{
@implementation
IJKFFPlayerController
{
NSURL
*
_url
;
NSURL
*
_url
;
IjkMediaPlayer
*
_mediaPlayer
;
IjkMediaPlayer
*
_mediaPlayer
;
IJKFFPlayerMessagePool
*
_msgPool
;
}
}
@synthesize
view
=
_view
;
@synthesize
view
=
_view
;
...
@@ -29,6 +30,8 @@
...
@@ -29,6 +30,8 @@
_url
=
aUrl
;
_url
=
aUrl
;
_mediaPlayer
=
ijkmp_ios_create
(
media_player_msg_loop
);
_mediaPlayer
=
ijkmp_ios_create
(
media_player_msg_loop
);
_msgPool
=
[[
IJKFFPlayerMessagePool
alloc
]
init
];
ijkmp_set_weak_thiz
(
_mediaPlayer
,
(
__bridge_retained
void
*
)
self
);
ijkmp_set_weak_thiz
(
_mediaPlayer
,
(
__bridge_retained
void
*
)
self
);
IJKSDLGLView
*
glView
=
[[
IJKSDLGLView
alloc
]
initWithFrame
:[[
UIScreen
mainScreen
]
bounds
]];
IJKSDLGLView
*
glView
=
[[
IJKSDLGLView
alloc
]
initWithFrame
:[[
UIScreen
mainScreen
]
bounds
]];
...
@@ -205,6 +208,12 @@
...
@@ -205,6 +208,12 @@
NSLog
(
@"unknown FFP_MSG_xxx(%d)"
,
avmsg
->
what
);
NSLog
(
@"unknown FFP_MSG_xxx(%d)"
,
avmsg
->
what
);
break
;
break
;
}
}
[
_msgPool
recycle
:
msg
];
}
-
(
IJKFFPlayerMessage
*
)
obtainMessage
{
return
[
_msgPool
obtain
];
}
}
inline
static
IJKFFPlayerController
*
ffplayerRetain
(
void
*
arg
)
{
inline
static
IJKFFPlayerController
*
ffplayerRetain
(
void
*
arg
)
{
...
@@ -219,7 +228,10 @@ int media_player_msg_loop(void* arg)
...
@@ -219,7 +228,10 @@ int media_player_msg_loop(void* arg)
while
(
ffpController
&&
true
)
{
while
(
ffpController
&&
true
)
{
@autoreleasepool
{
@autoreleasepool
{
IJKFFPlayerMessage
*
msg
=
[[
IJKFFPlayerMessage
alloc
]
init
];
IJKFFPlayerMessage
*
msg
=
[
ffpController
obtainMessage
];
if
(
!
msg
)
break
;
int
retval
=
ijkmp_get_msg
(
mp
,
&
msg
->
_msg
,
1
);
int
retval
=
ijkmp_get_msg
(
mp
,
&
msg
->
_msg
,
1
);
if
(
retval
<
0
)
if
(
retval
<
0
)
break
;
break
;
...
...
ios/IJKMediaPlayer/IJKMediaPlayer/IJKFFPlayerDef.h
浏览文件 @
4b682907
...
@@ -16,6 +16,14 @@
...
@@ -16,6 +16,14 @@
@end
@end
@interface
IJKFFPlayerMessagePool
:
NSObject
-
(
IJKFFPlayerMessagePool
*
)
init
;
-
(
IJKFFPlayerMessage
*
)
obtain
;
-
(
void
)
recycle
:(
IJKFFPlayerMessage
*
)
msg
;
@end
struct
IJKSize
{
struct
IJKSize
{
NSInteger
width
;
NSInteger
width
;
...
...
ios/IJKMediaPlayer/IJKMediaPlayer/IJKFFPlayerDef.m
浏览文件 @
4b682907
...
@@ -9,4 +9,48 @@
...
@@ -9,4 +9,48 @@
#import "IJKFFPlayerDef.h"
#import "IJKFFPlayerDef.h"
@implementation
IJKFFPlayerMessage
@implementation
IJKFFPlayerMessage
@end
@implementation
IJKFFPlayerMessagePool
{
NSMutableArray
*
_array
;
}
-
(
IJKFFPlayerMessagePool
*
)
init
{
self
=
[
super
init
];
if
(
self
)
{
_array
=
[[
NSMutableArray
alloc
]
init
];
}
return
self
;
}
-
(
IJKFFPlayerMessage
*
)
obtain
{
IJKFFPlayerMessage
*
msg
=
nil
;
@synchronized
(
self
)
{
NSUInteger
count
=
[
_array
count
];
if
(
count
>
0
)
{
msg
=
[
_array
objectAtIndex
:
count
-
1
];
[
_array
removeLastObject
];
}
}
if
(
!
msg
)
msg
=
[[
IJKFFPlayerMessage
alloc
]
init
];
return
msg
;
}
-
(
void
)
recycle
:(
IJKFFPlayerMessage
*
)
msg
{
if
(
!
msg
)
return
;
@synchronized
(
self
)
{
if
([
_array
count
]
<=
10
)
[
_array
addObject
:
msg
];
}
}
@end
@end
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录