mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
rename org simle-rtmp-server to ossrs
This commit is contained in:
commit
01c46bdbfd
252 changed files with 985 additions and 985 deletions
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
@ -55,7 +55,7 @@ using namespace std;
|
|||
|
||||
using namespace _srs_internal;
|
||||
|
||||
#define SRS_WIKI_URL_LOG "https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SrsLog"
|
||||
#define SRS_WIKI_URL_LOG "https://github.com/ossrs/srs/wiki/v1_CN_SrsLog"
|
||||
|
||||
// when user config an invalid value, macros to perfer true or false.
|
||||
#define SRS_CONF_PERFER_FALSE(conf_arg) conf_arg == "on"
|
||||
|
@ -1377,7 +1377,7 @@ int SrsConfig::reload_vhost(SrsConfDirective* old_root)
|
|||
if (true) {
|
||||
// we must reload the dvr_apply, for it's apply to specified stream,
|
||||
// and we donot want one stream reload take effect on another one.
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/459#issuecomment-140296597
|
||||
// @see https://github.com/ossrs/srs/issues/459#issuecomment-140296597
|
||||
SrsConfDirective* nda = new_vhost->get("dvr")? new_vhost->get("dvr")->get("dvr_apply") : NULL;
|
||||
SrsConfDirective* oda = old_vhost->get("dvr")? old_vhost->get("dvr")->get("dvr_apply") : NULL;
|
||||
if (!srs_directive_equals(nda, oda) && (ret = do_reload_vhost_dvr_apply(vhost)) != ERROR_SUCCESS) {
|
||||
|
@ -3631,7 +3631,7 @@ int SrsConfig::check_config()
|
|||
int nb_canbe = max_open_files - nb_consumed_fds - 1;
|
||||
|
||||
// for each play connections, we open a pipe(2fds) to convert SrsConsumver to io,
|
||||
// refine performance, @see: https://github.com/simple-rtmp-server/srs/issues/194
|
||||
// refine performance, @see: https://github.com/ossrs/srs/issues/194
|
||||
if (nb_total >= max_open_files) {
|
||||
ret = ERROR_SYSTEM_CONFIG_INVALID;
|
||||
srs_error("invalid max_connections=%d, required=%d, system limit to %d, "
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
@ -303,7 +303,7 @@ class SrsConfig
|
|||
private:
|
||||
/**
|
||||
* whether srs is run in dolphin mode.
|
||||
* @see https://github.com/simple-rtmp-server/srs-dolphin
|
||||
* @see https://github.com/ossrs/srs-dolphin
|
||||
*/
|
||||
bool dolphin;
|
||||
std::string dolphin_rtmp_port;
|
||||
|
@ -677,7 +677,7 @@ public:
|
|||
* whether debug_srs_upnode is enabled of vhost.
|
||||
* debug_srs_upnode is very important feature for tracable log,
|
||||
* but some server, for instance, flussonic donot support it.
|
||||
* @see https://github.com/simple-rtmp-server/srs/issues/160
|
||||
* @see https://github.com/ossrs/srs/issues/160
|
||||
* @return true when debug_srs_upnode is ok; otherwise, false.
|
||||
* @remark, default true.
|
||||
*/
|
||||
|
@ -911,7 +911,7 @@ public:
|
|||
virtual bool get_vhost_edge_token_traverse(std::string vhost);
|
||||
/**
|
||||
* get the transformed vhost for edge,
|
||||
* @see https://github.com/simple-rtmp-server/srs/issues/372
|
||||
* @see https://github.com/ossrs/srs/issues/372
|
||||
*/
|
||||
virtual std::string get_vhost_edge_transform_vhost(std::string vhost);
|
||||
// vhost security section
|
||||
|
@ -1158,7 +1158,7 @@ public:
|
|||
* get the hls hls_on_error config.
|
||||
* the ignore will ignore error and disable hls.
|
||||
* the disconnect will disconnect publish connection.
|
||||
* @see https://github.com/simple-rtmp-server/srs/issues/264
|
||||
* @see https://github.com/ossrs/srs/issues/264
|
||||
*/
|
||||
virtual std::string get_hls_on_error(std::string vhost);
|
||||
/**
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
@ -52,7 +52,7 @@ SrsConnection::SrsConnection(IConnectionManager* cm, st_netfd_t c)
|
|||
// the client thread should reap itself,
|
||||
// so we never use joinable.
|
||||
// TODO: FIXME: maybe other thread need to stop it.
|
||||
// @see: https://github.com/simple-rtmp-server/srs/issues/78
|
||||
// @see: https://github.com/ossrs/srs/issues/78
|
||||
pthread = new SrsOneCycleThread("conn", this);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
@ -519,7 +519,7 @@ int SrsDvrAsyncCallOnDvr::call()
|
|||
|
||||
// the http hooks will cause context switch,
|
||||
// so we must copy all hooks for the on_connect may freed.
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/475
|
||||
// @see https://github.com/ossrs/srs/issues/475
|
||||
vector<string> hooks;
|
||||
|
||||
if (true) {
|
||||
|
@ -928,7 +928,7 @@ int SrsDvrSegmentPlan::update_duration(SrsSharedPtrMessage* msg)
|
|||
}
|
||||
|
||||
// when wait keyframe, ignore if no frame arrived.
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/177
|
||||
// @see https://github.com/ossrs/srs/issues/177
|
||||
if (_srs_config->get_dvr_wait_keyframe(req->vhost)) {
|
||||
if (!msg->is_video()) {
|
||||
return ret;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
@ -129,7 +129,7 @@ int SrsEdgeIngester::cycle()
|
|||
if (true) {
|
||||
SrsConfDirective* conf = _srs_config->get_vhost_edge_origin(req->vhost);
|
||||
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/79
|
||||
// @see https://github.com/ossrs/srs/issues/79
|
||||
// when origin is error, for instance, server is shutdown,
|
||||
// then user remove the vhost then reload, the conf is empty.
|
||||
if (!conf) {
|
||||
|
@ -144,7 +144,7 @@ int SrsEdgeIngester::cycle()
|
|||
srs_parse_hostport(server, server, port);
|
||||
|
||||
// support vhost tranform for edge,
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/372
|
||||
// @see https://github.com/ossrs/srs/issues/372
|
||||
std::string vhost = _srs_config->get_vhost_edge_transform_vhost(req->vhost);
|
||||
vhost = srs_string_replace(vhost, "[vhost]", req->vhost);
|
||||
|
||||
|
@ -323,7 +323,7 @@ int SrsEdgeForwarder::start()
|
|||
srs_parse_hostport(server, server, port);
|
||||
|
||||
// support vhost tranform for edge,
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/372
|
||||
// @see https://github.com/ossrs/srs/issues/372
|
||||
std::string vhost = _srs_config->get_vhost_edge_transform_vhost(req->vhost);
|
||||
vhost = srs_string_replace(vhost, "[vhost]", req->vhost);
|
||||
|
||||
|
@ -568,7 +568,7 @@ int SrsPublishEdge::on_client_publish()
|
|||
return ret;
|
||||
}
|
||||
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/180
|
||||
// @see https://github.com/ossrs/srs/issues/180
|
||||
// to avoid multiple publish the same stream on the same edge,
|
||||
// directly enter the publish stage.
|
||||
if (true) {
|
||||
|
@ -580,7 +580,7 @@ int SrsPublishEdge::on_client_publish()
|
|||
// start to forward stream to origin.
|
||||
ret = forwarder->start();
|
||||
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/180
|
||||
// @see https://github.com/ossrs/srs/issues/180
|
||||
// when failed, revert to init
|
||||
if (ret != ERROR_SUCCESS) {
|
||||
SrsEdgeState pstate = state;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
@ -29,7 +29,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#include <signal.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
// for srs-librtmp, @see https://github.com/simple-rtmp-server/srs/issues/213
|
||||
// for srs-librtmp, @see https://github.com/ossrs/srs/issues/213
|
||||
#ifndef _WIN32
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
@ -184,7 +184,7 @@ int SrsFFMPEG::initialize_transcode(SrsConfDirective* engine)
|
|||
}
|
||||
}
|
||||
|
||||
// @see, https://github.com/simple-rtmp-server/srs/issues/145
|
||||
// @see, https://github.com/ossrs/srs/issues/145
|
||||
if (acodec == SRS_RTMP_ENCODER_LIBAACPLUS && acodec != SRS_RTMP_ENCODER_LIBFDKAAC) {
|
||||
if (abitrate != 0 && (abitrate < 16 || abitrate > 72)) {
|
||||
ret = ERROR_ENCODER_ABITRATE;
|
||||
|
@ -218,7 +218,7 @@ int SrsFFMPEG::initialize_transcode(SrsConfDirective* engine)
|
|||
|
||||
// for not rtmp input, donot append the iformat,
|
||||
// for example, "-f flv" before "-i udp://192.168.1.252:2222"
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/290
|
||||
// @see https://github.com/ossrs/srs/issues/290
|
||||
if (!srs_string_starts_with(input, "rtmp://")) {
|
||||
iformat = "";
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
@ -64,7 +64,7 @@ private:
|
|||
SrsMessageQueue* queue;
|
||||
/**
|
||||
* cache the sequence header for retry when slave is failed.
|
||||
* @see https://github.com/simple-rtmp-server/srs/issues/150
|
||||
* @see https://github.com/ossrs/srs/issues/150
|
||||
*/
|
||||
SrsSharedPtrMessage* sh_audio;
|
||||
SrsSharedPtrMessage* sh_video;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
@ -205,7 +205,7 @@ int SrsDvrAsyncCallOnHls::call()
|
|||
|
||||
// the http hooks will cause context switch,
|
||||
// so we must copy all hooks for the on_connect may freed.
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/475
|
||||
// @see https://github.com/ossrs/srs/issues/475
|
||||
vector<string> hooks;
|
||||
|
||||
if (true) {
|
||||
|
@ -259,7 +259,7 @@ int SrsDvrAsyncCallOnHlsNotify::call()
|
|||
|
||||
// the http hooks will cause context switch,
|
||||
// so we must copy all hooks for the on_connect may freed.
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/475
|
||||
// @see https://github.com/ossrs/srs/issues/475
|
||||
vector<string> hooks;
|
||||
|
||||
if (true) {
|
||||
|
@ -623,7 +623,7 @@ bool SrsHlsMuxer::wait_keyframe()
|
|||
|
||||
bool SrsHlsMuxer::is_segment_absolutely_overflow()
|
||||
{
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/151#issuecomment-83553950
|
||||
// @see https://github.com/ossrs/srs/issues/151#issuecomment-83553950
|
||||
srs_assert(current);
|
||||
|
||||
// to prevent very small segment.
|
||||
|
@ -912,7 +912,7 @@ int SrsHlsMuxer::_refresh_m3u8(string m3u8_file)
|
|||
* rounded to the nearest integer. Its value MUST NOT change. A
|
||||
* typical target duration is 10 seconds.
|
||||
*/
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/304#issuecomment-74000081
|
||||
// @see https://github.com/ossrs/srs/issues/304#issuecomment-74000081
|
||||
int target_duration = 0;
|
||||
for (it = segments.begin(); it != segments.end(); ++it) {
|
||||
SrsHlsSegment* segment = *it;
|
||||
|
@ -1061,9 +1061,9 @@ int SrsHlsCache::write_audio(SrsAvcAacCodec* codec, SrsHlsMuxer* muxer, int64_t
|
|||
// for example, pure audio when start, audio/video when publishing,
|
||||
// pure audio again for audio disabled.
|
||||
// so we reap event when the audio incoming when segment overflow.
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/151
|
||||
// @see https://github.com/ossrs/srs/issues/151
|
||||
// we use absolutely overflow of segment to make jwplayer/ffplay happy
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/151#issuecomment-71155184
|
||||
// @see https://github.com/ossrs/srs/issues/151#issuecomment-71155184
|
||||
if (cache->audio && muxer->is_segment_absolutely_overflow()) {
|
||||
srs_info("hls: absolute audio reap segment.");
|
||||
if ((ret = reap_segment("audio", muxer, cache->audio->pts)) != ERROR_SUCCESS) {
|
||||
|
@ -1081,7 +1081,7 @@ int SrsHlsCache::write_audio(SrsAvcAacCodec* codec, SrsHlsMuxer* muxer, int64_t
|
|||
// directly write the audio frame by frame to ts,
|
||||
// it's ok for the hls overload, or maybe cause the audio corrupt,
|
||||
// which introduced by aggregate the audios to a big one.
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/512
|
||||
// @see https://github.com/ossrs/srs/issues/512
|
||||
if ((ret = muxer->flush_audio(cache)) != ERROR_SUCCESS) {
|
||||
return ret;
|
||||
}
|
||||
|
@ -1407,7 +1407,7 @@ int SrsHls::on_video(SrsSharedPtrMessage* shared_video, bool is_sps_pps)
|
|||
SrsAutoFree(SrsSharedPtrMessage, video);
|
||||
|
||||
// user can disable the sps parse to workaround when parse sps failed.
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/474
|
||||
// @see https://github.com/ossrs/srs/issues/474
|
||||
if (is_sps_pps) {
|
||||
codec->avc_parse_sps = _srs_config->get_parse_sps(req->vhost);
|
||||
}
|
||||
|
@ -1421,7 +1421,7 @@ int SrsHls::on_video(SrsSharedPtrMessage* shared_video, bool is_sps_pps)
|
|||
sample->frame_type, codec->video_codec_id, sample->avc_packet_type, sample->cts, video->size, video->timestamp);
|
||||
|
||||
// ignore info frame,
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/288#issuecomment-69863909
|
||||
// @see https://github.com/ossrs/srs/issues/288#issuecomment-69863909
|
||||
if (sample->frame_type == SrsCodecVideoAVCFrameVideoInfoFrame) {
|
||||
return ret;
|
||||
}
|
||||
|
@ -1462,7 +1462,7 @@ void SrsHls::hls_show_mux_log()
|
|||
// reportable
|
||||
if (pprint->can_print()) {
|
||||
// the run time is not equals to stream time,
|
||||
// @see: https://github.com/simple-rtmp-server/srs/issues/81#issuecomment-48100994
|
||||
// @see: https://github.com/ossrs/srs/issues/81#issuecomment-48100994
|
||||
// it's ok.
|
||||
srs_trace("-> "SRS_CONSTS_LOG_HLS" time=%"PRId64", stream dts=%"PRId64"(%"PRId64"ms), sno=%d, ts=%s, dur=%.2f, dva=%dp",
|
||||
pprint->age(), stream_dts, stream_dts / 90, muxer->sequence_no(), muxer->ts_url().c_str(),
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
@ -255,12 +255,12 @@ private:
|
|||
/**
|
||||
* the current audio codec, when open new muxer,
|
||||
* set the muxer audio codec.
|
||||
* @see https://github.com/simple-rtmp-server/srs/issues/301
|
||||
* @see https://github.com/ossrs/srs/issues/301
|
||||
*/
|
||||
SrsCodecAudio acodec;
|
||||
/**
|
||||
* the ts context, to keep cc continous between ts.
|
||||
* @see https://github.com/simple-rtmp-server/srs/issues/375
|
||||
* @see https://github.com/ossrs/srs/issues/375
|
||||
*/
|
||||
SrsTsContext* context;
|
||||
public:
|
||||
|
@ -304,7 +304,7 @@ public:
|
|||
/**
|
||||
* whether segment absolutely overflow, for pure audio to reap segment,
|
||||
* that is whether the current segment duration>=2*(the segment in config)
|
||||
* @see https://github.com/simple-rtmp-server/srs/issues/151#issuecomment-71155184
|
||||
* @see https://github.com/ossrs/srs/issues/151#issuecomment-71155184
|
||||
*/
|
||||
virtual bool is_segment_absolutely_overflow();
|
||||
public:
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
@ -1359,7 +1359,7 @@ int SrsHttpApi::do_cycle()
|
|||
SrsStSocket skt(stfd);
|
||||
|
||||
// set the recv timeout, for some clients never disconnect the connection.
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/398
|
||||
// @see https://github.com/ossrs/srs/issues/398
|
||||
skt.set_recv_timeout(SRS_HTTP_RECV_TIMEOUT_US);
|
||||
|
||||
// initialize the crossdomain
|
||||
|
@ -1396,7 +1396,7 @@ int SrsHttpApi::do_cycle()
|
|||
}
|
||||
|
||||
// donot keep alive, disconnect it.
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/399
|
||||
// @see https://github.com/ossrs/srs/issues/399
|
||||
if (!req->is_keep_alive()) {
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
@ -918,7 +918,7 @@ int SrsHttpParser::parse_message_imp(ISrsProtocolReaderWriter* io)
|
|||
ssize_t nparsed = 0;
|
||||
|
||||
// when got entire http header, parse it.
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/400
|
||||
// @see https://github.com/ossrs/srs/issues/400
|
||||
char* start = buffer->bytes();
|
||||
char* end = start + buffer->size();
|
||||
for (char* p = start; p <= end - 4; p++) {
|
||||
|
@ -1204,7 +1204,7 @@ int SrsHttpConn::do_cycle()
|
|||
}
|
||||
|
||||
// set the recv timeout, for some clients never disconnect the connection.
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/398
|
||||
// @see https://github.com/ossrs/srs/issues/398
|
||||
skt->set_recv_timeout(SRS_HTTP_RECV_TIMEOUT_US);
|
||||
|
||||
SrsRequest* last_req = NULL;
|
||||
|
@ -1242,7 +1242,7 @@ int SrsHttpConn::do_cycle()
|
|||
}
|
||||
|
||||
// donot keep alive, disconnect it.
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/399
|
||||
// @see https://github.com/ossrs/srs/issues/399
|
||||
if (!req->is_keep_alive()) {
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
@ -445,7 +445,7 @@ int SrsHttpHooks::do_post(SrsHttpClient* hc, std::string url, std::string req, i
|
|||
}
|
||||
|
||||
// ensure the http status is ok.
|
||||
// https://github.com/simple-rtmp-server/srs/issues/158
|
||||
// https://github.com/ossrs/srs/issues/158
|
||||
if (code != SRS_CONSTS_HTTP_OK) {
|
||||
ret = ERROR_HTTP_STATUS_INVALID;
|
||||
srs_error("invalid response status=%d. ret=%d", code, ret);
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
@ -826,7 +826,7 @@ int SrsHttpStreamServer::http_mount(SrsSource* s, SrsRequest* r)
|
|||
// mount the http flv stream.
|
||||
// we must register the handler, then start the thread,
|
||||
// for the thread will cause thread switch context.
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/404
|
||||
// @see https://github.com/ossrs/srs/issues/404
|
||||
if ((ret = mux.handle(mount, entry->stream)) != ERROR_SUCCESS) {
|
||||
srs_error("http: mount flv stream for vhost=%s failed. ret=%d", sid.c_str(), ret);
|
||||
return ret;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
@ -116,7 +116,7 @@ public:
|
|||
#ifdef SRS_PERF_FAST_FLV_ENCODER
|
||||
/**
|
||||
* the fast flv stream encoder.
|
||||
* @see https://github.com/simple-rtmp-server/srs/issues/405
|
||||
* @see https://github.com/ossrs/srs/issues/405
|
||||
*/
|
||||
class SrsFastFlvStreamEncoder : public SrsFlvStreamEncoder
|
||||
{
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
@ -460,7 +460,7 @@ int SrsMpegtsOverUdp::write_h264_ipb_frame(char* frame, int frame_size, u_int32_
|
|||
int ret = ERROR_SUCCESS;
|
||||
|
||||
// when sps or pps not sent, ignore the packet.
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/203
|
||||
// @see https://github.com/ossrs/srs/issues/203
|
||||
if (!h264_sps_pps_sent) {
|
||||
return ERROR_H264_DROP_BEFORE_SPS_PPS;
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
@ -41,7 +41,7 @@ class SrsProcess;
|
|||
/**
|
||||
* the ng-exec is the exec feature introduced by nginx-rtmp,
|
||||
* @see https://github.com/arut/nginx-rtmp-module/wiki/Directives#exec_push
|
||||
* @see https://github.com/simple-rtmp-server/srs/issues/367
|
||||
* @see https://github.com/ossrs/srs/issues/367
|
||||
*/
|
||||
class SrsNgExec : public ISrsReusableThreadHandler
|
||||
{
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
@ -30,7 +30,7 @@
|
|||
#include <signal.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
// for srs-librtmp, @see https://github.com/simple-rtmp-server/srs/issues/213
|
||||
// for srs-librtmp, @see https://github.com/ossrs/srs/issues/213
|
||||
#ifndef _WIN32
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
@ -124,8 +124,8 @@ void SrsRecvThread::on_thread_start()
|
|||
// the multiple messages writev improve performance large,
|
||||
// but the timeout recv will cause 33% sys call performance,
|
||||
// to use isolate thread to recv, can improve about 33% performance.
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/194
|
||||
// @see: https://github.com/simple-rtmp-server/srs/issues/217
|
||||
// @see https://github.com/ossrs/srs/issues/194
|
||||
// @see: https://github.com/ossrs/srs/issues/217
|
||||
rtmp->set_recv_timeout(ST_UTIME_NO_TIMEOUT);
|
||||
|
||||
handler->on_thread_start();
|
||||
|
@ -264,7 +264,7 @@ SrsPublishRecvThread::SrsPublishRecvThread(
|
|||
mr_fd = mr_sock_fd;
|
||||
|
||||
// the mr settings,
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/241
|
||||
// @see https://github.com/ossrs/srs/issues/241
|
||||
mr = _srs_config->get_mr_enabled(req->vhost);
|
||||
mr_sleep = _srs_config->get_mr_sleep_ms(req->vhost);
|
||||
|
||||
|
@ -336,7 +336,7 @@ void SrsPublishRecvThread::on_thread_start()
|
|||
set_socket_buffer(mr_sleep);
|
||||
|
||||
// disable the merge read
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/241
|
||||
// @see https://github.com/ossrs/srs/issues/241
|
||||
rtmp->set_merge_read(true, this);
|
||||
}
|
||||
#endif
|
||||
|
@ -348,13 +348,13 @@ void SrsPublishRecvThread::on_thread_stop()
|
|||
// for we donot set to false yet.
|
||||
|
||||
// when thread stop, signal the conn thread which wait.
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/244
|
||||
// @see https://github.com/ossrs/srs/issues/244
|
||||
st_cond_signal(error);
|
||||
|
||||
#ifdef SRS_PERF_MERGED_READ
|
||||
if (mr) {
|
||||
// disable the merge read
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/241
|
||||
// @see https://github.com/ossrs/srs/issues/241
|
||||
rtmp->set_merge_read(false, NULL);
|
||||
}
|
||||
#endif
|
||||
|
@ -397,7 +397,7 @@ void SrsPublishRecvThread::on_recv_error(int ret)
|
|||
recv_error_code = ret;
|
||||
|
||||
// when recv thread error, signal the conn thread to process it.
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/244
|
||||
// @see https://github.com/ossrs/srs/issues/244
|
||||
st_cond_signal(error);
|
||||
}
|
||||
|
||||
|
@ -416,7 +416,7 @@ void SrsPublishRecvThread::on_read(ssize_t nread)
|
|||
* to improve read performance, merge some packets then read,
|
||||
* when it on and read small bytes, we sleep to wait more data.,
|
||||
* that is, we merge some data to read together.
|
||||
* @see https://github.com/simple-rtmp-server/srs/issues/241
|
||||
* @see https://github.com/ossrs/srs/issues/241
|
||||
*/
|
||||
if (nread < SRS_MR_SMALL_BYTES) {
|
||||
st_usleep(mr_sleep * 1000);
|
||||
|
@ -433,7 +433,7 @@ int SrsPublishRecvThread::on_reload_vhost_publish(string vhost)
|
|||
}
|
||||
|
||||
// the mr settings,
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/241
|
||||
// @see https://github.com/ossrs/srs/issues/241
|
||||
bool mr_enabled = _srs_config->get_mr_enabled(req->vhost);
|
||||
int sleep_ms = _srs_config->get_mr_sleep_ms(req->vhost);
|
||||
|
||||
|
@ -446,13 +446,13 @@ int SrsPublishRecvThread::on_reload_vhost_publish(string vhost)
|
|||
// mr enabled=>disabled
|
||||
if (mr && !mr_enabled) {
|
||||
// disable the merge read
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/241
|
||||
// @see https://github.com/ossrs/srs/issues/241
|
||||
rtmp->set_merge_read(false, NULL);
|
||||
}
|
||||
// mr disabled=>enabled
|
||||
if (!mr && mr_enabled) {
|
||||
// enable the merge read
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/241
|
||||
// @see https://github.com/ossrs/srs/issues/241
|
||||
rtmp->set_merge_read(true, this);
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
@ -107,7 +107,7 @@ public:
|
|||
* the recv thread used to replace the timeout recv,
|
||||
* which hurt performance for the epoll_ctrl is frequently used.
|
||||
* @see: SrsRtmpConn::playing
|
||||
* @see: https://github.com/simple-rtmp-server/srs/issues/217
|
||||
* @see: https://github.com/ossrs/srs/issues/217
|
||||
*/
|
||||
class SrsQueueRecvThread : public ISrsMessageHandler
|
||||
{
|
||||
|
@ -140,7 +140,7 @@ public:
|
|||
|
||||
/**
|
||||
* the publish recv thread got message and callback the source method to process message.
|
||||
* @see: https://github.com/simple-rtmp-server/srs/issues/237
|
||||
* @see: https://github.com/ossrs/srs/issues/237
|
||||
*/
|
||||
class SrsPublishRecvThread : virtual public ISrsMessageHandler
|
||||
#ifdef SRS_PERF_MERGED_READ
|
||||
|
@ -155,12 +155,12 @@ private:
|
|||
// the msgs already got.
|
||||
int64_t _nb_msgs;
|
||||
// for mr(merged read),
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/241
|
||||
// @see https://github.com/ossrs/srs/issues/241
|
||||
bool mr;
|
||||
int mr_fd;
|
||||
int mr_sleep;
|
||||
// for realtime
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/257
|
||||
// @see https://github.com/ossrs/srs/issues/257
|
||||
bool realtime;
|
||||
// the recv thread error code.
|
||||
int recv_error_code;
|
||||
|
@ -170,7 +170,7 @@ private:
|
|||
bool _is_fmle;
|
||||
bool _is_edge;
|
||||
// the error timeout cond
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/244
|
||||
// @see https://github.com/ossrs/srs/issues/244
|
||||
st_cond_t error;
|
||||
// merged context id.
|
||||
int cid;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
@ -36,7 +36,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
* when reload callback, the config is updated yet.
|
||||
*
|
||||
* features not support reload,
|
||||
* @see: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Reload#notsupportedfeatures
|
||||
* @see: https://github.com/ossrs/srs/wiki/v1_CN_Reload#notsupportedfeatures
|
||||
*/
|
||||
class ISrsReloadHandler
|
||||
{
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
@ -154,7 +154,7 @@ int SrsSimpleRtmpClient::connect_app()
|
|||
}
|
||||
|
||||
// notify server the edge identity,
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/147
|
||||
// @see https://github.com/ossrs/srs/issues/147
|
||||
SrsAmf0Object* data = req->args;
|
||||
data->set("srs_sig", SrsAmf0Any::str(RTMP_SIG_SRS_KEY));
|
||||
data->set("srs_server", SrsAmf0Any::str(RTMP_SIG_SRS_SERVER));
|
||||
|
@ -187,7 +187,7 @@ int SrsSimpleRtmpClient::connect_app()
|
|||
req->tcUrl = tc_url;
|
||||
|
||||
// upnode server identity will show in the connect_app of client.
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/160
|
||||
// @see https://github.com/ossrs/srs/issues/160
|
||||
// the debug_srs_upnode is config in vhost and default to true.
|
||||
bool debug_srs_upnode = _srs_config->get_debug_srs_upnode(req->vhost);
|
||||
if ((ret = client->connect_app(req->app, tc_url, req, debug_srs_upnode)) != ERROR_SUCCESS) {
|
||||
|
@ -605,7 +605,7 @@ int SrsRtmpConn::service_cycle()
|
|||
}
|
||||
|
||||
// do token traverse before serve it.
|
||||
// @see https://github.com/simple-rtmp-server/srs/pull/239
|
||||
// @see https://github.com/ossrs/srs/pull/239
|
||||
if (true) {
|
||||
bool vhost_is_edge = _srs_config->get_vhost_is_edge(req->vhost);
|
||||
bool edge_traverse = _srs_config->get_vhost_edge_token_traverse(req->vhost);
|
||||
|
@ -619,7 +619,7 @@ int SrsRtmpConn::service_cycle()
|
|||
|
||||
// set chunk size to larger.
|
||||
// set the chunk size before any larger response greater than 128,
|
||||
// to make OBS happy, @see https://github.com/simple-rtmp-server/srs/issues/454
|
||||
// to make OBS happy, @see https://github.com/ossrs/srs/issues/454
|
||||
int chunk_size = _srs_config->get_chunk_size(req->vhost);
|
||||
if ((ret = rtmp->set_chunk_size(chunk_size)) != ERROR_SUCCESS) {
|
||||
srs_error("set chunk_size=%d failed. ret=%d", chunk_size, ret);
|
||||
|
@ -671,7 +671,7 @@ int SrsRtmpConn::service_cycle()
|
|||
// logical accept and retry stream service.
|
||||
if (ret == ERROR_CONTROL_RTMP_CLOSE) {
|
||||
// TODO: FIXME: use ping message to anti-death of socket.
|
||||
// @see: https://github.com/simple-rtmp-server/srs/issues/39
|
||||
// @see: https://github.com/ossrs/srs/issues/39
|
||||
// set timeout to a larger value, for user paused.
|
||||
rtmp->set_recv_timeout(SRS_PAUSED_RECV_TIMEOUT_US);
|
||||
rtmp->set_send_timeout(SRS_PAUSED_SEND_TIMEOUT_US);
|
||||
|
@ -840,7 +840,7 @@ int SrsRtmpConn::playing(SrsSource* source)
|
|||
srs_verbose("consumer created success.");
|
||||
|
||||
// use isolate thread to recv,
|
||||
// @see: https://github.com/simple-rtmp-server/srs/issues/217
|
||||
// @see: https://github.com/ossrs/srs/issues/217
|
||||
SrsQueueRecvThread trd(consumer, rtmp, SRS_PERF_MW_SLEEP);
|
||||
|
||||
// start isolate recv thread.
|
||||
|
@ -914,8 +914,8 @@ int SrsRtmpConn::do_playing(SrsSource* source, SrsConsumer* consumer, SrsQueueRe
|
|||
}
|
||||
|
||||
// to use isolate thread to recv, can improve about 33% performance.
|
||||
// @see: https://github.com/simple-rtmp-server/srs/issues/196
|
||||
// @see: https://github.com/simple-rtmp-server/srs/issues/217
|
||||
// @see: https://github.com/ossrs/srs/issues/196
|
||||
// @see: https://github.com/ossrs/srs/issues/217
|
||||
while (!trd->empty()) {
|
||||
SrsCommonMessage* msg = trd->pump();
|
||||
srs_verbose("pump client message to process.");
|
||||
|
@ -941,8 +941,8 @@ int SrsRtmpConn::do_playing(SrsSource* source, SrsConsumer* consumer, SrsQueueRe
|
|||
srs_verbose("send thread now=%"PRId64"us, wait %dms", srs_update_system_time_ms(), mw_sleep);
|
||||
|
||||
// wait for message to incoming.
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/251
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/257
|
||||
// @see https://github.com/ossrs/srs/issues/251
|
||||
// @see https://github.com/ossrs/srs/issues/257
|
||||
if (realtime) {
|
||||
// for realtime, min required msgs is 0, send when got one+ msgs.
|
||||
consumer->wait(0, mw_sleep);
|
||||
|
@ -1025,7 +1025,7 @@ int SrsRtmpConn::do_playing(SrsSource* source, SrsConsumer* consumer, SrsQueueRe
|
|||
}
|
||||
|
||||
// if duration specified, and exceed it, stop play live.
|
||||
// @see: https://github.com/simple-rtmp-server/srs/issues/45
|
||||
// @see: https://github.com/ossrs/srs/issues/45
|
||||
if (user_specified_duration_to_stop) {
|
||||
if (duration >= (int64_t)req->duration) {
|
||||
ret = ERROR_RTMP_DURATION_EXCEED;
|
||||
|
@ -1063,7 +1063,7 @@ int SrsRtmpConn::publishing(SrsSource* source)
|
|||
bool vhost_is_edge = _srs_config->get_vhost_is_edge(req->vhost);
|
||||
if ((ret = acquire_publish(source, vhost_is_edge)) == ERROR_SUCCESS) {
|
||||
// use isolate thread to recv,
|
||||
// @see: https://github.com/simple-rtmp-server/srs/issues/237
|
||||
// @see: https://github.com/ossrs/srs/issues/237
|
||||
SrsPublishRecvThread trd(rtmp, req,
|
||||
st_netfd_fileno(stfd), 0, this, source, true, vhost_is_edge);
|
||||
|
||||
|
@ -1077,7 +1077,7 @@ int SrsRtmpConn::publishing(SrsSource* source)
|
|||
// whatever the acquire publish, always release publish.
|
||||
// when the acquire error in the midlle-way, the publish state changed,
|
||||
// but failed, so we must cleanup it.
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/474
|
||||
// @see https://github.com/ossrs/srs/issues/474
|
||||
// @remark when stream is busy, should never release it.
|
||||
if (ret != ERROR_SYSTEM_STREAM_BUSY) {
|
||||
release_publish(source, vhost_is_edge);
|
||||
|
@ -1134,7 +1134,7 @@ int SrsRtmpConn::do_publishing(SrsSource* source, SrsPublishRecvThread* trd)
|
|||
// cond wait for timeout.
|
||||
if (nb_msgs == 0) {
|
||||
// when not got msgs, wait for a larger timeout.
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/441
|
||||
// @see https://github.com/ossrs/srs/issues/441
|
||||
trd->wait(publish_1stpkt_timeout);
|
||||
} else {
|
||||
trd->wait(publish_normal_timeout);
|
||||
|
@ -1345,7 +1345,7 @@ int SrsRtmpConn::process_play_control_msg(SrsConsumer* consumer, SrsCommonMessag
|
|||
SrsAutoFree(SrsPacket, pkt);
|
||||
|
||||
// for jwplayer/flowplayer, which send close as pause message.
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/6
|
||||
// @see https://github.com/ossrs/srs/issues/6
|
||||
SrsCloseStreamPacket* close = dynamic_cast<SrsCloseStreamPacket*>(pkt);
|
||||
if (close) {
|
||||
ret = ERROR_CONTROL_RTMP_CLOSE;
|
||||
|
@ -1355,7 +1355,7 @@ int SrsRtmpConn::process_play_control_msg(SrsConsumer* consumer, SrsCommonMessag
|
|||
|
||||
// call msg,
|
||||
// support response null first,
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/106
|
||||
// @see https://github.com/ossrs/srs/issues/106
|
||||
// TODO: FIXME: response in right way, or forward in edge mode.
|
||||
SrsCallPacket* call = dynamic_cast<SrsCallPacket*>(pkt);
|
||||
if (call) {
|
||||
|
@ -1579,7 +1579,7 @@ int SrsRtmpConn::http_hooks_on_connect()
|
|||
|
||||
// the http hooks will cause context switch,
|
||||
// so we must copy all hooks for the on_connect may freed.
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/475
|
||||
// @see https://github.com/ossrs/srs/issues/475
|
||||
vector<string> hooks;
|
||||
|
||||
if (true) {
|
||||
|
@ -1614,7 +1614,7 @@ void SrsRtmpConn::http_hooks_on_close()
|
|||
|
||||
// the http hooks will cause context switch,
|
||||
// so we must copy all hooks for the on_connect may freed.
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/475
|
||||
// @see https://github.com/ossrs/srs/issues/475
|
||||
vector<string> hooks;
|
||||
|
||||
if (true) {
|
||||
|
@ -1646,7 +1646,7 @@ int SrsRtmpConn::http_hooks_on_publish()
|
|||
|
||||
// the http hooks will cause context switch,
|
||||
// so we must copy all hooks for the on_connect may freed.
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/475
|
||||
// @see https://github.com/ossrs/srs/issues/475
|
||||
vector<string> hooks;
|
||||
|
||||
if (true) {
|
||||
|
@ -1681,7 +1681,7 @@ void SrsRtmpConn::http_hooks_on_unpublish()
|
|||
|
||||
// the http hooks will cause context switch,
|
||||
// so we must copy all hooks for the on_connect may freed.
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/475
|
||||
// @see https://github.com/ossrs/srs/issues/475
|
||||
vector<string> hooks;
|
||||
|
||||
if (true) {
|
||||
|
@ -1713,7 +1713,7 @@ int SrsRtmpConn::http_hooks_on_play()
|
|||
|
||||
// the http hooks will cause context switch,
|
||||
// so we must copy all hooks for the on_connect may freed.
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/475
|
||||
// @see https://github.com/ossrs/srs/issues/475
|
||||
vector<string> hooks;
|
||||
|
||||
if (true) {
|
||||
|
@ -1748,7 +1748,7 @@ void SrsRtmpConn::http_hooks_on_stop()
|
|||
|
||||
// the http hooks will cause context switch,
|
||||
// so we must copy all hooks for the on_connect may freed.
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/475
|
||||
// @see https://github.com/ossrs/srs/issues/475
|
||||
vector<string> hooks;
|
||||
|
||||
if (true) {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
@ -120,7 +120,7 @@ private:
|
|||
ISrsWakable* wakable;
|
||||
// elapse duration in ms
|
||||
// for live play duration, for instance, rtmpdump to record.
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/47
|
||||
// @see https://github.com/ossrs/srs/issues/47
|
||||
int64_t duration;
|
||||
SrsKbps* kbps;
|
||||
// the MR(merged-write) sleep time in ms.
|
||||
|
@ -128,7 +128,7 @@ private:
|
|||
// the MR(merged-write) only enabled for play.
|
||||
int mw_enabled;
|
||||
// for realtime
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/257
|
||||
// @see https://github.com/ossrs/srs/issues/257
|
||||
bool realtime;
|
||||
// the minimal interval in ms for delivery stream.
|
||||
double send_min_interval;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
@ -38,7 +38,7 @@ class SrsConfDirective;
|
|||
|
||||
/**
|
||||
* the security apply on vhost.
|
||||
* @see https://github.com/simple-rtmp-server/srs/issues/211
|
||||
* @see https://github.com/ossrs/srs/issues/211
|
||||
*/
|
||||
class SrsSecurity
|
||||
{
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
@ -56,7 +56,7 @@ using namespace std;
|
|||
// for example, system-interval is x=1s(1000ms),
|
||||
// then rusage can be 3*x, for instance, 3*1=3s,
|
||||
// the meminfo canbe 6*x, for instance, 6*1=6s,
|
||||
// for performance refine, @see: https://github.com/simple-rtmp-server/srs/issues/194
|
||||
// for performance refine, @see: https://github.com/ossrs/srs/issues/194
|
||||
// @remark, recomment to 1000ms.
|
||||
#define SRS_SYS_CYCLE_INTERVAL 1000
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
@ -128,7 +128,7 @@ int SrsRtmpJitter::correct(SrsSharedPtrMessage* msg, SrsRtmpJitterAlgorithm ag)
|
|||
// if jitter detected, reset the delta.
|
||||
if (delta < CONST_MAX_JITTER_MS_NEG || delta > CONST_MAX_JITTER_MS) {
|
||||
// use default 10ms to notice the problem of stream.
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/425
|
||||
// @see https://github.com/ossrs/srs/issues/425
|
||||
delta = DEFAULT_FRAME_TIME_MS;
|
||||
|
||||
srs_info("jitter detected, last_pts=%"PRId64", pts=%"PRId64", diff=%"PRId64", last_time=%"PRId64", time=%"PRId64", diff=%"PRId64"",
|
||||
|
@ -1604,7 +1604,7 @@ int SrsSource::on_audio_imp(SrsSharedPtrMessage* msg)
|
|||
#ifdef SRS_AUTO_HLS
|
||||
if ((ret = hls->on_audio(msg)) != ERROR_SUCCESS) {
|
||||
// apply the error strategy for hls.
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/264
|
||||
// @see https://github.com/ossrs/srs/issues/264
|
||||
std::string hls_error_strategy = _srs_config->get_hls_on_error(req->vhost);
|
||||
if (srs_config_hls_is_on_error_ignore(hls_error_strategy)) {
|
||||
srs_warn("hls process audio message failed, ignore and disable hls. ret=%d", ret);
|
||||
|
@ -1724,7 +1724,7 @@ int SrsSource::on_video(SrsCommonMessage* shared_video)
|
|||
last_packet_time = shared_video->header.timestamp;
|
||||
|
||||
// drop any unknown header video.
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/421
|
||||
// @see https://github.com/ossrs/srs/issues/421
|
||||
if (!SrsFlvCodec::video_is_acceptable(shared_video->payload, shared_video->size)) {
|
||||
char b0 = 0x00;
|
||||
if (shared_video->size > 0) {
|
||||
|
@ -1797,7 +1797,7 @@ int SrsSource::on_video_imp(SrsSharedPtrMessage* msg)
|
|||
SrsAvcAacCodec codec;
|
||||
|
||||
// user can disable the sps parse to workaround when parse sps failed.
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/474
|
||||
// @see https://github.com/ossrs/srs/issues/474
|
||||
codec.avc_parse_sps = _srs_config->get_parse_sps(req->vhost);
|
||||
|
||||
SrsCodecSample sample;
|
||||
|
@ -1822,7 +1822,7 @@ int SrsSource::on_video_imp(SrsSharedPtrMessage* msg)
|
|||
#ifdef SRS_AUTO_HLS
|
||||
if ((ret = hls->on_video(msg, is_sequence_header)) != ERROR_SUCCESS) {
|
||||
// apply the error strategy for hls.
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/264
|
||||
// @see https://github.com/ossrs/srs/issues/264
|
||||
std::string hls_error_strategy = _srs_config->get_hls_on_error(req->vhost);
|
||||
if (srs_config_hls_is_on_error_ignore(hls_error_strategy)) {
|
||||
srs_warn("hls process video message failed, ignore and disable hls. ret=%d", ret);
|
||||
|
@ -2175,7 +2175,7 @@ int SrsSource::create_consumer(SrsConsumer*& consumer, bool ds, bool dm, bool dg
|
|||
|
||||
// copy sequence header
|
||||
// copy audio sequence first, for hls to fast parse the "right" audio codec.
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/301
|
||||
// @see https://github.com/ossrs/srs/issues/301
|
||||
if (ds && cache_sh_audio && (ret = consumer->enqueue(cache_sh_audio, atc, jitter_algorithm)) != ERROR_SUCCESS) {
|
||||
srs_error("dispatch audio sequence header failed. ret=%d", ret);
|
||||
return ret;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
@ -109,7 +109,7 @@ public:
|
|||
/**
|
||||
* to alloc and increase fixed space,
|
||||
* fast remove and insert for msgs sender.
|
||||
* @see https://github.com/simple-rtmp-server/srs/issues/251
|
||||
* @see https://github.com/ossrs/srs/issues/251
|
||||
*/
|
||||
class SrsFastVector
|
||||
{
|
||||
|
@ -230,7 +230,7 @@ private:
|
|||
bool should_update_source_id;
|
||||
#ifdef SRS_PERF_QUEUE_COND_WAIT
|
||||
// the cond wait for mw.
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/251
|
||||
// @see https://github.com/ossrs/srs/issues/251
|
||||
st_cond_t mw_wait;
|
||||
bool mw_waiting;
|
||||
int mw_min_msgs;
|
||||
|
@ -317,7 +317,7 @@ private:
|
|||
*
|
||||
* @remark, it is ok for performance, for when we clear the gop cache,
|
||||
* gop cache is disabled for pure audio stream.
|
||||
* @see: https://github.com/simple-rtmp-server/srs/issues/124
|
||||
* @see: https://github.com/ossrs/srs/issues/124
|
||||
*/
|
||||
int audio_after_last_video_count;
|
||||
/**
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
@ -75,7 +75,7 @@ namespace internal
|
|||
|
||||
// in start(), the thread cycle method maybe stop and remove the thread itself,
|
||||
// and the thread start() is waiting for the _cid, and segment fault then.
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/110
|
||||
// @see https://github.com/ossrs/srs/issues/110
|
||||
// thread will set _cid, callback on_thread_start(), then wait for the can_run signal.
|
||||
can_run = false;
|
||||
}
|
||||
|
@ -228,7 +228,7 @@ namespace internal
|
|||
}
|
||||
|
||||
// to improve performance, donot sleep when interval is zero.
|
||||
// @see: https://github.com/simple-rtmp-server/srs/issues/237
|
||||
// @see: https://github.com/ossrs/srs/issues/237
|
||||
if (cycle_interval_us != 0) {
|
||||
st_usleep(cycle_interval_us);
|
||||
}
|
||||
|
@ -316,7 +316,7 @@ int SrsStSocket::read(void* buf, size_t size, ssize_t* nread)
|
|||
// (a value of 0 means the network connection is closed or end of file is reached).
|
||||
// Otherwise, a value of -1 is returned and errno is set to indicate the error.
|
||||
if (nb_read <= 0) {
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/200
|
||||
// @see https://github.com/ossrs/srs/issues/200
|
||||
if (nb_read < 0 && errno == ETIME) {
|
||||
return ERROR_SOCKET_TIMEOUT;
|
||||
}
|
||||
|
@ -346,7 +346,7 @@ int SrsStSocket::read_fully(void* buf, size_t size, ssize_t* nread)
|
|||
// (a value less than nbyte means the network connection is closed or end of file is reached)
|
||||
// Otherwise, a value of -1 is returned and errno is set to indicate the error.
|
||||
if (nb_read != (ssize_t)size) {
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/200
|
||||
// @see https://github.com/ossrs/srs/issues/200
|
||||
if (nb_read < 0 && errno == ETIME) {
|
||||
return ERROR_SOCKET_TIMEOUT;
|
||||
}
|
||||
|
@ -375,7 +375,7 @@ int SrsStSocket::write(void* buf, size_t size, ssize_t* nwrite)
|
|||
// On success a non-negative integer equal to nbyte is returned.
|
||||
// Otherwise, a value of -1 is returned and errno is set to indicate the error.
|
||||
if (nb_write <= 0) {
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/200
|
||||
// @see https://github.com/ossrs/srs/issues/200
|
||||
if (nb_write < 0 && errno == ETIME) {
|
||||
return ERROR_SOCKET_TIMEOUT;
|
||||
}
|
||||
|
@ -400,7 +400,7 @@ int SrsStSocket::writev(const iovec *iov, int iov_size, ssize_t* nwrite)
|
|||
// On success a non-negative integer equal to nbyte is returned.
|
||||
// Otherwise, a value of -1 is returned and errno is set to indicate the error.
|
||||
if (nb_write <= 0) {
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/200
|
||||
// @see https://github.com/ossrs/srs/issues/200
|
||||
if (nb_write < 0 && errno == ETIME) {
|
||||
return ERROR_SOCKET_TIMEOUT;
|
||||
}
|
||||
|
@ -537,7 +537,7 @@ int srs_st_init()
|
|||
|
||||
#ifdef __linux__
|
||||
// check epoll, some old linux donot support epoll.
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/162
|
||||
// @see https://github.com/ossrs/srs/issues/162
|
||||
if (!srs_st_epoll_is_supported()) {
|
||||
ret = ERROR_ST_SET_EPOLL;
|
||||
srs_error("epoll required on Linux. ret=%d", ret);
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
@ -119,12 +119,12 @@ namespace internal
|
|||
* @param interval_us, the sleep interval when cycle finished.
|
||||
* @param joinable, if joinable, other thread must stop the thread.
|
||||
* @remark if joinable, thread never quit itself, or memory leak.
|
||||
* @see: https://github.com/simple-rtmp-server/srs/issues/78
|
||||
* @see: https://github.com/ossrs/srs/issues/78
|
||||
* @remark about st debug, see st-1.9/README, _st_iterate_threads_flag
|
||||
*/
|
||||
/**
|
||||
* TODO: FIXME: maybe all thread must be reap by others threads,
|
||||
* @see: https://github.com/simple-rtmp-server/srs/issues/77
|
||||
* @see: https://github.com/ossrs/srs/issues/77
|
||||
*/
|
||||
SrsThread(const char* name, ISrsThreadHandler* thread_handler, int64_t interval_us, bool joinable);
|
||||
virtual ~SrsThread();
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
@ -461,7 +461,7 @@ bool get_proc_self_stat(SrsProcSelfStat& r)
|
|||
void srs_update_proc_stat()
|
||||
{
|
||||
// @see: http://stackoverflow.com/questions/7298646/calculating-user-nice-sys-idle-iowait-irq-and-sirq-from-proc-stat/7298711
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/397
|
||||
// @see https://github.com/ossrs/srs/issues/397
|
||||
static int user_hz = 0;
|
||||
if (user_hz <= 0) {
|
||||
user_hz = (int)sysconf(_SC_CLK_TCK);
|
||||
|
@ -1224,7 +1224,7 @@ void retrieve_local_ipv4_ips()
|
|||
// retrieve ipv4 addr
|
||||
// ignore the tun0 network device,
|
||||
// which addr is NULL.
|
||||
// @see: https://github.com/simple-rtmp-server/srs/issues/141
|
||||
// @see: https://github.com/ossrs/srs/issues/141
|
||||
if (addr && addr->sa_family == AF_INET) {
|
||||
in_addr* inaddr = &((sockaddr_in*)addr)->sin_addr;
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
@ -38,12 +38,12 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#define RTMP_SIG_SRS_CODE "OuXuli"
|
||||
#define RTMP_SIG_SRS_ROLE "cluster"
|
||||
#define RTMP_SIG_SRS_NAME RTMP_SIG_SRS_KEY"(Simple RTMP Server)"
|
||||
#define RTMP_SIG_SRS_URL_SHORT "github.com/simple-rtmp-server/srs"
|
||||
#define RTMP_SIG_SRS_URL_SHORT "github.com/ossrs/srs"
|
||||
#define RTMP_SIG_SRS_URL "https://"RTMP_SIG_SRS_URL_SHORT
|
||||
#define RTMP_SIG_SRS_WEB "http://ossrs.net"
|
||||
#define RTMP_SIG_SRS_EMAIL "winlin@vip.126.com"
|
||||
#define RTMP_SIG_SRS_LICENSE "The MIT License (MIT)"
|
||||
#define RTMP_SIG_SRS_COPYRIGHT "Copyright (c) 2013-2015 SRS(simple-rtmp-server)"
|
||||
#define RTMP_SIG_SRS_COPYRIGHT "Copyright (c) 2013-2015 SRS(ossrs)"
|
||||
#define RTMP_SIG_SRS_PRIMARY "SRS/"VERSION_STABLE_BRANCH
|
||||
#define RTMP_SIG_SRS_AUTHROS "winlin,wenjie.zhao"
|
||||
#define RTMP_SIG_SRS_CONTRIBUTORS_URL RTMP_SIG_SRS_URL"/blob/master/AUTHORS.txt"
|
||||
|
@ -79,7 +79,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#define __STDC_FORMAT_MACROS
|
||||
#endif
|
||||
|
||||
// for srs-librtmp, @see https://github.com/simple-rtmp-server/srs/issues/213
|
||||
// for srs-librtmp, @see https://github.com/ossrs/srs/issues/213
|
||||
#ifndef _WIN32
|
||||
#include <inttypes.h>
|
||||
#endif
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
@ -40,12 +40,12 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
* that is, we merge some data to read together.
|
||||
* @see SrsConfig::get_mr_enabled()
|
||||
* @see SrsConfig::get_mr_sleep_ms()
|
||||
* @see https://github.com/simple-rtmp-server/srs/issues/241
|
||||
* @see https://github.com/ossrs/srs/issues/241
|
||||
* @example, for the default settings, this algorithm will use:
|
||||
* that is, when got nread bytes smaller than 4KB, sleep(780ms).
|
||||
*/
|
||||
/**
|
||||
* https://github.com/simple-rtmp-server/srs/issues/241#issuecomment-65554690
|
||||
* https://github.com/ossrs/srs/issues/241#issuecomment-65554690
|
||||
* The merged read algorithm is ok and can be simplified for:
|
||||
* 1. Suppose the client network is ok. All algorithm go wrong when netowrk is not ok.
|
||||
* 2. Suppose the client send each packet one by one. Although send some together, it's same.
|
||||
|
@ -71,7 +71,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
* @remark this largely improve performance, from 3.5k+ to 7.5k+.
|
||||
* the latency+ when cache+.
|
||||
* @remark the socket send buffer default to 185KB, it large enough.
|
||||
* @see https://github.com/simple-rtmp-server/srs/issues/194
|
||||
* @see https://github.com/ossrs/srs/issues/194
|
||||
* @see SrsConfig::get_mw_sleep_ms()
|
||||
* @remark the mw sleep and msgs to send, maybe:
|
||||
* mw_sleep msgs iovs
|
||||
|
@ -106,24 +106,24 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
|
||||
/**
|
||||
* whether set the socket send buffer size.
|
||||
* @see https://github.com/simple-rtmp-server/srs/issues/251
|
||||
* @see https://github.com/ossrs/srs/issues/251
|
||||
*/
|
||||
#define SRS_PERF_MW_SO_SNDBUF
|
||||
|
||||
/**
|
||||
* whether set the socket recv buffer size.
|
||||
* @see https://github.com/simple-rtmp-server/srs/issues/251
|
||||
* @see https://github.com/ossrs/srs/issues/251
|
||||
*/
|
||||
#undef SRS_PERF_MW_SO_RCVBUF
|
||||
/**
|
||||
* whether enable the fast vector for qeueue.
|
||||
* @see https://github.com/simple-rtmp-server/srs/issues/251
|
||||
* @see https://github.com/ossrs/srs/issues/251
|
||||
*/
|
||||
#define SRS_PERF_QUEUE_FAST_VECTOR
|
||||
/**
|
||||
* whether use cond wait to send messages.
|
||||
* @remark this improve performance for large connectios.
|
||||
* @see https://github.com/simple-rtmp-server/srs/issues/251
|
||||
* @see https://github.com/ossrs/srs/issues/251
|
||||
*/
|
||||
#define SRS_PERF_QUEUE_COND_WAIT
|
||||
#ifdef SRS_PERF_QUEUE_COND_WAIT
|
||||
|
@ -135,14 +135,14 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
* for min latence mode:
|
||||
* 1. disable the mr for vhost.
|
||||
* 2. use timeout for cond wait for consumer queue.
|
||||
* @see https://github.com/simple-rtmp-server/srs/issues/257
|
||||
* @see https://github.com/ossrs/srs/issues/257
|
||||
*/
|
||||
#define SRS_PERF_MIN_LATENCY_ENABLED false
|
||||
|
||||
/**
|
||||
* how many chunk stream to cache, [0, N].
|
||||
* to imporove about 10% performance when chunk size small, and 5% for large chunk.
|
||||
* @see https://github.com/simple-rtmp-server/srs/issues/249
|
||||
* @see https://github.com/ossrs/srs/issues/249
|
||||
* @remark 0 to disable the chunk stream cache.
|
||||
*/
|
||||
#define SRS_PERF_CHUNK_STREAM_CACHE 16
|
||||
|
@ -158,21 +158,21 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
/**
|
||||
* whether always use complex send algorithm.
|
||||
* for some network does not support the complex send,
|
||||
* @see https://github.com/simple-rtmp-server/srs/issues/320
|
||||
* @see https://github.com/ossrs/srs/issues/320
|
||||
*/
|
||||
//#undef SRS_PERF_COMPLEX_SEND
|
||||
#define SRS_PERF_COMPLEX_SEND
|
||||
/**
|
||||
* whether enable the TCP_NODELAY
|
||||
* user maybe need send small tcp packet for some network.
|
||||
* @see https://github.com/simple-rtmp-server/srs/issues/320
|
||||
* @see https://github.com/ossrs/srs/issues/320
|
||||
*/
|
||||
#undef SRS_PERF_TCP_NODELAY
|
||||
#define SRS_PERF_TCP_NODELAY
|
||||
/**
|
||||
* set the socket send buffer,
|
||||
* to force the server to send smaller tcp packet.
|
||||
* @see https://github.com/simple-rtmp-server/srs/issues/320
|
||||
* @see https://github.com/ossrs/srs/issues/320
|
||||
* @remark undef it to auto calc it by merged write sleep ms.
|
||||
* @remark only apply it when SRS_PERF_MW_SO_SNDBUF is defined.
|
||||
*/
|
||||
|
@ -183,7 +183,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
|
||||
/**
|
||||
* define the following macro to enable the fast flv encoder.
|
||||
* @see https://github.com/simple-rtmp-server/srs/issues/405
|
||||
* @see https://github.com/ossrs/srs/issues/405
|
||||
*/
|
||||
#undef SRS_PERF_FAST_FLV_ENCODER
|
||||
#define SRS_PERF_FAST_FLV_ENCODER
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
@ -25,7 +25,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
|
||||
#if !defined(SRS_EXPORT_LIBRTMP)
|
||||
|
||||
// for srs-librtmp, @see https://github.com/simple-rtmp-server/srs/issues/213
|
||||
// for srs-librtmp, @see https://github.com/ossrs/srs/issues/213
|
||||
#ifndef _WIN32
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
@ -152,7 +152,7 @@ int SrsAacEncoder::write_audio(int64_t timestamp, char* data, int size)
|
|||
// write the ADTS header.
|
||||
// @see aac-mp4a-format-ISO_IEC_14496-3+2001.pdf, page 75,
|
||||
// 1.A.2.2 Audio_Data_Transport_Stream frame, ADTS
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/212#issuecomment-64145885
|
||||
// @see https://github.com/ossrs/srs/issues/212#issuecomment-64145885
|
||||
// byte_alignment()
|
||||
|
||||
// adts_fixed_header:
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
@ -619,7 +619,7 @@ int SrsAvcAacCodec::audio_aac_sequence_header_demux(char* data, int size)
|
|||
// TODO: FIXME: to support aac he/he-v2, see: ngx_rtmp_codec_parse_aac_header
|
||||
// @see: https://github.com/winlinvip/nginx-rtmp-module/commit/3a5f9eea78fc8d11e8be922aea9ac349b9dcbfc2
|
||||
//
|
||||
// donot force to LC, @see: https://github.com/simple-rtmp-server/srs/issues/81
|
||||
// donot force to LC, @see: https://github.com/ossrs/srs/issues/81
|
||||
// the source will print the sequence header info.
|
||||
//if (aac_profile > 3) {
|
||||
// Mark all extended profiles as LC
|
||||
|
@ -661,7 +661,7 @@ int SrsAvcAacCodec::video_avc_demux(char* data, int size, SrsCodecSample* sample
|
|||
sample->frame_type = (SrsCodecVideoAVCFrame)frame_type;
|
||||
|
||||
// ignore info frame without error,
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/288#issuecomment-69863909
|
||||
// @see https://github.com/ossrs/srs/issues/288#issuecomment-69863909
|
||||
if (sample->frame_type == SrsCodecVideoAVCFrameVideoInfoFrame) {
|
||||
srs_warn("avc igone the info frame, ret=%d", ret);
|
||||
return ret;
|
||||
|
@ -944,7 +944,7 @@ int SrsAvcAacCodec::avc_demux_sps_rbsp(char* rbsp, int nb_rbsp)
|
|||
int ret = ERROR_SUCCESS;
|
||||
|
||||
// we donot parse the detail of sps.
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/474
|
||||
// @see https://github.com/ossrs/srs/issues/474
|
||||
if (!avc_parse_sps) {
|
||||
return ret;
|
||||
}
|
||||
|
@ -1201,7 +1201,7 @@ int SrsAvcAacCodec::avc_demux_ibmf_format(SrsBuffer* stream, SrsCodecSample* sam
|
|||
}
|
||||
|
||||
// maybe stream is invalid format.
|
||||
// see: https://github.com/simple-rtmp-server/srs/issues/183
|
||||
// see: https://github.com/ossrs/srs/issues/183
|
||||
if (NALUnitLength < 0) {
|
||||
ret = ERROR_HLS_DECODE_ERROR;
|
||||
srs_error("maybe stream is AnnexB format. ret=%d", ret);
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
@ -429,7 +429,7 @@ enum SrsAvcPayloadFormat
|
|||
|
||||
/**
|
||||
* the aac profile, for ADTS(HLS/TS)
|
||||
* @see https://github.com/simple-rtmp-server/srs/issues/310
|
||||
* @see https://github.com/ossrs/srs/issues/310
|
||||
*/
|
||||
enum SrsAacProfile
|
||||
{
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
@ -96,7 +96,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
|
||||
/**
|
||||
* for performance issue,
|
||||
* the iovs cache, @see https://github.com/simple-rtmp-server/srs/issues/194
|
||||
* the iovs cache, @see https://github.com/ossrs/srs/issues/194
|
||||
* iovs cache for multiple messages for each connections.
|
||||
* suppose the chunk size is 64k, each message send in a chunk which needs only 2 iovec,
|
||||
* so the iovs max should be (SRS_PERF_MW_MSGS * 2)
|
||||
|
@ -106,7 +106,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#define SRS_CONSTS_IOVS_MAX (SRS_PERF_MW_MSGS * 2)
|
||||
/**
|
||||
* for performance issue,
|
||||
* the c0c3 cache, @see https://github.com/simple-rtmp-server/srs/issues/194
|
||||
* the c0c3 cache, @see https://github.com/ossrs/srs/issues/194
|
||||
* c0c3 cache for multiple messages for each connections.
|
||||
* each c0 <= 16byes, suppose the chunk size is 64k,
|
||||
* each message send in a chunk which needs only a c0 header,
|
||||
|
@ -136,7 +136,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
// terminate the srs with dispose to detect memory leak for gmc.
|
||||
#define SRS_SIGNAL_DISPOSE SIGUSR2
|
||||
// persistence the config in memory to config file.
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/319#issuecomment-134993922
|
||||
// @see https://github.com/ossrs/srs/issues/319#issuecomment-134993922
|
||||
#define SRS_SIGNAL_PERSISTENCE_CONFIG SIGUSR1
|
||||
// srs should gracefully quit, do dispose then exit.
|
||||
#define SRS_SIGNAL_GRACEFULLY_QUIT SIGTERM
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2015 SRS(simple-rtmp-server)
|
||||
Copyright (c) 2013-2015 SRS(ossrs)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
@ -30,7 +30,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
|
||||
#include <srs_core.hpp>
|
||||
|
||||
// for srs-librtmp, @see https://github.com/simple-rtmp-server/srs/issues/213
|
||||
// for srs-librtmp, @see https://github.com/ossrs/srs/issues/213
|
||||
#ifndef _WIN32
|
||||
#define ERROR_SUCCESS 0
|
||||
#endif
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue