Toggle navigation
Toggle navigation
此项目
正在载入...
Sign in
胡斌
/
srs
转到一个项目
Toggle navigation
项目
群组
代码片段
帮助
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
winlin
2015-01-25 13:19:22 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
c9d270fbe06e496e976c7867af26abf172adda03
c9d270fb
1 parent
e9ed62e0
refine code for #250, ts remux
隐藏空白字符变更
内嵌
并排对比
正在显示
3 个修改的文件
包含
9 行增加
和
8 行删除
trunk/src/app/srs_app_mpegts_udp.cpp
trunk/src/kernel/srs_kernel_ts.cpp
trunk/src/kernel/srs_kernel_ts.hpp
trunk/src/app/srs_app_mpegts_udp.cpp
查看文件 @
c9d270f
...
...
@@ -32,9 +32,7 @@ using namespace std;
#include <srs_kernel_error.hpp>
#include <srs_kernel_log.hpp>
#include <srs_app_config.hpp>
// Transport Stream packets are 188 bytes in length.
#define TS_PACKET_SIZE 188
#include <srs_kernel_ts.hpp>
#ifdef SRS_AUTO_STREAM_CASTER
...
...
@@ -55,14 +53,14 @@ int SrsMpegtsOverUdp::on_udp_packet(sockaddr_in* from, char* buf, int nb_buf)
int
peer_port
=
ntohs
(
from
->
sin_port
);
// drop ts packet when size not modulus by 188
if
(
nb_buf
<
TS_PACKET_SIZE
||
(
nb_buf
%
TS_PACKET_SIZE
)
!=
0
)
{
if
(
nb_buf
<
SRS_TS_PACKET_SIZE
||
(
nb_buf
%
SRS_
TS_PACKET_SIZE
)
!=
0
)
{
srs_warn
(
"udp: drop %s:%d packet %d bytes"
,
peer_ip
.
c_str
(),
peer_port
,
nb_buf
);
return
ret
;
}
srs_info
(
"udp: got %s:%d packet %d bytes"
,
peer_ip
.
c_str
(),
peer_port
,
nb_buf
);
// process each ts packet
for
(
int
i
=
0
;
i
<
nb_buf
;
i
+=
TS_PACKET_SIZE
)
{
for
(
int
i
=
0
;
i
<
nb_buf
;
i
+=
SRS_
TS_PACKET_SIZE
)
{
char
*
ts_packet
=
buf
+
i
;
if
((
ret
=
on_ts_packet
(
ts_packet
))
!=
ERROR_SUCCESS
)
{
srs_warn
(
"mpegts: ignore ts packet error. ret=%d"
,
ret
);
...
...
trunk/src/kernel/srs_kernel_ts.cpp
查看文件 @
c9d270f
...
...
@@ -254,11 +254,11 @@ public:
*
p
++
=
header_size
;
// pts; // 33bits
p
=
write_pts
(
p
,
flags
>>
6
,
frame
->
pts
+
SRS_AUTO_HLS_DELAY
);
p
=
write_
dts_
pts
(
p
,
flags
>>
6
,
frame
->
pts
+
SRS_AUTO_HLS_DELAY
);
// dts; // 33bits
if
(
frame
->
dts
!=
frame
->
pts
)
{
p
=
write_pts
(
p
,
1
,
frame
->
dts
+
SRS_AUTO_HLS_DELAY
);
p
=
write_
dts_
pts
(
p
,
1
,
frame
->
dts
+
SRS_AUTO_HLS_DELAY
);
}
}
...
...
@@ -344,7 +344,7 @@ private:
return
p
;
}
static
char
*
write_pts
(
char
*
p
,
u_int8_t
fb
,
int64_t
pts
)
static
char
*
write_
dts_
pts
(
char
*
p
,
u_int8_t
fb
,
int64_t
pts
)
{
int32_t
val
;
...
...
trunk/src/kernel/srs_kernel_ts.hpp
查看文件 @
c9d270f
...
...
@@ -39,6 +39,9 @@ class SrsAvcAacCodec;
class
SrsCodecSample
;
class
SrsSimpleBuffer
;
// Transport Stream packets are 188 bytes in length.
#define SRS_TS_PACKET_SIZE 188
// @see: ngx_rtmp_SrsMpegtsFrame_t
class
SrsMpegtsFrame
{
...
...
请
注册
或
登录
后发表评论