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
2013-10-23 00:01:59 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
444a45facd29403c8df22efdc3613e641d59ac3d
444a45fa
1 parent
150489af
fix bug to accept FFMPEG streaming
显示空白字符变更
内嵌
并排对比
正在显示
3 个修改的文件
包含
40 行增加
和
5 行删除
trunk/src/core/srs_core_log.hpp
trunk/src/core/srs_core_source.cpp
trunk/src/core/srs_core_source.hpp
trunk/src/core/srs_core_log.hpp
查看文件 @
444a45f
...
...
@@ -74,9 +74,11 @@ extern ILogContext* log_context;
#define srs_error(msg, ...) printf("[%s][%d][error][%s] ", log_context->format_time(), log_context->get_id(), __PRETTY_FUNCTION__);printf(msg, ##__VA_ARGS__);printf(" errno=%d(%s)", errno, strerror(errno));printf("\n")
#endif
#if
0
#if
1
#undef srs_verbose
#define srs_verbose(msg, ...) (void)0
#endif
#if 1
#undef srs_info
#define srs_info(msg, ...) (void)0
#endif
...
...
trunk/src/core/srs_core_source.cpp
查看文件 @
444a45f
...
...
@@ -94,6 +94,8 @@ SrsSource::SrsSource(std::string _stream_url)
{
stream_url
=
_stream_url
;
cache_metadata
=
NULL
;
cache_sh_video
=
NULL
;
cache_sh_audio
=
NULL
;
}
SrsSource
::~
SrsSource
()
...
...
@@ -106,6 +108,8 @@ SrsSource::~SrsSource()
consumers
.
clear
();
srs_freep
(
cache_metadata
);
srs_freep
(
cache_sh_video
);
srs_freep
(
cache_sh_audio
);
}
int
SrsSource
::
on_meta_data
(
SrsCommonMessage
*
msg
,
SrsOnMetaDataPacket
*
metadata
)
...
...
@@ -184,6 +188,11 @@ int SrsSource::on_audio(SrsCommonMessage* audio)
}
srs_info
(
"dispatch audio success."
);
if
(
!
cache_sh_audio
)
{
srs_freep
(
cache_sh_audio
);
cache_sh_audio
=
msg
->
copy
();
}
return
ret
;
}
...
...
@@ -214,19 +223,39 @@ int SrsSource::on_video(SrsCommonMessage* video)
}
srs_info
(
"dispatch video success."
);
if
(
!
cache_sh_video
)
{
srs_freep
(
cache_sh_video
);
cache_sh_video
=
msg
->
copy
();
}
return
ret
;
}
int
SrsSource
::
create_consumer
(
SrsConsumer
*&
consumer
)
{
int
ret
=
ERROR_SUCCESS
;
consumer
=
new
SrsConsumer
();
consumers
.
push_back
(
consumer
);
if
(
!
cache_metadata
)
{
srs_info
(
"no metadata found."
);
return
ERROR_SUCCESS
;
if
(
cache_metadata
&&
(
ret
=
consumer
->
enqueue
(
cache_metadata
->
copy
()))
!=
ERROR_SUCCESS
)
{
srs_error
(
"dispatch metadata failed. ret=%d"
,
ret
);
return
ret
;
}
srs_info
(
"dispatch metadata success"
);
if
(
cache_sh_video
&&
(
ret
=
consumer
->
enqueue
(
cache_sh_video
->
copy
()))
!=
ERROR_SUCCESS
)
{
srs_error
(
"dispatch video sequence header failed. ret=%d"
,
ret
);
return
ret
;
}
srs_info
(
"dispatch video sequence header success"
);
return
consumer
->
enqueue
(
cache_metadata
->
copy
());
if
(
cache_sh_audio
&&
(
ret
=
consumer
->
enqueue
(
cache_sh_audio
->
copy
()))
!=
ERROR_SUCCESS
)
{
srs_error
(
"dispatch audio sequence header failed. ret=%d"
,
ret
);
return
ret
;
}
srs_info
(
"dispatch audio sequence header success"
);
return
ret
;
}
...
...
trunk/src/core/srs_core_source.hpp
查看文件 @
444a45f
...
...
@@ -82,6 +82,10 @@ private:
std
::
vector
<
SrsConsumer
*>
consumers
;
private
:
SrsSharedPtrMessage
*
cache_metadata
;
// the cached video sequence header.
SrsSharedPtrMessage
*
cache_sh_video
;
// the cached audio sequence header.
SrsSharedPtrMessage
*
cache_sh_audio
;
public
:
SrsSource
(
std
::
string
_stream_url
);
virtual
~
SrsSource
();
...
...
请
注册
或
登录
后发表评论