mirror of
https://github.com/ossrs/srs.git
synced 2025-02-15 04:42:04 +00:00
Merge branch '2.0release' into develop
This commit is contained in:
commit
e45c62003a
32 changed files with 282 additions and 258 deletions
|
@ -75,6 +75,9 @@
|
|||
3C1232ED1AAEA70F00CE8F6C /* libhttp_parser.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3C1232EC1AAEA70F00CE8F6C /* libhttp_parser.a */; };
|
||||
3C1EE6AE1AB1055800576EE9 /* srs_app_hds.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1EE6AC1AB1055800576EE9 /* srs_app_hds.cpp */; };
|
||||
3C1EE6D71AB1367D00576EE9 /* README.md in Sources */ = {isa = PBXBuildFile; fileRef = 3C1EE6D61AB1367D00576EE9 /* README.md */; };
|
||||
3C36DB5B1ABD1CB90066CCAF /* srs_lib_bandwidth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C36DB551ABD1CB90066CCAF /* srs_lib_bandwidth.cpp */; };
|
||||
3C36DB5C1ABD1CB90066CCAF /* srs_lib_simple_socket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C36DB571ABD1CB90066CCAF /* srs_lib_simple_socket.cpp */; };
|
||||
3C36DB5D1ABD1CB90066CCAF /* srs_librtmp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C36DB591ABD1CB90066CCAF /* srs_librtmp.cpp */; };
|
||||
3C663F0F1AB0155100286D8B /* srs_aac_raw_publish.c in Sources */ = {isa = PBXBuildFile; fileRef = 3C663F021AB0155100286D8B /* srs_aac_raw_publish.c */; };
|
||||
3C663F101AB0155100286D8B /* srs_audio_raw_publish.c in Sources */ = {isa = PBXBuildFile; fileRef = 3C663F031AB0155100286D8B /* srs_audio_raw_publish.c */; };
|
||||
3C663F111AB0155100286D8B /* srs_bandwidth_check.c in Sources */ = {isa = PBXBuildFile; fileRef = 3C663F041AB0155100286D8B /* srs_bandwidth_check.c */; };
|
||||
|
@ -306,6 +309,12 @@
|
|||
3C1EE6D41AB1367D00576EE9 /* DONATIONS.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = DONATIONS.txt; path = ../../../DONATIONS.txt; sourceTree = "<group>"; };
|
||||
3C1EE6D51AB1367D00576EE9 /* LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = LICENSE; path = ../../../LICENSE; sourceTree = "<group>"; };
|
||||
3C1EE6D61AB1367D00576EE9 /* README.md */ = {isa = PBXFileReference; explicitFileType = net.daringfireball.markdown; fileEncoding = 4; name = README.md; path = ../../../README.md; sourceTree = "<group>"; wrapsLines = 0; };
|
||||
3C36DB551ABD1CB90066CCAF /* srs_lib_bandwidth.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_lib_bandwidth.cpp; path = ../../../src/libs/srs_lib_bandwidth.cpp; sourceTree = "<group>"; };
|
||||
3C36DB561ABD1CB90066CCAF /* srs_lib_bandwidth.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_lib_bandwidth.hpp; path = ../../../src/libs/srs_lib_bandwidth.hpp; sourceTree = "<group>"; };
|
||||
3C36DB571ABD1CB90066CCAF /* srs_lib_simple_socket.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_lib_simple_socket.cpp; path = ../../../src/libs/srs_lib_simple_socket.cpp; sourceTree = "<group>"; };
|
||||
3C36DB581ABD1CB90066CCAF /* srs_lib_simple_socket.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_lib_simple_socket.hpp; path = ../../../src/libs/srs_lib_simple_socket.hpp; sourceTree = "<group>"; };
|
||||
3C36DB591ABD1CB90066CCAF /* srs_librtmp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_librtmp.cpp; path = ../../../src/libs/srs_librtmp.cpp; sourceTree = "<group>"; };
|
||||
3C36DB5A1ABD1CB90066CCAF /* srs_librtmp.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_librtmp.hpp; path = ../../../src/libs/srs_librtmp.hpp; sourceTree = "<group>"; };
|
||||
3C663F021AB0155100286D8B /* srs_aac_raw_publish.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = srs_aac_raw_publish.c; path = ../../../research/librtmp/srs_aac_raw_publish.c; sourceTree = "<group>"; };
|
||||
3C663F031AB0155100286D8B /* srs_audio_raw_publish.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = srs_audio_raw_publish.c; path = ../../../research/librtmp/srs_audio_raw_publish.c; sourceTree = "<group>"; };
|
||||
3C663F041AB0155100286D8B /* srs_bandwidth_check.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = srs_bandwidth_check.c; path = ../../../research/librtmp/srs_bandwidth_check.c; sourceTree = "<group>"; };
|
||||
|
@ -369,6 +378,7 @@
|
|||
isa = PBXGroup;
|
||||
children = (
|
||||
3C1232B81AAE824500CE8F6C /* configure */,
|
||||
3C36DB541ABD1CA70066CCAF /* libs */,
|
||||
3C1EE6AF1AB107EE00576EE9 /* conf */,
|
||||
3C1232EF1AAEAC5800CE8F6C /* etc */,
|
||||
3C1232BA1AAE826F00CE8F6C /* auto */,
|
||||
|
@ -670,6 +680,19 @@
|
|||
name = doc;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
3C36DB541ABD1CA70066CCAF /* libs */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
3C36DB551ABD1CB90066CCAF /* srs_lib_bandwidth.cpp */,
|
||||
3C36DB561ABD1CB90066CCAF /* srs_lib_bandwidth.hpp */,
|
||||
3C36DB571ABD1CB90066CCAF /* srs_lib_simple_socket.cpp */,
|
||||
3C36DB581ABD1CB90066CCAF /* srs_lib_simple_socket.hpp */,
|
||||
3C36DB591ABD1CB90066CCAF /* srs_librtmp.cpp */,
|
||||
3C36DB5A1ABD1CB90066CCAF /* srs_librtmp.hpp */,
|
||||
);
|
||||
name = libs;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
3C663F001AB014B500286D8B /* research */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
|
@ -782,6 +805,7 @@
|
|||
3C12322B1AAE814D00CE8F6C /* srs_kernel_utility.cpp in Sources */,
|
||||
3C12324A1AAE81A400CE8F6C /* srs_rtsp_stack.cpp in Sources */,
|
||||
3C1232A51AAE81D900CE8F6C /* srs_app_json.cpp in Sources */,
|
||||
3C36DB5D1ABD1CB90066CCAF /* srs_librtmp.cpp in Sources */,
|
||||
3C12329F1AAE81D900CE8F6C /* srs_app_http_api.cpp in Sources */,
|
||||
3C1EE6AE1AB1055800576EE9 /* srs_app_hds.cpp in Sources */,
|
||||
3C663F101AB0155100286D8B /* srs_audio_raw_publish.c in Sources */,
|
||||
|
@ -789,6 +813,7 @@
|
|||
3C1232A11AAE81D900CE8F6C /* srs_app_http_conn.cpp in Sources */,
|
||||
3C1232AC1AAE81D900CE8F6C /* srs_app_refer.cpp in Sources */,
|
||||
3C1232991AAE81D900CE8F6C /* srs_app_empty.cpp in Sources */,
|
||||
3C36DB5C1ABD1CB90066CCAF /* srs_lib_simple_socket.cpp in Sources */,
|
||||
3C1232201AAE814D00CE8F6C /* srs_kernel_aac.cpp in Sources */,
|
||||
3C1232941AAE81D900CE8F6C /* srs_app_bandwidth.cpp in Sources */,
|
||||
3C1232221AAE814D00CE8F6C /* srs_kernel_codec.cpp in Sources */,
|
||||
|
@ -839,6 +864,7 @@
|
|||
3C1232431AAE81A400CE8F6C /* srs_rtmp_buffer.cpp in Sources */,
|
||||
3C1232211AAE814D00CE8F6C /* srs_kernel_buffer.cpp in Sources */,
|
||||
3C1232471AAE81A400CE8F6C /* srs_rtmp_sdk.cpp in Sources */,
|
||||
3C36DB5B1ABD1CB90066CCAF /* srs_lib_bandwidth.cpp in Sources */,
|
||||
3C1232A61AAE81D900CE8F6C /* srs_app_kbps.cpp in Sources */,
|
||||
3C12329D1AAE81D900CE8F6C /* srs_app_heartbeat.cpp in Sources */,
|
||||
3C1232231AAE814D00CE8F6C /* srs_kernel_consts.cpp in Sources */,
|
||||
|
|
|
@ -90,21 +90,21 @@ int main(int argc, char** argv)
|
|||
|
||||
rtmp = srs_rtmp_create(rtmp_url);
|
||||
|
||||
if ((ret = __srs_rtmp_dns_resolve(rtmp)) != 0) {
|
||||
if ((ret = srs_rtmp_dns_resolve(rtmp)) != 0) {
|
||||
srs_human_trace("dns resolve failed. ret=%d", ret);
|
||||
goto rtmp_destroy;
|
||||
}
|
||||
srs_human_trace("dns resolve success");
|
||||
time_dns_resolve = srs_utils_time_ms();
|
||||
|
||||
if ((ret = __srs_rtmp_connect_server(rtmp)) != 0) {
|
||||
if ((ret = srs_rtmp_connect_server(rtmp)) != 0) {
|
||||
srs_human_trace("socket connect failed. ret=%d", ret);
|
||||
goto rtmp_destroy;
|
||||
}
|
||||
srs_human_trace("socket connect success");
|
||||
time_socket_connect = srs_utils_time_ms();
|
||||
|
||||
if ((ret = __srs_rtmp_do_simple_handshake(rtmp)) != 0) {
|
||||
if ((ret = srs_rtmp_do_simple_handshake(rtmp)) != 0) {
|
||||
srs_human_trace("do simple handshake failed. ret=%d", ret);
|
||||
goto rtmp_destroy;
|
||||
}
|
||||
|
|
|
@ -189,24 +189,24 @@ int main(int argc, char** argv)
|
|||
|
||||
rtmp = srs_rtmp_create(rtmp_url);
|
||||
|
||||
if (__srs_rtmp_dns_resolve(rtmp) != 0) {
|
||||
if (srs_rtmp_dns_resolve(rtmp) != 0) {
|
||||
srs_human_trace("dns resolve failed.");
|
||||
goto rtmp_destroy;
|
||||
}
|
||||
|
||||
if (__srs_rtmp_connect_server(rtmp) != 0) {
|
||||
if (srs_rtmp_connect_server(rtmp) != 0) {
|
||||
srs_human_trace("connect to server failed.");
|
||||
goto rtmp_destroy;
|
||||
}
|
||||
|
||||
if (complex_handshake) {
|
||||
if (__srs_rtmp_do_complex_handshake(rtmp) != 0) {
|
||||
if (srs_rtmp_do_complex_handshake(rtmp) != 0) {
|
||||
srs_human_trace("complex handshake failed.");
|
||||
goto rtmp_destroy;
|
||||
}
|
||||
srs_human_trace("do complex handshake success");
|
||||
} else {
|
||||
if (__srs_rtmp_do_simple_handshake(rtmp) != 0) {
|
||||
if (srs_rtmp_do_simple_handshake(rtmp) != 0) {
|
||||
srs_human_trace("simple handshake failed.");
|
||||
goto rtmp_destroy;
|
||||
}
|
||||
|
|
|
@ -272,11 +272,11 @@ int SrsFlvSegment::write_metadata(SrsSharedPtrMessage* metadata)
|
|||
return ret;
|
||||
}
|
||||
|
||||
int SrsFlvSegment::write_audio(SrsSharedPtrMessage* __audio)
|
||||
int SrsFlvSegment::write_audio(SrsSharedPtrMessage* shared_audio)
|
||||
{
|
||||
int ret = ERROR_SUCCESS;
|
||||
|
||||
SrsSharedPtrMessage* audio = __audio->copy();
|
||||
SrsSharedPtrMessage* audio = shared_audio->copy();
|
||||
SrsAutoFree(SrsSharedPtrMessage, audio);
|
||||
|
||||
if ((jitter->correct(audio, 0, 0, jitter_algorithm)) != ERROR_SUCCESS) {
|
||||
|
@ -297,11 +297,11 @@ int SrsFlvSegment::write_audio(SrsSharedPtrMessage* __audio)
|
|||
return ret;
|
||||
}
|
||||
|
||||
int SrsFlvSegment::write_video(SrsSharedPtrMessage* __video)
|
||||
int SrsFlvSegment::write_video(SrsSharedPtrMessage* shared_video)
|
||||
{
|
||||
int ret = ERROR_SUCCESS;
|
||||
|
||||
SrsSharedPtrMessage* video = __video->copy();
|
||||
SrsSharedPtrMessage* video = shared_video->copy();
|
||||
SrsAutoFree(SrsSharedPtrMessage, video);
|
||||
|
||||
char* payload = video->payload;
|
||||
|
@ -724,7 +724,7 @@ int64_t SrsDvrPlan::filter_timestamp(int64_t timestamp)
|
|||
return timestamp;
|
||||
}
|
||||
|
||||
int SrsDvrPlan::on_meta_data(SrsSharedPtrMessage* __metadata)
|
||||
int SrsDvrPlan::on_meta_data(SrsSharedPtrMessage* shared_metadata)
|
||||
{
|
||||
int ret = ERROR_SUCCESS;
|
||||
|
||||
|
@ -732,10 +732,10 @@ int SrsDvrPlan::on_meta_data(SrsSharedPtrMessage* __metadata)
|
|||
return ret;
|
||||
}
|
||||
|
||||
return segment->write_metadata(__metadata);
|
||||
return segment->write_metadata(shared_metadata);
|
||||
}
|
||||
|
||||
int SrsDvrPlan::on_audio(SrsSharedPtrMessage* __audio)
|
||||
int SrsDvrPlan::on_audio(SrsSharedPtrMessage* shared_audio)
|
||||
{
|
||||
int ret = ERROR_SUCCESS;
|
||||
|
||||
|
@ -743,14 +743,14 @@ int SrsDvrPlan::on_audio(SrsSharedPtrMessage* __audio)
|
|||
return ret;
|
||||
}
|
||||
|
||||
if ((ret = segment->write_audio(__audio)) != ERROR_SUCCESS) {
|
||||
if ((ret = segment->write_audio(shared_audio)) != ERROR_SUCCESS) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int SrsDvrPlan::on_video(SrsSharedPtrMessage* __video)
|
||||
int SrsDvrPlan::on_video(SrsSharedPtrMessage* shared_video)
|
||||
{
|
||||
int ret = ERROR_SUCCESS;
|
||||
|
||||
|
@ -758,7 +758,7 @@ int SrsDvrPlan::on_video(SrsSharedPtrMessage* __video)
|
|||
return ret;
|
||||
}
|
||||
|
||||
if ((ret = segment->write_video(__video)) != ERROR_SUCCESS) {
|
||||
if ((ret = segment->write_video(shared_video)) != ERROR_SUCCESS) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -876,30 +876,30 @@ void SrsDvrAppendPlan::on_unpublish()
|
|||
{
|
||||
}
|
||||
|
||||
int SrsDvrAppendPlan::on_audio(SrsSharedPtrMessage* __audio)
|
||||
int SrsDvrAppendPlan::on_audio(SrsSharedPtrMessage* shared_audio)
|
||||
{
|
||||
int ret = ERROR_SUCCESS;
|
||||
|
||||
if ((ret = update_duration(__audio)) != ERROR_SUCCESS) {
|
||||
if ((ret = update_duration(shared_audio)) != ERROR_SUCCESS) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
if ((ret = SrsDvrPlan::on_audio(__audio)) != ERROR_SUCCESS) {
|
||||
if ((ret = SrsDvrPlan::on_audio(shared_audio)) != ERROR_SUCCESS) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int SrsDvrAppendPlan::on_video(SrsSharedPtrMessage* __video)
|
||||
int SrsDvrAppendPlan::on_video(SrsSharedPtrMessage* shared_video)
|
||||
{
|
||||
int ret = ERROR_SUCCESS;
|
||||
|
||||
if ((ret = update_duration(__video)) != ERROR_SUCCESS) {
|
||||
if ((ret = update_duration(shared_video)) != ERROR_SUCCESS) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
if ((ret = SrsDvrPlan::on_video(__video)) != ERROR_SUCCESS) {
|
||||
if ((ret = SrsDvrPlan::on_video(shared_video)) != ERROR_SUCCESS) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -991,54 +991,54 @@ void SrsDvrSegmentPlan::on_unpublish()
|
|||
{
|
||||
}
|
||||
|
||||
int SrsDvrSegmentPlan::on_meta_data(SrsSharedPtrMessage* __metadata)
|
||||
int SrsDvrSegmentPlan::on_meta_data(SrsSharedPtrMessage* shared_metadata)
|
||||
{
|
||||
int ret = ERROR_SUCCESS;
|
||||
|
||||
srs_freep(metadata);
|
||||
metadata = __metadata->copy();
|
||||
metadata = shared_metadata->copy();
|
||||
|
||||
if ((ret = SrsDvrPlan::on_meta_data(__metadata)) != ERROR_SUCCESS) {
|
||||
if ((ret = SrsDvrPlan::on_meta_data(shared_metadata)) != ERROR_SUCCESS) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int SrsDvrSegmentPlan::on_audio(SrsSharedPtrMessage* __audio)
|
||||
int SrsDvrSegmentPlan::on_audio(SrsSharedPtrMessage* shared_audio)
|
||||
{
|
||||
int ret = ERROR_SUCCESS;
|
||||
|
||||
if (SrsFlvCodec::audio_is_sequence_header(__audio->payload, __audio->size)) {
|
||||
if (SrsFlvCodec::audio_is_sequence_header(shared_audio->payload, shared_audio->size)) {
|
||||
srs_freep(sh_audio);
|
||||
sh_audio = __audio->copy();
|
||||
sh_audio = shared_audio->copy();
|
||||
}
|
||||
|
||||
if ((ret = update_duration(__audio)) != ERROR_SUCCESS) {
|
||||
if ((ret = update_duration(shared_audio)) != ERROR_SUCCESS) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
if ((ret = SrsDvrPlan::on_audio(__audio)) != ERROR_SUCCESS) {
|
||||
if ((ret = SrsDvrPlan::on_audio(shared_audio)) != ERROR_SUCCESS) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int SrsDvrSegmentPlan::on_video(SrsSharedPtrMessage* __video)
|
||||
int SrsDvrSegmentPlan::on_video(SrsSharedPtrMessage* shared_video)
|
||||
{
|
||||
int ret = ERROR_SUCCESS;
|
||||
|
||||
if (SrsFlvCodec::video_is_sequence_header(__video->payload, __video->size)) {
|
||||
if (SrsFlvCodec::video_is_sequence_header(shared_video->payload, shared_video->size)) {
|
||||
srs_freep(sh_video);
|
||||
sh_video = __video->copy();
|
||||
sh_video = shared_video->copy();
|
||||
}
|
||||
|
||||
if ((ret = update_duration(__video)) != ERROR_SUCCESS) {
|
||||
if ((ret = update_duration(shared_video)) != ERROR_SUCCESS) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
if ((ret = SrsDvrPlan::on_video(__video)) != ERROR_SUCCESS) {
|
||||
if ((ret = SrsDvrPlan::on_video(shared_video)) != ERROR_SUCCESS) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -1167,14 +1167,14 @@ int SrsDvr::on_meta_data(SrsOnMetaDataPacket* m)
|
|||
return ret;
|
||||
}
|
||||
|
||||
int SrsDvr::on_audio(SrsSharedPtrMessage* __audio)
|
||||
int SrsDvr::on_audio(SrsSharedPtrMessage* shared_audio)
|
||||
{
|
||||
return plan->on_audio(__audio);
|
||||
return plan->on_audio(shared_audio);
|
||||
}
|
||||
|
||||
int SrsDvr::on_video(SrsSharedPtrMessage* __video)
|
||||
int SrsDvr::on_video(SrsSharedPtrMessage* shared_video)
|
||||
{
|
||||
return plan->on_video(__video);
|
||||
return plan->on_video(shared_video);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
@ -141,13 +141,13 @@ public:
|
|||
*/
|
||||
virtual int write_metadata(SrsSharedPtrMessage* metadata);
|
||||
/**
|
||||
* @param __audio, directly ptr, copy it if need to save it.
|
||||
* @param shared_audio, directly ptr, copy it if need to save it.
|
||||
*/
|
||||
virtual int write_audio(SrsSharedPtrMessage* __audio);
|
||||
virtual int write_audio(SrsSharedPtrMessage* shared_audio);
|
||||
/**
|
||||
* @param __video, directly ptr, copy it if need to save it.
|
||||
* @param shared_video, directly ptr, copy it if need to save it.
|
||||
*/
|
||||
virtual int write_video(SrsSharedPtrMessage* __video);
|
||||
virtual int write_video(SrsSharedPtrMessage* shared_video);
|
||||
/**
|
||||
* update the flv metadata.
|
||||
*/
|
||||
|
@ -246,15 +246,15 @@ public:
|
|||
/**
|
||||
* when got metadata.
|
||||
*/
|
||||
virtual int on_meta_data(SrsSharedPtrMessage* __metadata);
|
||||
virtual int on_meta_data(SrsSharedPtrMessage* shared_metadata);
|
||||
/**
|
||||
* @param __audio, directly ptr, copy it if need to save it.
|
||||
* @param shared_audio, directly ptr, copy it if need to save it.
|
||||
*/
|
||||
virtual int on_audio(SrsSharedPtrMessage* __audio);
|
||||
virtual int on_audio(SrsSharedPtrMessage* shared_audio);
|
||||
/**
|
||||
* @param __video, directly ptr, copy it if need to save it.
|
||||
* @param shared_video, directly ptr, copy it if need to save it.
|
||||
*/
|
||||
virtual int on_video(SrsSharedPtrMessage* __video);
|
||||
virtual int on_video(SrsSharedPtrMessage* shared_video);
|
||||
protected:
|
||||
virtual int on_reap_segment();
|
||||
virtual int on_video_keyframe();
|
||||
|
@ -289,8 +289,8 @@ public:
|
|||
public:
|
||||
virtual int on_publish();
|
||||
virtual void on_unpublish();
|
||||
virtual int on_audio(SrsSharedPtrMessage* __audio);
|
||||
virtual int on_video(SrsSharedPtrMessage* __video);
|
||||
virtual int on_audio(SrsSharedPtrMessage* shared_audio);
|
||||
virtual int on_video(SrsSharedPtrMessage* shared_video);
|
||||
private:
|
||||
virtual int update_duration(SrsSharedPtrMessage* msg);
|
||||
};
|
||||
|
@ -313,9 +313,9 @@ public:
|
|||
virtual int initialize(SrsRequest* req);
|
||||
virtual int on_publish();
|
||||
virtual void on_unpublish();
|
||||
virtual int on_meta_data(SrsSharedPtrMessage* __metadata);
|
||||
virtual int on_audio(SrsSharedPtrMessage* __audio);
|
||||
virtual int on_video(SrsSharedPtrMessage* __video);
|
||||
virtual int on_meta_data(SrsSharedPtrMessage* shared_metadata);
|
||||
virtual int on_audio(SrsSharedPtrMessage* shared_audio);
|
||||
virtual int on_video(SrsSharedPtrMessage* shared_video);
|
||||
private:
|
||||
virtual int update_duration(SrsSharedPtrMessage* msg);
|
||||
};
|
||||
|
@ -356,14 +356,14 @@ public:
|
|||
virtual int on_meta_data(SrsOnMetaDataPacket* m);
|
||||
/**
|
||||
* mux the audio packets to dvr.
|
||||
* @param __audio, directly ptr, copy it if need to save it.
|
||||
* @param shared_audio, directly ptr, copy it if need to save it.
|
||||
*/
|
||||
virtual int on_audio(SrsSharedPtrMessage* __audio);
|
||||
virtual int on_audio(SrsSharedPtrMessage* shared_audio);
|
||||
/**
|
||||
* mux the video packets to dvr.
|
||||
* @param __video, directly ptr, copy it if need to save it.
|
||||
* @param shared_video, directly ptr, copy it if need to save it.
|
||||
*/
|
||||
virtual int on_video(SrsSharedPtrMessage* __video);
|
||||
virtual int on_video(SrsSharedPtrMessage* shared_video);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
@ -157,11 +157,11 @@ void SrsForwarder::on_unpublish()
|
|||
kbps->set_io(NULL, NULL);
|
||||
}
|
||||
|
||||
int SrsForwarder::on_meta_data(SrsSharedPtrMessage* __metadata)
|
||||
int SrsForwarder::on_meta_data(SrsSharedPtrMessage* shared_metadata)
|
||||
{
|
||||
int ret = ERROR_SUCCESS;
|
||||
|
||||
SrsSharedPtrMessage* metadata = __metadata->copy();
|
||||
SrsSharedPtrMessage* metadata = shared_metadata->copy();
|
||||
|
||||
if ((ret = jitter->correct(metadata, 0, 0, SrsRtmpJitterAlgorithmFULL)) != ERROR_SUCCESS) {
|
||||
srs_freep(metadata);
|
||||
|
@ -175,11 +175,11 @@ int SrsForwarder::on_meta_data(SrsSharedPtrMessage* __metadata)
|
|||
return ret;
|
||||
}
|
||||
|
||||
int SrsForwarder::on_audio(SrsSharedPtrMessage* __audio)
|
||||
int SrsForwarder::on_audio(SrsSharedPtrMessage* shared_audio)
|
||||
{
|
||||
int ret = ERROR_SUCCESS;
|
||||
|
||||
SrsSharedPtrMessage* msg = __audio->copy();
|
||||
SrsSharedPtrMessage* msg = shared_audio->copy();
|
||||
|
||||
if ((ret = jitter->correct(msg, 0, 0, SrsRtmpJitterAlgorithmFULL)) != ERROR_SUCCESS) {
|
||||
srs_freep(msg);
|
||||
|
@ -198,11 +198,11 @@ int SrsForwarder::on_audio(SrsSharedPtrMessage* __audio)
|
|||
return ret;
|
||||
}
|
||||
|
||||
int SrsForwarder::on_video(SrsSharedPtrMessage* __video)
|
||||
int SrsForwarder::on_video(SrsSharedPtrMessage* shared_video)
|
||||
{
|
||||
int ret = ERROR_SUCCESS;
|
||||
|
||||
SrsSharedPtrMessage* msg = __video->copy();
|
||||
SrsSharedPtrMessage* msg = shared_video->copy();
|
||||
|
||||
if ((ret = jitter->correct(msg, 0, 0, SrsRtmpJitterAlgorithmFULL)) != ERROR_SUCCESS) {
|
||||
srs_freep(msg);
|
||||
|
|
|
@ -82,19 +82,19 @@ public:
|
|||
virtual void on_unpublish();
|
||||
/**
|
||||
* forward the audio packet.
|
||||
* @param __metadata, directly ptr, copy it if need to save it.
|
||||
* @param shared_metadata, directly ptr, copy it if need to save it.
|
||||
*/
|
||||
virtual int on_meta_data(SrsSharedPtrMessage* __metadata);
|
||||
virtual int on_meta_data(SrsSharedPtrMessage* shared_metadata);
|
||||
/**
|
||||
* forward the audio packet.
|
||||
* @param __audio, directly ptr, copy it if need to save it.
|
||||
* @param shared_audio, directly ptr, copy it if need to save it.
|
||||
*/
|
||||
virtual int on_audio(SrsSharedPtrMessage* __audio);
|
||||
virtual int on_audio(SrsSharedPtrMessage* shared_audio);
|
||||
/**
|
||||
* forward the video packet.
|
||||
* @param __video, directly ptr, copy it if need to save it.
|
||||
* @param shared_video, directly ptr, copy it if need to save it.
|
||||
*/
|
||||
virtual int on_video(SrsSharedPtrMessage* __video);
|
||||
virtual int on_video(SrsSharedPtrMessage* shared_video);
|
||||
// interface ISrsThreadHandler.
|
||||
public:
|
||||
virtual int cycle();
|
||||
|
|
|
@ -942,7 +942,7 @@ int SrsHls::on_meta_data(SrsAmf0Object* metadata)
|
|||
return ret;
|
||||
}
|
||||
|
||||
int SrsHls::on_audio(SrsSharedPtrMessage* __audio)
|
||||
int SrsHls::on_audio(SrsSharedPtrMessage* shared_audio)
|
||||
{
|
||||
int ret = ERROR_SUCCESS;
|
||||
|
||||
|
@ -950,7 +950,7 @@ int SrsHls::on_audio(SrsSharedPtrMessage* __audio)
|
|||
return ret;
|
||||
}
|
||||
|
||||
SrsSharedPtrMessage* audio = __audio->copy();
|
||||
SrsSharedPtrMessage* audio = shared_audio->copy();
|
||||
SrsAutoFree(SrsSharedPtrMessage, audio);
|
||||
|
||||
sample->clear();
|
||||
|
@ -1003,7 +1003,7 @@ int SrsHls::on_audio(SrsSharedPtrMessage* __audio)
|
|||
return ret;
|
||||
}
|
||||
|
||||
int SrsHls::on_video(SrsSharedPtrMessage* __video)
|
||||
int SrsHls::on_video(SrsSharedPtrMessage* shared_video)
|
||||
{
|
||||
int ret = ERROR_SUCCESS;
|
||||
|
||||
|
@ -1011,7 +1011,7 @@ int SrsHls::on_video(SrsSharedPtrMessage* __video)
|
|||
return ret;
|
||||
}
|
||||
|
||||
SrsSharedPtrMessage* video = __video->copy();
|
||||
SrsSharedPtrMessage* video = shared_video->copy();
|
||||
SrsAutoFree(SrsSharedPtrMessage, video);
|
||||
|
||||
sample->clear();
|
||||
|
|
|
@ -354,14 +354,14 @@ public:
|
|||
virtual int on_meta_data(SrsAmf0Object* metadata);
|
||||
/**
|
||||
* mux the audio packets to ts.
|
||||
* @param __audio, directly ptr, copy it if need to save it.
|
||||
* @param shared_audio, directly ptr, copy it if need to save it.
|
||||
*/
|
||||
virtual int on_audio(SrsSharedPtrMessage* __audio);
|
||||
virtual int on_audio(SrsSharedPtrMessage* shared_audio);
|
||||
/**
|
||||
* mux the video packets to ts.
|
||||
* @param __video, directly ptr, copy it if need to save it.
|
||||
* @param shared_video, directly ptr, copy it if need to save it.
|
||||
*/
|
||||
virtual int on_video(SrsSharedPtrMessage* __video);
|
||||
virtual int on_video(SrsSharedPtrMessage* shared_video);
|
||||
private:
|
||||
virtual void hls_show_mux_log();
|
||||
};
|
||||
|
|
|
@ -57,9 +57,9 @@ class SrsFastBuffer;
|
|||
// LF = <US-ASCII LF, linefeed (10)>
|
||||
#define SRS_HTTP_LF SRS_CONSTS_LF // 0x0A
|
||||
// SP = <US-ASCII SP, space (32)>
|
||||
#define __SRS_HTTP_SP ' ' // 0x20
|
||||
#define SRS_HTTP_SP ' ' // 0x20
|
||||
// HT = <US-ASCII HT, horizontal-tab (9)>
|
||||
#define __SRS_HTTP_HT '\x09' // 0x09
|
||||
#define SRS_HTTP_HT '\x09' // 0x09
|
||||
|
||||
// HTTP/1.1 defines the sequence CR LF as the end-of-line marker for all
|
||||
// protocol elements except the entity-body (see appendix 19.3 for
|
||||
|
|
|
@ -109,75 +109,75 @@ const nx_json* nx_json_item(const nx_json* json, int idx); // get array element
|
|||
#define SRS_JSON_Null 0x06
|
||||
#define SRS_JSON_Array 0x07
|
||||
|
||||
class __SrsJsonString : public SrsJsonAny
|
||||
class SrsJsonString : public SrsJsonAny
|
||||
{
|
||||
public:
|
||||
std::string value;
|
||||
|
||||
__SrsJsonString(const char* _value)
|
||||
SrsJsonString(const char* _value)
|
||||
{
|
||||
marker = SRS_JSON_String;
|
||||
if (_value) {
|
||||
value = _value;
|
||||
}
|
||||
}
|
||||
virtual ~__SrsJsonString()
|
||||
virtual ~SrsJsonString()
|
||||
{
|
||||
}
|
||||
};
|
||||
|
||||
class __SrsJsonBoolean : public SrsJsonAny
|
||||
class SrsJsonBoolean : public SrsJsonAny
|
||||
{
|
||||
public:
|
||||
bool value;
|
||||
|
||||
__SrsJsonBoolean(bool _value)
|
||||
SrsJsonBoolean(bool _value)
|
||||
{
|
||||
marker = SRS_JSON_Boolean;
|
||||
value = _value;
|
||||
}
|
||||
virtual ~__SrsJsonBoolean()
|
||||
virtual ~SrsJsonBoolean()
|
||||
{
|
||||
}
|
||||
};
|
||||
|
||||
class __SrsJsonInteger : public SrsJsonAny
|
||||
class SrsJsonInteger : public SrsJsonAny
|
||||
{
|
||||
public:
|
||||
int64_t value;
|
||||
|
||||
__SrsJsonInteger(int64_t _value)
|
||||
SrsJsonInteger(int64_t _value)
|
||||
{
|
||||
marker = SRS_JSON_Integer;
|
||||
value = _value;
|
||||
}
|
||||
virtual ~__SrsJsonInteger()
|
||||
virtual ~SrsJsonInteger()
|
||||
{
|
||||
}
|
||||
};
|
||||
|
||||
class __SrsJsonNumber : public SrsJsonAny
|
||||
class SrsJsonNumber : public SrsJsonAny
|
||||
{
|
||||
public:
|
||||
double value;
|
||||
|
||||
__SrsJsonNumber(double _value)
|
||||
SrsJsonNumber(double _value)
|
||||
{
|
||||
marker = SRS_JSON_Number;
|
||||
value = _value;
|
||||
}
|
||||
virtual ~__SrsJsonNumber()
|
||||
virtual ~SrsJsonNumber()
|
||||
{
|
||||
}
|
||||
};
|
||||
|
||||
class __SrsJsonNull : public SrsJsonAny
|
||||
class SrsJsonNull : public SrsJsonAny
|
||||
{
|
||||
public:
|
||||
__SrsJsonNull() {
|
||||
SrsJsonNull() {
|
||||
marker = SRS_JSON_Null;
|
||||
}
|
||||
virtual ~__SrsJsonNull() {
|
||||
virtual ~SrsJsonNull() {
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -227,28 +227,28 @@ bool SrsJsonAny::is_null()
|
|||
|
||||
string SrsJsonAny::to_str()
|
||||
{
|
||||
__SrsJsonString* p = dynamic_cast<__SrsJsonString*>(this);
|
||||
SrsJsonString* p = dynamic_cast<SrsJsonString*>(this);
|
||||
srs_assert(p != NULL);
|
||||
return p->value;
|
||||
}
|
||||
|
||||
bool SrsJsonAny::to_boolean()
|
||||
{
|
||||
__SrsJsonBoolean* p = dynamic_cast<__SrsJsonBoolean*>(this);
|
||||
SrsJsonBoolean* p = dynamic_cast<SrsJsonBoolean*>(this);
|
||||
srs_assert(p != NULL);
|
||||
return p->value;
|
||||
}
|
||||
|
||||
int64_t SrsJsonAny::to_integer()
|
||||
{
|
||||
__SrsJsonInteger* p = dynamic_cast<__SrsJsonInteger*>(this);
|
||||
SrsJsonInteger* p = dynamic_cast<SrsJsonInteger*>(this);
|
||||
srs_assert(p != NULL);
|
||||
return p->value;
|
||||
}
|
||||
|
||||
double SrsJsonAny::to_number()
|
||||
{
|
||||
__SrsJsonNumber* p = dynamic_cast<__SrsJsonNumber*>(this);
|
||||
SrsJsonNumber* p = dynamic_cast<SrsJsonNumber*>(this);
|
||||
srs_assert(p != NULL);
|
||||
return p->value;
|
||||
}
|
||||
|
@ -269,27 +269,27 @@ SrsJsonArray* SrsJsonAny::to_array()
|
|||
|
||||
SrsJsonAny* SrsJsonAny::str(const char* value)
|
||||
{
|
||||
return new __SrsJsonString(value);
|
||||
return new SrsJsonString(value);
|
||||
}
|
||||
|
||||
SrsJsonAny* SrsJsonAny::boolean(bool value)
|
||||
{
|
||||
return new __SrsJsonBoolean(value);
|
||||
return new SrsJsonBoolean(value);
|
||||
}
|
||||
|
||||
SrsJsonAny* SrsJsonAny::ingeter(int64_t value)
|
||||
{
|
||||
return new __SrsJsonInteger(value);
|
||||
return new SrsJsonInteger(value);
|
||||
}
|
||||
|
||||
SrsJsonAny* SrsJsonAny::number(double value)
|
||||
{
|
||||
return new __SrsJsonNumber(value);
|
||||
return new SrsJsonNumber(value);
|
||||
}
|
||||
|
||||
SrsJsonAny* SrsJsonAny::null()
|
||||
{
|
||||
return new __SrsJsonNull();
|
||||
return new SrsJsonNull();
|
||||
}
|
||||
|
||||
SrsJsonObject* SrsJsonAny::object()
|
||||
|
|
|
@ -92,7 +92,7 @@ using namespace std;
|
|||
// SRS_SYS_CYCLE_INTERVAL * SRS_SYS_NETWORK_DEVICE_RESOLUTION_TIMES
|
||||
#define SRS_SYS_NETWORK_DEVICE_RESOLUTION_TIMES 9
|
||||
|
||||
std::string __srs_listener_type2string(SrsListenerType type)
|
||||
std::string srs_listener_type2string(SrsListenerType type)
|
||||
{
|
||||
switch (type) {
|
||||
case SrsListenerRtmpStream:
|
||||
|
@ -154,7 +154,7 @@ int SrsStreamListener::listen(int port)
|
|||
"listen at port=%d, type=%d, fd=%d started success, port=%d",
|
||||
pthread->cid(), _srs_context->get_id(), _port, _type, fd, port);
|
||||
|
||||
srs_trace("%s listen at tcp://%d, fd=%d", __srs_listener_type2string(_type).c_str(), _port, listener->fd());
|
||||
srs_trace("%s listen at tcp://%d, fd=%d", srs_listener_type2string(_type).c_str(), _port, listener->fd());
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
@ -212,7 +212,7 @@ int SrsRtspListener::listen(int port)
|
|||
"listen at port=%d, type=%d, fd=%d started success, port=%d",
|
||||
pthread->cid(), _srs_context->get_id(), _port, _type, fd, port);
|
||||
|
||||
srs_trace("%s listen at tcp://%d, fd=%d", __srs_listener_type2string(_type).c_str(), _port, listener->fd());
|
||||
srs_trace("%s listen at tcp://%d, fd=%d", srs_listener_type2string(_type).c_str(), _port, listener->fd());
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
@ -270,7 +270,7 @@ int SrsUdpCasterListener::listen(int port)
|
|||
"listen at port=%d, type=%d, fd=%d started success, port=%d",
|
||||
pthread->cid(), _srs_context->get_id(), _port, _type, fd, port);
|
||||
|
||||
srs_trace("%s listen at udp://%d, fd=%d", __srs_listener_type2string(_type).c_str(), _port, listener->fd());
|
||||
srs_trace("%s listen at udp://%d, fd=%d", srs_listener_type2string(_type).c_str(), _port, listener->fd());
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
@ -796,10 +796,10 @@ int SrsServer::do_cycle()
|
|||
int heartbeat_max_resolution = (int)(_srs_config->get_heartbeat_interval() / SRS_SYS_CYCLE_INTERVAL);
|
||||
|
||||
// dynamic fetch the max.
|
||||
int __max = max;
|
||||
__max = srs_max(__max, heartbeat_max_resolution);
|
||||
int temp_max = max;
|
||||
temp_max = srs_max(temp_max, heartbeat_max_resolution);
|
||||
|
||||
for (int i = 0; i < __max; i++) {
|
||||
for (int i = 0; i < temp_max; i++) {
|
||||
st_usleep(SRS_SYS_CYCLE_INTERVAL * 1000);
|
||||
|
||||
// for gperf heap checker,
|
||||
|
|
|
@ -50,7 +50,7 @@ using namespace std;
|
|||
|
||||
// for 26ms per audio packet,
|
||||
// 115 packets is 3s.
|
||||
#define __SRS_PURE_AUDIO_GUESS_COUNT 115
|
||||
#define SRS_PURE_AUDIO_GUESS_COUNT 115
|
||||
|
||||
int _srs_time_jitter_string2int(std::string time_jitter)
|
||||
{
|
||||
|
@ -463,11 +463,11 @@ int SrsConsumer::get_time()
|
|||
return jitter->get_time();
|
||||
}
|
||||
|
||||
int SrsConsumer::enqueue(SrsSharedPtrMessage* __msg, bool atc, int tba, int tbv, SrsRtmpJitterAlgorithm ag)
|
||||
int SrsConsumer::enqueue(SrsSharedPtrMessage* shared_msg, bool atc, int tba, int tbv, SrsRtmpJitterAlgorithm ag)
|
||||
{
|
||||
int ret = ERROR_SUCCESS;
|
||||
|
||||
SrsSharedPtrMessage* msg = __msg->copy();
|
||||
SrsSharedPtrMessage* msg = shared_msg->copy();
|
||||
|
||||
if (!atc) {
|
||||
if ((ret = jitter->correct(msg, tba, tbv, ag)) != ERROR_SUCCESS) {
|
||||
|
@ -594,7 +594,7 @@ void SrsGopCache::set(bool enabled)
|
|||
srs_info("enable gop cache");
|
||||
}
|
||||
|
||||
int SrsGopCache::cache(SrsSharedPtrMessage* __msg)
|
||||
int SrsGopCache::cache(SrsSharedPtrMessage* shared_msg)
|
||||
{
|
||||
int ret = ERROR_SUCCESS;
|
||||
|
||||
|
@ -604,7 +604,7 @@ int SrsGopCache::cache(SrsSharedPtrMessage* __msg)
|
|||
}
|
||||
|
||||
// the gop cache know when to gop it.
|
||||
SrsSharedPtrMessage* msg = __msg;
|
||||
SrsSharedPtrMessage* msg = shared_msg;
|
||||
|
||||
// disable gop cache when not h.264
|
||||
if (!SrsFlvCodec::video_is_h264(msg->payload, msg->size)) {
|
||||
|
@ -630,7 +630,7 @@ int SrsGopCache::cache(SrsSharedPtrMessage* __msg)
|
|||
}
|
||||
|
||||
// clear gop cache when pure audio count overflow
|
||||
if (audio_after_last_video_count > __SRS_PURE_AUDIO_GUESS_COUNT) {
|
||||
if (audio_after_last_video_count > SRS_PURE_AUDIO_GUESS_COUNT) {
|
||||
srs_warn("clear gop cache for guess pure audio overflow");
|
||||
clear();
|
||||
return ret;
|
||||
|
@ -1319,14 +1319,14 @@ int SrsSource::on_meta_data(SrsCommonMessage* msg, SrsOnMetaDataPacket* metadata
|
|||
return ret;
|
||||
}
|
||||
|
||||
int SrsSource::on_audio(SrsCommonMessage* __audio)
|
||||
int SrsSource::on_audio(SrsCommonMessage* shared_audio)
|
||||
{
|
||||
int ret = ERROR_SUCCESS;
|
||||
|
||||
// convert __audio to msg, user should not use __audio again.
|
||||
// the payload is transfer to msg, and set to NULL in __audio.
|
||||
// convert shared_audio to msg, user should not use shared_audio again.
|
||||
// the payload is transfer to msg, and set to NULL in shared_audio.
|
||||
SrsSharedPtrMessage msg;
|
||||
if ((ret = msg.create(__audio)) != ERROR_SUCCESS) {
|
||||
if ((ret = msg.create(shared_audio)) != ERROR_SUCCESS) {
|
||||
srs_error("initialize the audio failed. ret=%d", ret);
|
||||
return ret;
|
||||
}
|
||||
|
@ -1470,14 +1470,14 @@ int SrsSource::on_audio(SrsCommonMessage* __audio)
|
|||
return ret;
|
||||
}
|
||||
|
||||
int SrsSource::on_video(SrsCommonMessage* __video)
|
||||
int SrsSource::on_video(SrsCommonMessage* shared_video)
|
||||
{
|
||||
int ret = ERROR_SUCCESS;
|
||||
|
||||
// convert __video to msg, user should not use __video again.
|
||||
// the payload is transfer to msg, and set to NULL in __video.
|
||||
// convert shared_video to msg, user should not use shared_video again.
|
||||
// the payload is transfer to msg, and set to NULL in shared_video.
|
||||
SrsSharedPtrMessage msg;
|
||||
if ((ret = msg.create(__video)) != ERROR_SUCCESS) {
|
||||
if ((ret = msg.create(shared_video)) != ERROR_SUCCESS) {
|
||||
srs_error("initialize the video failed. ret=%d", ret);
|
||||
return ret;
|
||||
}
|
||||
|
@ -1678,8 +1678,7 @@ int SrsSource::on_aggregate(SrsCommonMessage* msg)
|
|||
}
|
||||
|
||||
// to common message.
|
||||
SrsCommonMessage __o;
|
||||
SrsCommonMessage& o = __o;
|
||||
SrsCommonMessage o;
|
||||
|
||||
o.header.message_type = type;
|
||||
o.header.payload_length = data_size;
|
||||
|
|
|
@ -235,7 +235,7 @@ public:
|
|||
virtual int get_time();
|
||||
/**
|
||||
* enqueue an shared ptr message.
|
||||
* @param __msg, directly ptr, copy it if need to save it.
|
||||
* @param shared_msg, directly ptr, copy it if need to save it.
|
||||
* @param whether atc, donot use jitter correct if true.
|
||||
* @param tba timebase of audio.
|
||||
* used to calc the audio time delta if time-jitter detected.
|
||||
|
@ -243,7 +243,7 @@ public:
|
|||
* used to calc the video time delta if time-jitter detected.
|
||||
* @param ag the algorithm of time jitter.
|
||||
*/
|
||||
virtual int enqueue(SrsSharedPtrMessage* __msg, bool atc, int tba, int tbv, SrsRtmpJitterAlgorithm ag);
|
||||
virtual int enqueue(SrsSharedPtrMessage* shared_msg, bool atc, int tba, int tbv, SrsRtmpJitterAlgorithm ag);
|
||||
/**
|
||||
* get packets in consumer queue.
|
||||
* @param msgs the msgs array to dump packets to send.
|
||||
|
@ -317,9 +317,9 @@ public:
|
|||
* only for h264 codec
|
||||
* 1. cache the gop when got h264 video packet.
|
||||
* 2. clear gop when got keyframe.
|
||||
* @param __msg, directly ptr, copy it if need to save it.
|
||||
* @param shared_msg, directly ptr, copy it if need to save it.
|
||||
*/
|
||||
virtual int cache(SrsSharedPtrMessage* __msg);
|
||||
virtual int cache(SrsSharedPtrMessage* shared_msg);
|
||||
/**
|
||||
* clear the gop cache.
|
||||
*/
|
||||
|
|
|
@ -32,16 +32,16 @@ using namespace std;
|
|||
#include <srs_app_kbps.hpp>
|
||||
#include <srs_app_conn.hpp>
|
||||
|
||||
int64_t __srs_gvid = getpid();
|
||||
int64_t srs_gvid = getpid();
|
||||
|
||||
int64_t __srs_generate_id()
|
||||
int64_t srs_generate_id()
|
||||
{
|
||||
return __srs_gvid++;
|
||||
return srs_gvid++;
|
||||
}
|
||||
|
||||
SrsStatisticVhost::SrsStatisticVhost()
|
||||
{
|
||||
id = __srs_generate_id();
|
||||
id = srs_generate_id();
|
||||
|
||||
kbps = new SrsKbps();
|
||||
kbps->set_io(NULL, NULL);
|
||||
|
@ -54,7 +54,7 @@ SrsStatisticVhost::~SrsStatisticVhost()
|
|||
|
||||
SrsStatisticStream::SrsStatisticStream()
|
||||
{
|
||||
id = __srs_generate_id();
|
||||
id = srs_generate_id();
|
||||
vhost = NULL;
|
||||
|
||||
has_video = false;
|
||||
|
@ -87,7 +87,7 @@ SrsStatistic* SrsStatistic::_instance = new SrsStatistic();
|
|||
|
||||
SrsStatistic::SrsStatistic()
|
||||
{
|
||||
_server_id = __srs_generate_id();
|
||||
_server_id = srs_generate_id();
|
||||
|
||||
kbps = new SrsKbps();
|
||||
kbps->set_io(NULL, NULL);
|
||||
|
|
|
@ -378,7 +378,7 @@ public:
|
|||
unsigned long long rd_sectors;
|
||||
// Number of milliseconds spent reading.
|
||||
// This is the total number of milliseconds spent by all reads
|
||||
// (as measured from __make_request() to end_that_request_last()).
|
||||
// (as measured from make_request() to end_that_request_last()).
|
||||
// Time in queue + service for read
|
||||
unsigned int rd_ticks;
|
||||
//
|
||||
|
@ -399,7 +399,7 @@ public:
|
|||
unsigned long long wr_sectors;
|
||||
// Number of milliseconds spent writing .
|
||||
// This is the total number of milliseconds spent by all writes
|
||||
// (as measured from __make_request() to end_that_request_last()).
|
||||
// (as measured from make_request() to end_that_request_last()).
|
||||
// Time in queue + service for write
|
||||
unsigned int wr_ticks;
|
||||
//
|
||||
|
|
|
@ -41,9 +41,9 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
* SrsAutoFree(MyClass, po);
|
||||
*/
|
||||
#define SrsAutoFree(className, instance) \
|
||||
__SrsAutoFree<className> _auto_free_##instance(&instance)
|
||||
impl__SrsAutoFree<className> _auto_free_##instance(&instance)
|
||||
template<class T>
|
||||
class __SrsAutoFree
|
||||
class impl__SrsAutoFree
|
||||
{
|
||||
private:
|
||||
T** ptr;
|
||||
|
@ -51,11 +51,11 @@ public:
|
|||
/**
|
||||
* auto delete the ptr.
|
||||
*/
|
||||
__SrsAutoFree(T** _ptr) {
|
||||
impl__SrsAutoFree(T** _ptr) {
|
||||
ptr = _ptr;
|
||||
}
|
||||
|
||||
virtual ~__SrsAutoFree() {
|
||||
virtual ~impl__SrsAutoFree() {
|
||||
if (ptr == NULL || *ptr == NULL) {
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -226,7 +226,7 @@ bool srs_string_ends_with(string str, string flag)
|
|||
return str.rfind(flag) == str.length() - flag.length();
|
||||
}
|
||||
|
||||
int __srs_create_dir_recursively(string dir)
|
||||
int srs_do_create_dir_recursively(string dir)
|
||||
{
|
||||
int ret = ERROR_SUCCESS;
|
||||
|
||||
|
@ -239,7 +239,7 @@ int __srs_create_dir_recursively(string dir)
|
|||
size_t pos;
|
||||
if ((pos = dir.rfind("/")) != std::string::npos) {
|
||||
std::string parent = dir.substr(0, pos);
|
||||
ret = __srs_create_dir_recursively(parent);
|
||||
ret = srs_do_create_dir_recursively(parent);
|
||||
// return for error.
|
||||
if (ret != ERROR_SUCCESS && ret != ERROR_SYSTEM_DIR_EXISTS) {
|
||||
return ret;
|
||||
|
@ -268,7 +268,7 @@ int srs_create_dir_recursively(string dir)
|
|||
{
|
||||
int ret = ERROR_SUCCESS;
|
||||
|
||||
ret = __srs_create_dir_recursively(dir);
|
||||
ret = srs_do_create_dir_recursively(dir);
|
||||
|
||||
if (ret == ERROR_SYSTEM_DIR_EXISTS) {
|
||||
return ERROR_SUCCESS;
|
||||
|
|
|
@ -570,22 +570,22 @@ int srs_rtmp_handshake(srs_rtmp_t rtmp)
|
|||
{
|
||||
int ret = ERROR_SUCCESS;
|
||||
|
||||
if ((ret = __srs_rtmp_dns_resolve(rtmp)) != ERROR_SUCCESS) {
|
||||
if ((ret = srs_rtmp_dns_resolve(rtmp)) != ERROR_SUCCESS) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
if ((ret = __srs_rtmp_connect_server(rtmp)) != ERROR_SUCCESS) {
|
||||
if ((ret = srs_rtmp_connect_server(rtmp)) != ERROR_SUCCESS) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
if ((ret = __srs_rtmp_do_simple_handshake(rtmp)) != ERROR_SUCCESS) {
|
||||
if ((ret = srs_rtmp_do_simple_handshake(rtmp)) != ERROR_SUCCESS) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int __srs_rtmp_dns_resolve(srs_rtmp_t rtmp)
|
||||
int srs_rtmp_dns_resolve(srs_rtmp_t rtmp)
|
||||
{
|
||||
int ret = ERROR_SUCCESS;
|
||||
|
||||
|
@ -604,7 +604,7 @@ int __srs_rtmp_dns_resolve(srs_rtmp_t rtmp)
|
|||
return ret;
|
||||
}
|
||||
|
||||
int __srs_rtmp_connect_server(srs_rtmp_t rtmp)
|
||||
int srs_rtmp_connect_server(srs_rtmp_t rtmp)
|
||||
{
|
||||
int ret = ERROR_SUCCESS;
|
||||
|
||||
|
@ -618,7 +618,7 @@ int __srs_rtmp_connect_server(srs_rtmp_t rtmp)
|
|||
return ret;
|
||||
}
|
||||
|
||||
int __srs_rtmp_do_complex_handshake(srs_rtmp_t rtmp)
|
||||
int srs_rtmp_do_complex_handshake(srs_rtmp_t rtmp)
|
||||
{
|
||||
#ifndef SRS_AUTO_SSL
|
||||
// complex handshake requires ssl
|
||||
|
@ -670,7 +670,7 @@ int srs_rtmp_set_connect_args(srs_rtmp_t rtmp,
|
|||
return ret;
|
||||
}
|
||||
|
||||
int __srs_rtmp_do_simple_handshake(srs_rtmp_t rtmp)
|
||||
int srs_rtmp_do_simple_handshake(srs_rtmp_t rtmp)
|
||||
{
|
||||
int ret = ERROR_SUCCESS;
|
||||
|
||||
|
@ -818,7 +818,7 @@ int srs_rtmp_bandwidth_check(srs_rtmp_t rtmp,
|
|||
}
|
||||
|
||||
|
||||
int __srs_rtmp_on_aggregate(Context* context, SrsCommonMessage* msg)
|
||||
int srs_rtmp_on_aggregate(Context* context, SrsCommonMessage* msg)
|
||||
{
|
||||
int ret = ERROR_SUCCESS;
|
||||
|
||||
|
@ -889,8 +889,7 @@ int __srs_rtmp_on_aggregate(Context* context, SrsCommonMessage* msg)
|
|||
}
|
||||
|
||||
// to common message.
|
||||
SrsCommonMessage __o;
|
||||
SrsCommonMessage& o = __o;
|
||||
SrsCommonMessage o;
|
||||
|
||||
o.header.message_type = type;
|
||||
o.header.payload_length = data_size;
|
||||
|
@ -924,7 +923,7 @@ int __srs_rtmp_on_aggregate(Context* context, SrsCommonMessage* msg)
|
|||
return ret;
|
||||
}
|
||||
|
||||
int __srs_rtmp_go_packet(Context* context, SrsCommonMessage* msg,
|
||||
int srs_rtmp_go_packet(Context* context, SrsCommonMessage* msg,
|
||||
char* type, u_int32_t* timestamp, char** data, int* size,
|
||||
bool* got_msg
|
||||
) {
|
||||
|
@ -954,7 +953,7 @@ int __srs_rtmp_go_packet(Context* context, SrsCommonMessage* msg,
|
|||
// detach bytes from packet.
|
||||
msg->payload = NULL;
|
||||
} else if (msg->header.is_aggregate()) {
|
||||
if ((ret = __srs_rtmp_on_aggregate(context, msg)) != ERROR_SUCCESS) {
|
||||
if ((ret = srs_rtmp_on_aggregate(context, msg)) != ERROR_SUCCESS) {
|
||||
return ret;
|
||||
}
|
||||
*got_msg = false;
|
||||
|
@ -1005,7 +1004,7 @@ int srs_rtmp_read_packet(srs_rtmp_t rtmp, char* type, u_int32_t* timestamp, char
|
|||
|
||||
// process the got packet, if nothing, try again.
|
||||
bool got_msg;
|
||||
if ((ret = __srs_rtmp_go_packet(context, msg, type, timestamp, data, size, &got_msg)) != ERROR_SUCCESS) {
|
||||
if ((ret = srs_rtmp_go_packet(context, msg, type, timestamp, data, size, &got_msg)) != ERROR_SUCCESS) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -1073,7 +1072,7 @@ srs_bool srs_rtmp_is_onMetaData(char type, char* data, int size)
|
|||
/**
|
||||
* directly write a audio frame.
|
||||
*/
|
||||
int __srs_write_audio_raw_frame(Context* context,
|
||||
int srs_write_audio_raw_frame(Context* context,
|
||||
char* frame, int frame_size, SrsRawAacStreamCodec* codec, u_int32_t timestamp
|
||||
) {
|
||||
int ret = ERROR_SUCCESS;
|
||||
|
@ -1090,7 +1089,7 @@ int __srs_write_audio_raw_frame(Context* context,
|
|||
/**
|
||||
* write aac frame in adts.
|
||||
*/
|
||||
int __srs_write_aac_adts_frame(Context* context,
|
||||
int srs_write_aac_adts_frame(Context* context,
|
||||
SrsRawAacStreamCodec* codec, char* frame, int frame_size, u_int32_t timestamp
|
||||
) {
|
||||
int ret = ERROR_SUCCESS;
|
||||
|
@ -1105,19 +1104,19 @@ int __srs_write_aac_adts_frame(Context* context,
|
|||
|
||||
codec->aac_packet_type = 0;
|
||||
|
||||
if ((ret = __srs_write_audio_raw_frame(context, (char*)sh.data(), (int)sh.length(), codec, timestamp)) != ERROR_SUCCESS) {
|
||||
if ((ret = srs_write_audio_raw_frame(context, (char*)sh.data(), (int)sh.length(), codec, timestamp)) != ERROR_SUCCESS) {
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
codec->aac_packet_type = 1;
|
||||
return __srs_write_audio_raw_frame(context, frame, frame_size, codec, timestamp);
|
||||
return srs_write_audio_raw_frame(context, frame, frame_size, codec, timestamp);
|
||||
}
|
||||
|
||||
/**
|
||||
* write aac frames in adts.
|
||||
*/
|
||||
int __srs_write_aac_adts_frames(Context* context,
|
||||
int srs_write_aac_adts_frames(Context* context,
|
||||
char sound_format, char sound_rate, char sound_size, char sound_type,
|
||||
char* frames, int frames_size, u_int32_t timestamp
|
||||
) {
|
||||
|
@ -1142,7 +1141,7 @@ int __srs_write_aac_adts_frames(Context* context,
|
|||
codec.sound_size = sound_size;
|
||||
codec.sound_type = sound_type;
|
||||
|
||||
if ((ret = __srs_write_aac_adts_frame(context, &codec, frame, frame_size, timestamp)) != ERROR_SUCCESS) {
|
||||
if ((ret = srs_write_aac_adts_frame(context, &codec, frame, frame_size, timestamp)) != ERROR_SUCCESS) {
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
@ -1169,7 +1168,7 @@ int srs_audio_write_raw_frame(srs_rtmp_t rtmp,
|
|||
}
|
||||
|
||||
// for aac, demux the ADTS to RTMP format.
|
||||
return __srs_write_aac_adts_frames(context,
|
||||
return srs_write_aac_adts_frames(context,
|
||||
sound_format, sound_rate, sound_size, sound_type,
|
||||
frame, frame_size, timestamp);
|
||||
} else {
|
||||
|
@ -1182,7 +1181,7 @@ int srs_audio_write_raw_frame(srs_rtmp_t rtmp,
|
|||
codec.aac_packet_type = 0;
|
||||
|
||||
// for other data, directly write frame.
|
||||
return __srs_write_audio_raw_frame(context, frame, frame_size, &codec, timestamp);
|
||||
return srs_write_audio_raw_frame(context, frame, frame_size, &codec, timestamp);
|
||||
}
|
||||
|
||||
|
||||
|
@ -1234,7 +1233,7 @@ int srs_aac_adts_frame_size(char* aac_raw_data, int ac_raw_size)
|
|||
/**
|
||||
* write h264 IPB-frame.
|
||||
*/
|
||||
int __srs_write_h264_ipb_frame(Context* context,
|
||||
int srs_write_h264_ipb_frame(Context* context,
|
||||
char* frame, int frame_size, u_int32_t dts, u_int32_t pts
|
||||
) {
|
||||
int ret = ERROR_SUCCESS;
|
||||
|
@ -1266,7 +1265,7 @@ int __srs_write_h264_ipb_frame(Context* context,
|
|||
/**
|
||||
* write the h264 sps/pps in context over RTMP.
|
||||
*/
|
||||
int __srs_write_h264_sps_pps(Context* context, u_int32_t dts, u_int32_t pts)
|
||||
int srs_write_h264_sps_pps(Context* context, u_int32_t dts, u_int32_t pts)
|
||||
{
|
||||
int ret = ERROR_SUCCESS;
|
||||
|
||||
|
@ -1303,7 +1302,7 @@ int __srs_write_h264_sps_pps(Context* context, u_int32_t dts, u_int32_t pts)
|
|||
/**
|
||||
* write h264 raw frame, maybe sps/pps/IPB-frame.
|
||||
*/
|
||||
int __srs_write_h264_raw_frame(Context* context,
|
||||
int srs_write_h264_raw_frame(Context* context,
|
||||
char* frame, int frame_size, u_int32_t dts, u_int32_t pts
|
||||
) {
|
||||
int ret = ERROR_SUCCESS;
|
||||
|
@ -1321,7 +1320,7 @@ int __srs_write_h264_raw_frame(Context* context,
|
|||
context->h264_sps_changed = true;
|
||||
context->h264_sps = sps;
|
||||
|
||||
return __srs_write_h264_sps_pps(context, dts, pts);
|
||||
return srs_write_h264_sps_pps(context, dts, pts);
|
||||
}
|
||||
|
||||
// for pps
|
||||
|
@ -1337,11 +1336,11 @@ int __srs_write_h264_raw_frame(Context* context,
|
|||
context->h264_pps_changed = true;
|
||||
context->h264_pps = pps;
|
||||
|
||||
return __srs_write_h264_sps_pps(context, dts, pts);
|
||||
return srs_write_h264_sps_pps(context, dts, pts);
|
||||
}
|
||||
|
||||
// ibp frame.
|
||||
return __srs_write_h264_ipb_frame(context, frame, frame_size, dts, pts);
|
||||
return srs_write_h264_ipb_frame(context, frame, frame_size, dts, pts);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1382,7 +1381,7 @@ int srs_h264_write_raw_frames(srs_rtmp_t rtmp,
|
|||
}
|
||||
|
||||
// it may be return error, but we must process all packets.
|
||||
if ((ret = __srs_write_h264_raw_frame(context, frame, frame_size, dts, pts)) != ERROR_SUCCESS) {
|
||||
if ((ret = srs_write_h264_raw_frame(context, frame, frame_size, dts, pts)) != ERROR_SUCCESS) {
|
||||
error_code_return = ret;
|
||||
|
||||
// ignore known error, process all packets.
|
||||
|
|
|
@ -131,20 +131,20 @@ extern void srs_rtmp_destroy(srs_rtmp_t rtmp);
|
|||
*/
|
||||
/**
|
||||
* srs_rtmp_handshake equals to invoke:
|
||||
* __srs_rtmp_dns_resolve()
|
||||
* __srs_rtmp_connect_server()
|
||||
* __srs_rtmp_do_simple_handshake()
|
||||
* srs_rtmp_dns_resolve()
|
||||
* srs_rtmp_connect_server()
|
||||
* srs_rtmp_do_simple_handshake()
|
||||
* user can use these functions if needed.
|
||||
*/
|
||||
extern int srs_rtmp_handshake(srs_rtmp_t rtmp);
|
||||
// parse uri, create socket, resolve host
|
||||
extern int __srs_rtmp_dns_resolve(srs_rtmp_t rtmp);
|
||||
extern int srs_rtmp_dns_resolve(srs_rtmp_t rtmp);
|
||||
// connect socket to server
|
||||
extern int __srs_rtmp_connect_server(srs_rtmp_t rtmp);
|
||||
extern int srs_rtmp_connect_server(srs_rtmp_t rtmp);
|
||||
// do simple handshake over socket.
|
||||
extern int __srs_rtmp_do_simple_handshake(srs_rtmp_t rtmp);
|
||||
extern int srs_rtmp_do_simple_handshake(srs_rtmp_t rtmp);
|
||||
// do complex handshake over socket.
|
||||
extern int __srs_rtmp_do_complex_handshake(srs_rtmp_t rtmp);
|
||||
extern int srs_rtmp_do_complex_handshake(srs_rtmp_t rtmp);
|
||||
|
||||
/**
|
||||
* set the args of connect packet for rtmp.
|
||||
|
|
|
@ -194,13 +194,13 @@ bool SrsAmf0Any::is_object_eof()
|
|||
return marker == RTMP_AMF0_ObjectEnd;
|
||||
}
|
||||
|
||||
void __srs_fill_level_spaces(stringstream& ss, int level)
|
||||
void srs_fill_level_spaces(stringstream& ss, int level)
|
||||
{
|
||||
for (int i = 0; i < level; i++) {
|
||||
ss << " ";
|
||||
}
|
||||
}
|
||||
void __srs_amf0_do_print(SrsAmf0Any* any, stringstream& ss, int level)
|
||||
void srs_amf0_do_print(SrsAmf0Any* any, stringstream& ss, int level)
|
||||
{
|
||||
if (any->is_boolean()) {
|
||||
ss << "Boolean " << (any->to_boolean()? "true":"false") << endl;
|
||||
|
@ -217,36 +217,36 @@ void __srs_amf0_do_print(SrsAmf0Any* any, stringstream& ss, int level)
|
|||
SrsAmf0EcmaArray* obj = any->to_ecma_array();
|
||||
ss << "EcmaArray " << "(" << obj->count() << " items)" << endl;
|
||||
for (int i = 0; i < obj->count(); i++) {
|
||||
__srs_fill_level_spaces(ss, level + 1);
|
||||
srs_fill_level_spaces(ss, level + 1);
|
||||
ss << "Elem '" << obj->key_at(i) << "' ";
|
||||
if (obj->value_at(i)->is_complex_object()) {
|
||||
__srs_amf0_do_print(obj->value_at(i), ss, level + 1);
|
||||
srs_amf0_do_print(obj->value_at(i), ss, level + 1);
|
||||
} else {
|
||||
__srs_amf0_do_print(obj->value_at(i), ss, 0);
|
||||
srs_amf0_do_print(obj->value_at(i), ss, 0);
|
||||
}
|
||||
}
|
||||
} else if (any->is_strict_array()) {
|
||||
SrsAmf0StrictArray* obj = any->to_strict_array();
|
||||
ss << "StrictArray " << "(" << obj->count() << " items)" << endl;
|
||||
for (int i = 0; i < obj->count(); i++) {
|
||||
__srs_fill_level_spaces(ss, level + 1);
|
||||
srs_fill_level_spaces(ss, level + 1);
|
||||
ss << "Elem ";
|
||||
if (obj->at(i)->is_complex_object()) {
|
||||
__srs_amf0_do_print(obj->at(i), ss, level + 1);
|
||||
srs_amf0_do_print(obj->at(i), ss, level + 1);
|
||||
} else {
|
||||
__srs_amf0_do_print(obj->at(i), ss, 0);
|
||||
srs_amf0_do_print(obj->at(i), ss, 0);
|
||||
}
|
||||
}
|
||||
} else if (any->is_object()) {
|
||||
SrsAmf0Object* obj = any->to_object();
|
||||
ss << "Object " << "(" << obj->count() << " items)" << endl;
|
||||
for (int i = 0; i < obj->count(); i++) {
|
||||
__srs_fill_level_spaces(ss, level + 1);
|
||||
srs_fill_level_spaces(ss, level + 1);
|
||||
ss << "Property '" << obj->key_at(i) << "' ";
|
||||
if (obj->value_at(i)->is_complex_object()) {
|
||||
__srs_amf0_do_print(obj->value_at(i), ss, level + 1);
|
||||
srs_amf0_do_print(obj->value_at(i), ss, level + 1);
|
||||
} else {
|
||||
__srs_amf0_do_print(obj->value_at(i), ss, 0);
|
||||
srs_amf0_do_print(obj->value_at(i), ss, 0);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
@ -260,7 +260,7 @@ char* SrsAmf0Any::human_print(char** pdata, int* psize)
|
|||
|
||||
ss.precision(1);
|
||||
|
||||
__srs_amf0_do_print(this, ss, 0);
|
||||
srs_amf0_do_print(this, ss, 0);
|
||||
|
||||
string str = ss.str();
|
||||
if (str.empty()) {
|
||||
|
|
|
@ -144,11 +144,11 @@ int SrsFastBuffer::grow(ISrsBufferReader* reader, int required_size)
|
|||
|
||||
// the free space of buffer,
|
||||
// buffer = consumed_bytes + exists_bytes + free_space.
|
||||
int nb_free_space = buffer + nb_buffer - end;
|
||||
int nb_free_space = (int)(buffer + nb_buffer - end);
|
||||
// resize the space when no left space.
|
||||
if (nb_free_space < required_size) {
|
||||
// the bytes already in buffer
|
||||
int nb_exists_bytes = end - p;
|
||||
int nb_exists_bytes = (int)(end - p);
|
||||
srs_assert(nb_exists_bytes >= 0);
|
||||
srs_verbose("move fast buffer %d bytes", nb_exists_bytes);
|
||||
|
||||
|
@ -166,7 +166,7 @@ int SrsFastBuffer::grow(ISrsBufferReader* reader, int required_size)
|
|||
}
|
||||
|
||||
// check whether enough free space in buffer.
|
||||
nb_free_space = buffer + nb_buffer - end;
|
||||
nb_free_space = (int)(buffer + nb_buffer - end);
|
||||
if (nb_free_space < required_size) {
|
||||
ret = ERROR_READER_BUFFER_OVERFLOW;
|
||||
srs_error("buffer overflow, required=%d, max=%d, left=%d, ret=%d",
|
||||
|
|
|
@ -40,7 +40,7 @@ using namespace _srs_internal;
|
|||
// for openssl_HMACsha256
|
||||
#include <openssl/evp.h>
|
||||
#include <openssl/hmac.h>
|
||||
// for __openssl_generate_key
|
||||
// for openssl_generate_key
|
||||
#include <openssl/dh.h>
|
||||
|
||||
namespace _srs_internal
|
||||
|
@ -70,7 +70,7 @@ namespace _srs_internal
|
|||
0x93, 0xB8, 0xE6, 0x36, 0xCF, 0xEB, 0x31, 0xAE
|
||||
}; // 62
|
||||
|
||||
int __openssl_HMACsha256(HMAC_CTX* ctx, const void* data, int data_size, void* digest, unsigned int* digest_size)
|
||||
int do_openssl_HMACsha256(HMAC_CTX* ctx, const void* data, int data_size, void* digest, unsigned int* digest_size)
|
||||
{
|
||||
int ret = ERROR_SUCCESS;
|
||||
|
||||
|
@ -97,14 +97,14 @@ namespace _srs_internal
|
|||
|
||||
unsigned int digest_size = 0;
|
||||
|
||||
unsigned char* __key = (unsigned char*)key;
|
||||
unsigned char* __digest = (unsigned char*)digest;
|
||||
unsigned char* temp_key = (unsigned char*)key;
|
||||
unsigned char* temp_digest = (unsigned char*)digest;
|
||||
|
||||
if (key == NULL) {
|
||||
// use data to digest.
|
||||
// @see ./crypto/sha/sha256t.c
|
||||
// @see ./crypto/evp/digest.c
|
||||
if (EVP_Digest(data, data_size, __digest, &digest_size, EVP_sha256(), NULL) < 0)
|
||||
if (EVP_Digest(data, data_size, temp_digest, &digest_size, EVP_sha256(), NULL) < 0)
|
||||
{
|
||||
ret = ERROR_OpenSslSha256EvpDigest;
|
||||
return ret;
|
||||
|
@ -116,12 +116,12 @@ namespace _srs_internal
|
|||
// @remark, if no key, use EVP_Digest to digest,
|
||||
// for instance, in python, hashlib.sha256(data).digest().
|
||||
HMAC_CTX_init(&ctx);
|
||||
if (HMAC_Init_ex(&ctx, __key, key_size, EVP_sha256(), NULL) < 0) {
|
||||
if (HMAC_Init_ex(&ctx, temp_key, key_size, EVP_sha256(), NULL) < 0) {
|
||||
ret = ERROR_OpenSslSha256Init;
|
||||
return ret;
|
||||
}
|
||||
|
||||
ret = __openssl_HMACsha256(&ctx, data, data_size, __digest, &digest_size);
|
||||
ret = do_openssl_HMACsha256(&ctx, data, data_size, temp_digest, &digest_size);
|
||||
HMAC_CTX_cleanup(&ctx);
|
||||
|
||||
if (ret != ERROR_SUCCESS) {
|
||||
|
@ -590,7 +590,7 @@ namespace _srs_internal
|
|||
return ret;
|
||||
}
|
||||
|
||||
c1_digest = new char[__SRS_OpensslHashSize];
|
||||
c1_digest = new char[SRS_OpensslHashSize];
|
||||
if ((ret = openssl_HMACsha256(SrsGenuineFPKey, 30, c1s1_joined_bytes, 1536 - 32, c1_digest)) != ERROR_SUCCESS) {
|
||||
srs_freep(c1_digest);
|
||||
srs_error("calc digest for c1 failed. ret=%d", ret);
|
||||
|
@ -618,7 +618,7 @@ namespace _srs_internal
|
|||
return ret;
|
||||
}
|
||||
|
||||
s1_digest = new char[__SRS_OpensslHashSize];
|
||||
s1_digest = new char[SRS_OpensslHashSize];
|
||||
if ((ret = openssl_HMACsha256(SrsGenuineFMSKey, 36, c1s1_joined_bytes, 1536 - 32, s1_digest)) != ERROR_SUCCESS) {
|
||||
srs_freep(s1_digest);
|
||||
srs_error("calc digest for s1 failed. ret=%d", ret);
|
||||
|
@ -995,14 +995,14 @@ namespace _srs_internal
|
|||
{
|
||||
int ret = ERROR_SUCCESS;
|
||||
|
||||
char temp_key[__SRS_OpensslHashSize];
|
||||
char temp_key[SRS_OpensslHashSize];
|
||||
if ((ret = openssl_HMACsha256(SrsGenuineFPKey, 62, s1->get_digest(), 32, temp_key)) != ERROR_SUCCESS) {
|
||||
srs_error("create c2 temp key failed. ret=%d", ret);
|
||||
return ret;
|
||||
}
|
||||
srs_verbose("generate c2 temp key success.");
|
||||
|
||||
char _digest[__SRS_OpensslHashSize];
|
||||
char _digest[SRS_OpensslHashSize];
|
||||
if ((ret = openssl_HMACsha256(temp_key, 32, random, 1504, _digest)) != ERROR_SUCCESS) {
|
||||
srs_error("create c2 digest failed. ret=%d", ret);
|
||||
return ret;
|
||||
|
@ -1019,14 +1019,14 @@ namespace _srs_internal
|
|||
is_valid = false;
|
||||
int ret = ERROR_SUCCESS;
|
||||
|
||||
char temp_key[__SRS_OpensslHashSize];
|
||||
char temp_key[SRS_OpensslHashSize];
|
||||
if ((ret = openssl_HMACsha256(SrsGenuineFPKey, 62, s1->get_digest(), 32, temp_key)) != ERROR_SUCCESS) {
|
||||
srs_error("create c2 temp key failed. ret=%d", ret);
|
||||
return ret;
|
||||
}
|
||||
srs_verbose("generate c2 temp key success.");
|
||||
|
||||
char _digest[__SRS_OpensslHashSize];
|
||||
char _digest[SRS_OpensslHashSize];
|
||||
if ((ret = openssl_HMACsha256(temp_key, 32, random, 1504, _digest)) != ERROR_SUCCESS) {
|
||||
srs_error("create c2 digest failed. ret=%d", ret);
|
||||
return ret;
|
||||
|
@ -1042,14 +1042,14 @@ namespace _srs_internal
|
|||
{
|
||||
int ret = ERROR_SUCCESS;
|
||||
|
||||
char temp_key[__SRS_OpensslHashSize];
|
||||
char temp_key[SRS_OpensslHashSize];
|
||||
if ((ret = openssl_HMACsha256(SrsGenuineFMSKey, 68, c1->get_digest(), 32, temp_key)) != ERROR_SUCCESS) {
|
||||
srs_error("create s2 temp key failed. ret=%d", ret);
|
||||
return ret;
|
||||
}
|
||||
srs_verbose("generate s2 temp key success.");
|
||||
|
||||
char _digest[__SRS_OpensslHashSize];
|
||||
char _digest[SRS_OpensslHashSize];
|
||||
if ((ret = openssl_HMACsha256(temp_key, 32, random, 1504, _digest)) != ERROR_SUCCESS) {
|
||||
srs_error("create s2 digest failed. ret=%d", ret);
|
||||
return ret;
|
||||
|
@ -1066,14 +1066,14 @@ namespace _srs_internal
|
|||
is_valid = false;
|
||||
int ret = ERROR_SUCCESS;
|
||||
|
||||
char temp_key[__SRS_OpensslHashSize];
|
||||
char temp_key[SRS_OpensslHashSize];
|
||||
if ((ret = openssl_HMACsha256(SrsGenuineFMSKey, 68, c1->get_digest(), 32, temp_key)) != ERROR_SUCCESS) {
|
||||
srs_error("create s2 temp key failed. ret=%d", ret);
|
||||
return ret;
|
||||
}
|
||||
srs_verbose("generate s2 temp key success.");
|
||||
|
||||
char _digest[__SRS_OpensslHashSize];
|
||||
char _digest[SRS_OpensslHashSize];
|
||||
if ((ret = openssl_HMACsha256(temp_key, 32, random, 1504, _digest)) != ERROR_SUCCESS) {
|
||||
srs_error("create s2 digest failed. ret=%d", ret);
|
||||
return ret;
|
||||
|
|
|
@ -43,7 +43,7 @@ class SrsStream;
|
|||
namespace _srs_internal
|
||||
{
|
||||
// the digest key generate size.
|
||||
#define __SRS_OpensslHashSize 512
|
||||
#define SRS_OpensslHashSize 512
|
||||
extern u_int8_t SrsGenuineFMSKey[];
|
||||
extern u_int8_t SrsGenuineFPKey[];
|
||||
int openssl_HMACsha256(const void* key, int key_size, const void* data, int data_size, void* digest);
|
||||
|
|
|
@ -385,14 +385,14 @@ SrsCommonMessage::~SrsCommonMessage()
|
|||
srs_freep(payload);
|
||||
}
|
||||
|
||||
SrsSharedPtrMessage::__SrsSharedPtr::__SrsSharedPtr()
|
||||
SrsSharedPtrMessage::SrsSharedPtrPayload::SrsSharedPtrPayload()
|
||||
{
|
||||
payload = NULL;
|
||||
size = 0;
|
||||
shared_count = 0;
|
||||
}
|
||||
|
||||
SrsSharedPtrMessage::__SrsSharedPtr::~__SrsSharedPtr()
|
||||
SrsSharedPtrMessage::SrsSharedPtrPayload::~SrsSharedPtrPayload()
|
||||
{
|
||||
srs_freep(payload);
|
||||
}
|
||||
|
@ -442,7 +442,7 @@ int SrsSharedPtrMessage::create(SrsMessageHeader* pheader, char* payload, int si
|
|||
return ret;
|
||||
}
|
||||
|
||||
ptr = new __SrsSharedPtr();
|
||||
ptr = new SrsSharedPtrPayload();
|
||||
|
||||
// direct attach the data.
|
||||
if (pheader) {
|
||||
|
|
|
@ -251,7 +251,7 @@ public:
|
|||
*/
|
||||
char* payload;
|
||||
private:
|
||||
class __SrsSharedPtr
|
||||
class SrsSharedPtrPayload
|
||||
{
|
||||
public:
|
||||
// shared message header.
|
||||
|
@ -264,10 +264,10 @@ private:
|
|||
// the reference count
|
||||
int shared_count;
|
||||
public:
|
||||
__SrsSharedPtr();
|
||||
virtual ~__SrsSharedPtr();
|
||||
SrsSharedPtrPayload();
|
||||
virtual ~SrsSharedPtrPayload();
|
||||
};
|
||||
__SrsSharedPtr* ptr;
|
||||
SrsSharedPtrPayload* ptr;
|
||||
public:
|
||||
SrsSharedPtrMessage();
|
||||
virtual ~SrsSharedPtrMessage();
|
||||
|
|
|
@ -288,7 +288,7 @@ int srs_chunk_header_c3(
|
|||
return p - cache;
|
||||
}
|
||||
|
||||
int __srs_rtmp_create_msg(char type, u_int32_t timestamp, char* data, int size, int stream_id, SrsSharedPtrMessage** ppmsg)
|
||||
int srs_do_rtmp_create_msg(char type, u_int32_t timestamp, char* data, int size, int stream_id, SrsSharedPtrMessage** ppmsg)
|
||||
{
|
||||
int ret = ERROR_SUCCESS;
|
||||
|
||||
|
@ -338,7 +338,7 @@ int srs_rtmp_create_msg(char type, u_int32_t timestamp, char* data, int size, in
|
|||
int ret = ERROR_SUCCESS;
|
||||
|
||||
// only when failed, we must free the data.
|
||||
if ((ret = __srs_rtmp_create_msg(type, timestamp, data, size, stream_id, ppmsg)) != ERROR_SUCCESS) {
|
||||
if ((ret = srs_do_rtmp_create_msg(type, timestamp, data, size, stream_id, ppmsg)) != ERROR_SUCCESS) {
|
||||
srs_freep(data);
|
||||
return ret;
|
||||
}
|
||||
|
|
|
@ -772,7 +772,7 @@ SrsRtspOptionsResponse::~SrsRtspOptionsResponse()
|
|||
|
||||
int SrsRtspOptionsResponse::encode_header(stringstream& ss)
|
||||
{
|
||||
SrsRtspMethod __methods[] = {
|
||||
SrsRtspMethod rtsp_methods[] = {
|
||||
SrsRtspMethodDescribe,
|
||||
SrsRtspMethodAnnounce,
|
||||
SrsRtspMethodGetParameter,
|
||||
|
@ -789,9 +789,9 @@ int SrsRtspOptionsResponse::encode_header(stringstream& ss)
|
|||
ss << SRS_RTSP_TOKEN_PUBLIC << ":" << SRS_RTSP_SP;
|
||||
|
||||
bool appended = false;
|
||||
int nb_methods = (int)(sizeof(__methods) / sizeof(SrsRtspMethod));
|
||||
int nb_methods = (int)(sizeof(rtsp_methods) / sizeof(SrsRtspMethod));
|
||||
for (int i = 0; i < nb_methods; i++) {
|
||||
SrsRtspMethod method = __methods[i];
|
||||
SrsRtspMethod method = rtsp_methods[i];
|
||||
if (((int)methods & (int)method) != (int)method) {
|
||||
continue;
|
||||
}
|
||||
|
|
|
@ -45,7 +45,7 @@ MockEmptyLog::~MockEmptyLog()
|
|||
{
|
||||
}
|
||||
|
||||
void __srs_bytes_print(char* pa, int size)
|
||||
void srs_bytes_print(char* pa, int size)
|
||||
{
|
||||
for(int i = 0; i < size; i++) {
|
||||
char v = pa[i];
|
||||
|
|
|
@ -79,7 +79,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
// * {ASSERT|EXPECT}_NEAR(v1, v2, abs_error): Tests that v1 and v2 are within the given distance to each other.
|
||||
|
||||
// print the bytes.
|
||||
void __srs_bytes_print(char* pa, int size);
|
||||
void srs_bytes_print(char* pa, int size);
|
||||
|
||||
class MockEmptyLog : public SrsFastLog
|
||||
{
|
||||
|
|
|
@ -79,7 +79,7 @@ int MockSrsConfig::parse(string buf)
|
|||
#ifdef ENABLE_UTEST_CONFIG
|
||||
|
||||
// full.conf
|
||||
std::string __full_conf = ""
|
||||
std::string _full_conf = ""
|
||||
"listen 1935; \n "
|
||||
"pid ./objs/srs.pid; \n "
|
||||
"chunk_size 60000; \n "
|
||||
|
@ -1377,7 +1377,7 @@ VOID TEST(ConfigMainTest, ParseInvalidDirective2)
|
|||
VOID TEST(ConfigMainTest, ParseFullConf)
|
||||
{
|
||||
MockSrsConfig conf;
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(__full_conf));
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
|
||||
|
||||
vector<string> listens = conf.get_listen();
|
||||
EXPECT_EQ(1, (int)listens.size());
|
||||
|
@ -1525,7 +1525,7 @@ VOID TEST(ConfigMainTest, ParseFullConf_same_edge)
|
|||
{
|
||||
string vhost;
|
||||
MockSrsConfig conf;
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(__full_conf));
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
|
||||
|
||||
vhost = "same.edge.srs.com";
|
||||
EXPECT_TRUE(conf.get_vhost_enabled(vhost));
|
||||
|
@ -1605,7 +1605,7 @@ VOID TEST(ConfigMainTest, ParseFullConf_change_edge)
|
|||
{
|
||||
string vhost;
|
||||
MockSrsConfig conf;
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(__full_conf));
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
|
||||
|
||||
vhost = "change.edge.srs.com";
|
||||
// TODO: FIXME: implements it.
|
||||
|
@ -1681,7 +1681,7 @@ VOID TEST(ConfigMainTest, ParseFullConf_dvr)
|
|||
{
|
||||
string vhost;
|
||||
MockSrsConfig conf;
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(__full_conf));
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
|
||||
|
||||
vhost = "dvr.srs.com";
|
||||
EXPECT_TRUE(conf.get_vhost_enabled(vhost));
|
||||
|
@ -1756,7 +1756,7 @@ VOID TEST(ConfigMainTest, ParseFullConf_ingest)
|
|||
{
|
||||
string vhost;
|
||||
MockSrsConfig conf;
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(__full_conf));
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
|
||||
|
||||
vhost = "ingest.srs.com";
|
||||
EXPECT_TRUE(conf.get_vhost_enabled(vhost));
|
||||
|
@ -1852,7 +1852,7 @@ VOID TEST(ConfigMainTest, ParseFullConf_http)
|
|||
{
|
||||
string vhost;
|
||||
MockSrsConfig conf;
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(__full_conf));
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
|
||||
|
||||
vhost = "http.srs.com";
|
||||
EXPECT_TRUE(conf.get_vhost_enabled(vhost));
|
||||
|
@ -1930,7 +1930,7 @@ VOID TEST(ConfigMainTest, ParseFullConf_hls_enabled)
|
|||
{
|
||||
string vhost;
|
||||
MockSrsConfig conf;
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(__full_conf));
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
|
||||
|
||||
vhost = "with-hls.srs.com";
|
||||
EXPECT_TRUE(conf.get_vhost_enabled(vhost));
|
||||
|
@ -2008,7 +2008,7 @@ VOID TEST(ConfigMainTest, ParseFullConf_hls_disabled)
|
|||
{
|
||||
string vhost;
|
||||
MockSrsConfig conf;
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(__full_conf));
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
|
||||
|
||||
vhost = "no-hls.srs.com";
|
||||
EXPECT_TRUE(conf.get_vhost_enabled(vhost));
|
||||
|
@ -2086,7 +2086,7 @@ VOID TEST(ConfigMainTest, ParseFullConf_http_hooks)
|
|||
{
|
||||
string vhost;
|
||||
MockSrsConfig conf;
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(__full_conf));
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
|
||||
|
||||
vhost = "hooks.callback.srs.com";
|
||||
EXPECT_TRUE(conf.get_vhost_enabled(vhost));
|
||||
|
@ -2195,7 +2195,7 @@ VOID TEST(ConfigMainTest, ParseFullConf_min_delay)
|
|||
{
|
||||
string vhost;
|
||||
MockSrsConfig conf;
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(__full_conf));
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
|
||||
|
||||
vhost = "min.delay.com";
|
||||
EXPECT_TRUE(conf.get_vhost_enabled(vhost));
|
||||
|
@ -2274,7 +2274,7 @@ VOID TEST(ConfigMainTest, ParseFullConf_refer_anti_suck)
|
|||
{
|
||||
string vhost;
|
||||
MockSrsConfig conf;
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(__full_conf));
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
|
||||
|
||||
vhost = "refer.anti_suck.com";
|
||||
EXPECT_TRUE(conf.get_vhost_enabled(vhost));
|
||||
|
@ -2368,7 +2368,7 @@ VOID TEST(ConfigMainTest, ParseFullConf_forward_same_vhost)
|
|||
{
|
||||
string vhost;
|
||||
MockSrsConfig conf;
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(__full_conf));
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
|
||||
|
||||
vhost = "same.vhost.forward.srs.com";
|
||||
EXPECT_TRUE(conf.get_vhost_enabled(vhost));
|
||||
|
@ -2452,7 +2452,7 @@ VOID TEST(ConfigMainTest, ParseFullConf_forward_change_vhost)
|
|||
{
|
||||
string vhost;
|
||||
MockSrsConfig conf;
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(__full_conf));
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
|
||||
|
||||
vhost = "change.vhost.forward.srs.com";
|
||||
// TODO: FIXME: implements it.
|
||||
|
@ -2532,7 +2532,7 @@ VOID TEST(ConfigMainTest, ParseFullConf_transcode_mirror)
|
|||
{
|
||||
string vhost;
|
||||
MockSrsConfig conf;
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(__full_conf));
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
|
||||
|
||||
vhost = "mirror.transcode.srs.com";
|
||||
EXPECT_TRUE(conf.get_vhost_enabled(vhost));
|
||||
|
@ -2622,7 +2622,7 @@ VOID TEST(ConfigMainTest, ParseFullConf_transcode_crop)
|
|||
{
|
||||
string vhost;
|
||||
MockSrsConfig conf;
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(__full_conf));
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
|
||||
|
||||
vhost = "crop.transcode.srs.com";
|
||||
EXPECT_TRUE(conf.get_vhost_enabled(vhost));
|
||||
|
@ -2712,7 +2712,7 @@ VOID TEST(ConfigMainTest, ParseFullConf_transcode_logo)
|
|||
{
|
||||
string vhost;
|
||||
MockSrsConfig conf;
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(__full_conf));
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
|
||||
|
||||
vhost = "logo.transcode.srs.com";
|
||||
EXPECT_TRUE(conf.get_vhost_enabled(vhost));
|
||||
|
@ -2802,7 +2802,7 @@ VOID TEST(ConfigMainTest, ParseFullConf_transcode_audio)
|
|||
{
|
||||
string vhost;
|
||||
MockSrsConfig conf;
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(__full_conf));
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
|
||||
|
||||
vhost = "audio.transcode.srs.com";
|
||||
EXPECT_TRUE(conf.get_vhost_enabled(vhost));
|
||||
|
@ -2886,7 +2886,7 @@ VOID TEST(ConfigMainTest, ParseFullConf_transcode_vn)
|
|||
{
|
||||
string vhost;
|
||||
MockSrsConfig conf;
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(__full_conf));
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
|
||||
|
||||
vhost = "vn.transcode.srs.com";
|
||||
EXPECT_TRUE(conf.get_vhost_enabled(vhost));
|
||||
|
@ -2970,7 +2970,7 @@ VOID TEST(ConfigMainTest, ParseFullConf_transcode_copy)
|
|||
{
|
||||
string vhost;
|
||||
MockSrsConfig conf;
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(__full_conf));
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
|
||||
|
||||
vhost = "copy.transcode.srs.com";
|
||||
EXPECT_TRUE(conf.get_vhost_enabled(vhost));
|
||||
|
@ -3050,7 +3050,7 @@ VOID TEST(ConfigMainTest, ParseFullConf_transcode_all)
|
|||
{
|
||||
string vhost;
|
||||
MockSrsConfig conf;
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(__full_conf));
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
|
||||
|
||||
vhost = "all.transcode.srs.com";
|
||||
EXPECT_TRUE(conf.get_vhost_enabled(vhost));
|
||||
|
@ -3268,7 +3268,7 @@ VOID TEST(ConfigMainTest, ParseFullConf_transcode_ffempty)
|
|||
{
|
||||
string vhost;
|
||||
MockSrsConfig conf;
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(__full_conf));
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
|
||||
|
||||
vhost = "ffempty.transcode.srs.com";
|
||||
EXPECT_TRUE(conf.get_vhost_enabled(vhost));
|
||||
|
@ -3358,7 +3358,7 @@ VOID TEST(ConfigMainTest, ParseFullConf_transcode_app)
|
|||
{
|
||||
string vhost;
|
||||
MockSrsConfig conf;
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(__full_conf));
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
|
||||
|
||||
vhost = "app.transcode.srs.com";
|
||||
EXPECT_TRUE(conf.get_vhost_enabled(vhost));
|
||||
|
@ -3448,7 +3448,7 @@ VOID TEST(ConfigMainTest, ParseFullConf_transcode_stream)
|
|||
{
|
||||
string vhost;
|
||||
MockSrsConfig conf;
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(__full_conf));
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
|
||||
|
||||
vhost = "stream.transcode.srs.com";
|
||||
EXPECT_TRUE(conf.get_vhost_enabled(vhost));
|
||||
|
@ -3538,7 +3538,7 @@ VOID TEST(ConfigMainTest, ParseFullConf_bandcheck)
|
|||
{
|
||||
string vhost;
|
||||
MockSrsConfig conf;
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(__full_conf));
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
|
||||
|
||||
vhost = "bandcheck.srs.com";
|
||||
EXPECT_TRUE(conf.get_vhost_enabled(vhost));
|
||||
|
@ -3617,7 +3617,7 @@ VOID TEST(ConfigMainTest, ParseFullConf_chunksize)
|
|||
{
|
||||
string vhost;
|
||||
MockSrsConfig conf;
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(__full_conf));
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
|
||||
|
||||
vhost = "chunksize.srs.com";
|
||||
EXPECT_TRUE(conf.get_vhost_enabled(vhost));
|
||||
|
@ -3696,7 +3696,7 @@ VOID TEST(ConfigMainTest, ParseFullConf_jitter)
|
|||
{
|
||||
string vhost;
|
||||
MockSrsConfig conf;
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(__full_conf));
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
|
||||
|
||||
vhost = "jitter.srs.com";
|
||||
EXPECT_TRUE(conf.get_vhost_enabled(vhost));
|
||||
|
@ -3775,7 +3775,7 @@ VOID TEST(ConfigMainTest, ParseFullConf_atc)
|
|||
{
|
||||
string vhost;
|
||||
MockSrsConfig conf;
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(__full_conf));
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
|
||||
|
||||
vhost = "atc.srs.com";
|
||||
EXPECT_TRUE(conf.get_vhost_enabled(vhost));
|
||||
|
@ -3854,7 +3854,7 @@ VOID TEST(ConfigMainTest, ParseFullConf_removed)
|
|||
{
|
||||
string vhost;
|
||||
MockSrsConfig conf;
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(__full_conf));
|
||||
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
|
||||
|
||||
vhost = "removed.srs.com";
|
||||
EXPECT_FALSE(conf.get_vhost_enabled(vhost));
|
||||
|
|
|
@ -219,7 +219,7 @@ VOID TEST(ProtocolHandshakeTest, OpensslSha256)
|
|||
(char)0xfd, (char)0x48, (char)0xaa, (char)0xc1, (char)0xfa, (char)0xbf, (char)0x33, (char)0x87, (char)0x5c, (char)0x0d, (char)0xe5, (char)0x34, (char)0x24, (char)0x70, (char)0x14, (char)0x1e, (char)0x4a, (char)0x48, (char)0x07, (char)0x6e, (char)0xaf, (char)0xbf, (char)0xfe, (char)0x34, (char)0x1e, (char)0x1e, (char)0x19, (char)0xfc, (char)0xb5, (char)0x8a, (char)0x4f, (char)0x3c, (char)0xb4, (char)0xcf, (char)0xde, (char)0x24, (char)0x79, (char)0x65, (char)0x17, (char)0x22, (char)0x3f, (char)0xc0, (char)0x06, (char)0x76, (char)0x4e, (char)0x3c, (char)0xfb, (char)0xc3, (char)0xd0, (char)0x7f, (char)0x7b, (char)0x87, (char)0x5c, (char)0xeb, (char)0x97, (char)0x87,
|
||||
};
|
||||
|
||||
char digest[__SRS_OpensslHashSize];
|
||||
char digest[SRS_OpensslHashSize];
|
||||
ASSERT_EQ(ERROR_SUCCESS,
|
||||
openssl_HMACsha256(
|
||||
SrsGenuineFPKey, 30,
|
||||
|
|
Loading…
Reference in a new issue