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
2017-01-19 15:51:34 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
7bfb648bd89ccb93690ad35688febda0e58371d1
7bfb648b
1 parent
4cff49af
refine the meta cache name
隐藏空白字符变更
内嵌
并排对比
正在显示
2 个修改的文件
包含
23 行增加
和
22 行删除
trunk/src/app/srs_app_source.cpp
trunk/src/app/srs_app_source.hpp
trunk/src/app/srs_app_source.cpp
查看文件 @
7bfb648
...
...
@@ -1396,7 +1396,7 @@ void SrsOriginHub::destroy_forwarders()
SrsMetaCache
::
SrsMetaCache
()
{
cache_metadata
=
cache_sh_video
=
cache_sh_
audio
=
NULL
;
meta
=
video
=
audio
=
NULL
;
}
SrsMetaCache
::~
SrsMetaCache
()
...
...
@@ -1406,24 +1406,24 @@ SrsMetaCache::~SrsMetaCache()
void
SrsMetaCache
::
dispose
()
{
srs_freep
(
cache_metadata
);
srs_freep
(
cache_sh_video
);
srs_freep
(
cache_sh_audio
);
srs_freep
(
meta
);
srs_freep
(
video
);
srs_freep
(
audio
);
}
SrsSharedPtrMessage
*
SrsMetaCache
::
data
()
{
return
cache_metada
ta
;
return
me
ta
;
}
SrsSharedPtrMessage
*
SrsMetaCache
::
vsh
()
{
return
cache_sh_
video
;
return
video
;
}
SrsSharedPtrMessage
*
SrsMetaCache
::
ash
()
{
return
cache_sh_
audio
;
return
audio
;
}
int
SrsMetaCache
::
dumps
(
SrsConsumer
*
consumer
,
bool
atc
,
SrsRtmpJitterAlgorithm
ag
,
bool
dm
,
bool
ds
)
...
...
@@ -1431,7 +1431,7 @@ int SrsMetaCache::dumps(SrsConsumer* consumer, bool atc, SrsRtmpJitterAlgorithm
int
ret
=
ERROR_SUCCESS
;
// copy metadata.
if
(
dm
&&
cache_metadata
&&
(
ret
=
consumer
->
enqueue
(
cache_metada
ta
,
atc
,
ag
))
!=
ERROR_SUCCESS
)
{
if
(
dm
&&
meta
&&
(
ret
=
consumer
->
enqueue
(
me
ta
,
atc
,
ag
))
!=
ERROR_SUCCESS
)
{
srs_error
(
"dispatch metadata failed. ret=%d"
,
ret
);
return
ret
;
}
...
...
@@ -1440,13 +1440,13 @@ int SrsMetaCache::dumps(SrsConsumer* consumer, bool atc, SrsRtmpJitterAlgorithm
// copy sequence header
// copy audio sequence first, for hls to fast parse the "right" audio codec.
// @see https://github.com/ossrs/srs/issues/301
if
(
ds
&&
cache_sh_audio
&&
(
ret
=
consumer
->
enqueue
(
cache_sh_
audio
,
atc
,
ag
))
!=
ERROR_SUCCESS
)
{
if
(
ds
&&
audio
&&
(
ret
=
consumer
->
enqueue
(
audio
,
atc
,
ag
))
!=
ERROR_SUCCESS
)
{
srs_error
(
"dispatch audio sequence header failed. ret=%d"
,
ret
);
return
ret
;
}
srs_info
(
"dispatch audio sequence header success"
);
if
(
ds
&&
cache_sh_video
&&
(
ret
=
consumer
->
enqueue
(
cache_sh_
video
,
atc
,
ag
))
!=
ERROR_SUCCESS
)
{
if
(
ds
&&
video
&&
(
ret
=
consumer
->
enqueue
(
video
,
atc
,
ag
))
!=
ERROR_SUCCESS
)
{
srs_error
(
"dispatch video sequence header failed. ret=%d"
,
ret
);
return
ret
;
}
...
...
@@ -1509,13 +1509,13 @@ int SrsMetaCache::update_data(SrsMessageHeader* header, SrsOnMetaDataPacket* met
}
// create a shared ptr message.
srs_freep
(
cache_metadata
);
cache_metadata
=
new
SrsSharedPtrMessage
();
srs_freep
(
meta
);
meta
=
new
SrsSharedPtrMessage
();
updated
=
true
;
// dump message to shared ptr message.
// the payload/size managed by cache_metadata, user should not free it.
if
((
ret
=
cache_metada
ta
->
create
(
header
,
payload
,
size
))
!=
ERROR_SUCCESS
)
{
if
((
ret
=
me
ta
->
create
(
header
,
payload
,
size
))
!=
ERROR_SUCCESS
)
{
srs_error
(
"initialize the cache metadata failed. ret=%d"
,
ret
);
return
ret
;
}
...
...
@@ -1526,14 +1526,14 @@ int SrsMetaCache::update_data(SrsMessageHeader* header, SrsOnMetaDataPacket* met
void
SrsMetaCache
::
update_ash
(
SrsSharedPtrMessage
*
msg
)
{
srs_freep
(
cache_sh_audio
);
cache_sh_audio
=
msg
->
copy
();
srs_freep
(
audio
);
audio
=
msg
->
copy
();
}
void
SrsMetaCache
::
update_vsh
(
SrsSharedPtrMessage
*
msg
)
{
srs_freep
(
cache_sh_video
);
cache_sh_video
=
msg
->
copy
();
srs_freep
(
video
);
video
=
msg
->
copy
();
}
std
::
map
<
std
::
string
,
SrsSource
*>
SrsSource
::
pool
;
...
...
trunk/src/app/srs_app_source.hpp
查看文件 @
7bfb648
...
...
@@ -497,11 +497,12 @@ private:
class
SrsMetaCache
{
private
:
SrsSharedPtrMessage
*
cache_metadata
;
// the cached video sequence header.
SrsSharedPtrMessage
*
cache_sh_video
;
// the cached audio sequence header.
SrsSharedPtrMessage
*
cache_sh_audio
;
// The cached metadata, FLV script data tag.
SrsSharedPtrMessage
*
meta
;
// The cached video sequence header, for example, sps/pps for h.264.
SrsSharedPtrMessage
*
video
;
// The cached audio sequence header, for example, asc for aac.
SrsSharedPtrMessage
*
audio
;
public
:
SrsMetaCache
();
virtual
~
SrsMetaCache
();
...
...
请
注册
或
登录
后发表评论