Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
小白菜888
Ffmpeg
提交
9deb6d71
F
Ffmpeg
项目概览
小白菜888
/
Ffmpeg
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
F
Ffmpeg
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
9deb6d71
编写于
6月 02, 2007
作者:
M
Michael Niedermayer
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
get rid of one layer of callback obfuscation
Originally committed as revision 9178 to
svn://svn.ffmpeg.org/ffmpeg/trunk
上级
b2292194
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
4 addition
and
16 deletion
+4
-16
libavformat/mpegts.c
libavformat/mpegts.c
+4
-16
未找到文件。
libavformat/mpegts.c
浏览文件 @
9deb6d71
...
...
@@ -111,9 +111,6 @@ struct MpegTSContext {
/** list of PMTs in the last PAT seen */
MpegTSService
**
services
;
/* set service context (XXX: allocated it ?) */
SetServiceCallback
*
set_service_cb
;
void
*
set_service_opaque
;
/** filter for the PAT */
MpegTSFilter
*
pat_filter
;
/** filter for the PMT for the MPEG program number specified by req_sid */
...
...
@@ -529,7 +526,7 @@ static void pmt_cb(void *opaque, const uint8_t *section, int section_len)
}
}
/* all parameters are there */
ts
->
s
et_service_cb
(
ts
->
set_service_opaque
,
0
)
;
ts
->
s
top_parse
=
1
;
mpegts_close_filter
(
ts
,
ts
->
pmt_filter
);
ts
->
pmt_filter
=
NULL
;
}
...
...
@@ -573,7 +570,7 @@ static void pat_cb(void *opaque, const uint8_t *section, int section_len)
}
}
/* not found */
ts
->
s
et_service_cb
(
ts
->
set_service_opaque
,
-
1
)
;
ts
->
s
top_parse
=
1
;
found:
mpegts_close_filter
(
ts
,
ts
->
pat_filter
);
...
...
@@ -633,11 +630,8 @@ static void pat_scan_cb(void *opaque, const uint8_t *section, int section_len)
ts
->
pat_filter
=
NULL
;
}
static
void
mpegts_set_service
(
MpegTSContext
*
ts
,
int
sid
,
SetServiceCallback
*
set_service_cb
,
void
*
opaque
)
static
void
mpegts_set_service
(
MpegTSContext
*
ts
,
int
sid
)
{
ts
->
set_service_cb
=
set_service_cb
;
ts
->
set_service_opaque
=
opaque
;
ts
->
req_sid
=
sid
;
ts
->
pat_filter
=
mpegts_open_section_filter
(
ts
,
PAT_PID
,
pat_cb
,
ts
,
1
);
...
...
@@ -1158,12 +1152,6 @@ static int mpegts_probe(AVProbeData *p)
#endif
}
static
void
set_service_cb
(
void
*
opaque
,
int
ret
)
{
MpegTSContext
*
ts
=
opaque
;
ts
->
stop_parse
=
1
;
}
/* return the 90 kHz PCR and the extension for the 27 MHz PCR. return
(-1) if not available */
static
int
parse_pcr
(
int64_t
*
ppcr_high
,
int
*
ppcr_low
,
...
...
@@ -1266,7 +1254,7 @@ static int mpegts_read_header(AVFormatContext *s,
otherwise try to filter all PATs */
url_fseek
(
pb
,
pos
,
SEEK_SET
);
mpegts_set_service
(
ts
,
sid
,
set_service_cb
,
ts
);
mpegts_set_service
(
ts
,
sid
);
handle_packets
(
ts
,
s
->
probesize
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录