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-29 23:08:26 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
b38bae2a892c8004310eb331cfee52cb9a2727a4
b38bae2a
1 parent
1685cdd4
for #250, refine parse pes packet, remove the clear method.
显示空白字符变更
内嵌
并排对比
正在显示
2 个修改的文件
包含
18 行增加
和
21 行删除
trunk/src/kernel/srs_kernel_ts.cpp
trunk/src/kernel/srs_kernel_ts.hpp
trunk/src/kernel/srs_kernel_ts.cpp
查看文件 @
b38bae2
...
...
@@ -415,10 +415,15 @@ SrsTsChannel::~SrsTsChannel()
srs_freep
(
msg
);
}
SrsTsMessage
::
SrsTsMessage
()
SrsTsMessage
::
SrsTsMessage
(
SrsTsChannel
*
c
,
SrsTsPacket
*
p
)
{
payload
=
NULL
;
clear
();
channel
=
c
;
packet
=
p
;
dts
=
pts
=
0
;
continuity_counter
=
0
;
PES_packet_length
=
0
;
payload
=
new
SrsSimpleBuffer
();
}
SrsTsMessage
::~
SrsTsMessage
()
...
...
@@ -469,15 +474,6 @@ bool SrsTsMessage::fresh()
return
payload
->
length
()
==
0
;
}
void
SrsTsMessage
::
clear
()
{
dts
=
pts
=
0
;
continuity_counter
=
0
;
PES_packet_length
=
0
;
srs_freep
(
payload
);
payload
=
new
SrsSimpleBuffer
();
}
ISrsTsHandler
::
ISrsTsHandler
()
{
}
...
...
@@ -941,7 +937,7 @@ int SrsTsPayloadPES::decode(SrsStream* stream, SrsTsMessage** ppmsg)
// init msg.
SrsTsMessage
*
msg
=
channel
->
msg
;
if
(
!
msg
)
{
msg
=
new
SrsTsMessage
();
msg
=
new
SrsTsMessage
(
channel
,
packet
);
channel
->
msg
=
msg
;
}
...
...
@@ -967,7 +963,8 @@ int SrsTsPayloadPES::decode(SrsStream* stream, SrsTsMessage** ppmsg)
// reparse current msg.
stream
->
skip
(
stream
->
pos
()
*
-
1
);
msg
->
clear
();
srs_freep
(
msg
);
channel
->
msg
=
NULL
;
return
ERROR_SUCCESS
;
}
...
...
@@ -991,7 +988,8 @@ int SrsTsPayloadPES::decode(SrsStream* stream, SrsTsMessage** ppmsg)
// reparse current msg.
stream
->
skip
(
stream
->
pos
()
*
-
1
);
msg
->
clear
();
srs_freep
(
msg
);
channel
->
msg
=
NULL
;
return
ERROR_SUCCESS
;
}
}
...
...
@@ -1005,7 +1003,6 @@ int SrsTsPayloadPES::decode(SrsStream* stream, SrsTsMessage** ppmsg)
// reparse current msg.
stream
->
skip
(
stream
->
pos
()
*
-
1
);
return
ret
;
}
...
...
trunk/src/kernel/srs_kernel_ts.hpp
查看文件 @
b38bae2
...
...
@@ -46,6 +46,7 @@ class SrsSimpleBuffer;
class
SrsTsAdaptationField
;
class
SrsTsPayload
;
class
SrsTsMessage
;
class
SrsTsPacket
;
// Transport Stream packets are 188 bytes in length.
#define SRS_TS_PACKET_SIZE 188
...
...
@@ -192,6 +193,9 @@ struct SrsTsChannel
*/
class
SrsTsMessage
{
private
:
SrsTsChannel
*
channel
;
SrsTsPacket
*
packet
;
public
:
int64_t
dts
;
int64_t
pts
;
...
...
@@ -199,7 +203,7 @@ public:
u_int8_t
continuity_counter
;
SrsSimpleBuffer
*
payload
;
public
:
SrsTsMessage
();
SrsTsMessage
(
SrsTsChannel
*
c
,
SrsTsPacket
*
p
);
virtual
~
SrsTsMessage
();
public
:
/**
...
...
@@ -219,10 +223,6 @@ public:
* whether the message is fresh.
*/
virtual
bool
fresh
();
/**
* clear current message.
*/
virtual
void
clear
();
};
/**
...
...
请
注册
或
登录
后发表评论