From 3ca4f0a0689be30fbd5248971e1a757f53497d81 Mon Sep 17 00:00:00 2001 From: Winlin Date: Sun, 31 Aug 2025 17:30:19 -0400 Subject: [PATCH] AI: Always enable SRT protocol. v7.0.69 (#4460) Co-authored-by: OSSRS-AI --- trunk/auto/auto_headers.sh | 6 +-- trunk/auto/depends.sh | 4 +- trunk/auto/options.sh | 6 +++ trunk/configure | 68 +++++++++++---------------- trunk/doc/CHANGELOG.md | 1 + trunk/src/app/srs_app_pithy_print.cpp | 4 -- trunk/src/app/srs_app_pithy_print.hpp | 2 - trunk/src/app/srs_app_rtc_conn.cpp | 2 - trunk/src/app/srs_app_rtmp_conn.cpp | 2 - trunk/src/app/srs_app_server.cpp | 20 -------- trunk/src/app/srs_app_server.hpp | 6 --- trunk/src/app/srs_app_srt_server.cpp | 2 - trunk/src/core/srs_core_version7.hpp | 2 +- trunk/src/kernel/srs_kernel_kbps.cpp | 18 +++++++ trunk/src/main/srs_main_server.cpp | 10 ++-- trunk/src/utest/srs_utest.cpp | 6 --- 16 files changed, 59 insertions(+), 100 deletions(-) diff --git a/trunk/auto/auto_headers.sh b/trunk/auto/auto_headers.sh index ab045f74f..3f1ed8dbd 100755 --- a/trunk/auto/auto_headers.sh +++ b/trunk/auto/auto_headers.sh @@ -50,11 +50,7 @@ else srs_undefine_macro "SRS_HDS" $SRS_AUTO_HEADERS_H fi -if [[ $SRS_SRT == YES ]]; then - srs_define_macro "SRS_SRT" $SRS_AUTO_HEADERS_H -else - srs_undefine_macro "SRS_SRT" $SRS_AUTO_HEADERS_H -fi +srs_define_macro "SRS_SRT" $SRS_AUTO_HEADERS_H if [[ $SRS_CXX11 == YES ]]; then srs_define_macro "SRS_CXX11" $SRS_AUTO_HEADERS_H diff --git a/trunk/auto/depends.sh b/trunk/auto/depends.sh index 98927ce10..b1fe69d21 100755 --- a/trunk/auto/depends.sh +++ b/trunk/auto/depends.sh @@ -680,10 +680,10 @@ fi ##################################################################################### # SRT module, https://github.com/ossrs/srs/issues/1147#issuecomment-577469119 ##################################################################################### -if [[ $SRS_SRT == YES && $SRS_USE_SYS_SRT == YES ]]; then +if [[ $SRS_USE_SYS_SRT == YES ]]; then echo "Warning: Use system libsrt, without compiling srt." fi -if [[ $SRS_SRT == YES && $SRS_USE_SYS_SRT == NO ]]; then +if [[ $SRS_USE_SYS_SRT == NO ]]; then # Always disable c++11 for libsrt, because only the srt-app requres it. LIBSRT_OPTIONS="--enable-apps=0 --enable-static=1 --enable-c++11=0" CMAKE_VERSION=$(cmake --version | head -n1 | cut -d' ' -f3) diff --git a/trunk/auto/options.sh b/trunk/auto/options.sh index 0bd95557c..129f3d3d1 100755 --- a/trunk/auto/options.sh +++ b/trunk/auto/options.sh @@ -575,6 +575,12 @@ function apply_auto_options() { SRS_RTC=YES fi + # Force enable SRT always - SRT support is required + if [[ $SRS_SRT != YES ]]; then + echo "Warning: SRT support is always enabled. Forcing SRT mode." + SRS_SRT=YES + fi + if [[ $SRS_SRTP_ASM == YES && $SRS_NASM == NO ]]; then echo "Disable SRTP-ASM, because NASM is disabled." SRS_SRTP_ASM=NO diff --git a/trunk/configure b/trunk/configure index f4833f6c2..ddfe19b7b 100755 --- a/trunk/configure +++ b/trunk/configure @@ -178,16 +178,14 @@ if [[ $SRS_GPERF_MD == YES ]]; then LibGperfFile="${SRS_OBJS}/gperf/lib/libtcmalloc_debug.a"; fi -# srt code path -if [[ $SRS_SRT == YES ]]; then - LibSRTRoot="${SRS_OBJS}/srt/include"; LibSRTfile="${SRS_OBJS}/srt/lib/libsrt.a" - if [[ $SRS_SHARED_SRT == YES ]]; then LibSRTfile="-L${SRS_OBJS}/srt/lib -lsrt"; fi - if [[ $SRS_USE_SYS_SRT == YES ]]; then - LibSRTRoot=""; LibSRTfile="libsrt.a" - if [[ $SRS_SHARED_SRT == YES ]]; then - LibSRTfile=""; - SrsLinkOptions="${SrsLinkOptions} -lsrt"; - fi +# srt code path - always enabled +LibSRTRoot="${SRS_OBJS}/srt/include"; LibSRTfile="${SRS_OBJS}/srt/lib/libsrt.a" +if [[ $SRS_SHARED_SRT == YES ]]; then LibSRTfile="-L${SRS_OBJS}/srt/lib -lsrt"; fi +if [[ $SRS_USE_SYS_SRT == YES ]]; then + LibSRTRoot=""; LibSRTfile="libsrt.a" + if [[ $SRS_SHARED_SRT == YES ]]; then + LibSRTfile=""; + SrsLinkOptions="${SrsLinkOptions} -lsrt"; fi fi @@ -266,10 +264,9 @@ MODULE_FILES=("srs_protocol_amf0" "srs_protocol_io" "srs_protocol_conn" "srs_pro "srs_protocol_raw_avc" "srs_protocol_http_stack" "srs_protocol_kbps" "srs_protocol_json" "srs_protocol_format" "srs_protocol_log" "srs_protocol_st" "srs_protocol_http_client" "srs_protocol_http_conn" "srs_protocol_rtmp_conn" "srs_protocol_protobuf") -if [[ $SRS_SRT == YES ]]; then - MODULE_FILES+=("srs_protocol_srt") - ModuleLibIncs+=(${LibSRTRoot}) -fi +# Always include SRT protocol +MODULE_FILES+=("srs_protocol_srt") +ModuleLibIncs+=(${LibSRTRoot}) MODULE_FILES+=("srs_protocol_rtc_stun" "srs_protocol_rtp") if [[ $SRS_RTSP == YES ]]; then MODULE_FILES+=("srs_protocol_rtsp_stack") @@ -300,9 +297,8 @@ MODULE_FILES=("srs_app_server" "srs_app_conn" "srs_app_rtmp_conn" "srs_app_sourc "srs_app_hourglass" "srs_app_dash" "srs_app_fragment" "srs_app_dvr" "srs_app_coworkers" "srs_app_circuit_breaker" "srs_app_stream_token") -if [[ $SRS_SRT == YES ]]; then - MODULE_FILES+=("srs_app_srt_server" "srs_app_srt_listener" "srs_app_srt_conn" "srs_app_srt_utility" "srs_app_srt_source") -fi +# Always include SRT app modules +MODULE_FILES+=("srs_app_srt_server" "srs_app_srt_listener" "srs_app_srt_conn" "srs_app_srt_utility" "srs_app_srt_source") MODULE_FILES+=("srs_app_rtc_conn" "srs_app_rtc_dtls" "srs_app_rtc_sdp" "srs_app_rtc_network" "srs_app_rtc_queue" "srs_app_rtc_server" "srs_app_rtc_source" "srs_app_rtc_api") if [[ $SRS_RTSP == YES ]]; then @@ -344,19 +340,17 @@ ModuleLibFiles=(${LibSTfile} ${LibSSLfile} ${LibGperfFile} ${LibSrtpFile}) if [[ $SRS_FFMPEG_FIT == YES ]]; then ModuleLibFiles+=("${LibFfmpegFile[*]}") fi -if [[ $SRS_SRT == YES ]]; then - ModuleLibFiles+=("${LibSRTfile[*]}") -fi +# Always include SRT library files +ModuleLibFiles+=("${LibSRTfile[*]}") # all depends objects MODULE_OBJS="${CORE_OBJS[@]} ${KERNEL_OBJS[@]} ${PROTOCOL_OBJS[@]} ${APP_OBJS[@]} ${SERVER_OBJS[@]}" ModuleLibIncs=(${SRS_OBJS} ${LibSTRoot} ${LibGperfRoot} ${LibSSLRoot} ${LibSrtpRoot}) if [[ $SRS_FFMPEG_FIT == YES ]]; then ModuleLibIncs+=("${LibFfmpegRoot[*]}") fi -if [[ $SRS_SRT == YES ]]; then - ModuleLibIncs+=(${LibSRTRoot}) - MODULE_OBJS="${MODULE_OBJS} ${SRT_OBJS[@]}" -fi +# Always include SRT libraries +ModuleLibIncs+=(${LibSRTRoot}) +MODULE_OBJS="${MODULE_OBJS} ${SRT_OBJS[@]}" LINK_OPTIONS="${LDFLAGS} ${SrsLinkOptions}${SrsGprofLink}${SrsGperfLink}" # # srs: srs(simple rtmp server) over st(state-threads) @@ -368,9 +362,8 @@ ModuleLibFiles=(${LibSTfile} ${LibSSLfile} ${LibGperfFile} ${LibSrtpFile}) if [[ $SRS_FFMPEG_FIT == YES ]]; then ModuleLibFiles+=("${LibFfmpegFile[*]}") fi -if [[ $SRS_SRT == YES ]]; then - ModuleLibFiles+=("${LibSRTfile[*]}") -fi +# Always include SRT library files +ModuleLibFiles+=("${LibSRTfile[*]}") # For utest on mac. # @see https://github.com/protocolbuffers/protobuf/issues/51#issuecomment-111044468 if [[ $SRS_OSX == YES ]]; then @@ -385,9 +378,8 @@ if [[ $SRS_UTEST == YES ]]; then "srs_utest_protocol" "srs_utest_protocol2" "srs_utest_kernel2" "srs_utest_protocol3" "srs_utest_st" "srs_utest_rtc2" "srs_utest_rtc3" "srs_utest_fmp4" "srs_utest_source_lock" "srs_utest_stream_token") - if [[ $SRS_SRT == YES ]]; then - MODULE_FILES+=("srs_utest_srt") - fi + # Always include SRT utest + MODULE_FILES+=("srs_utest_srt") if [[ $SRS_GB28181 == YES ]]; then MODULE_FILES+=("srs_utest_gb28181") fi @@ -395,16 +387,14 @@ if [[ $SRS_UTEST == YES ]]; then if [[ $SRS_FFMPEG_FIT == YES ]]; then ModuleLibIncs+=("${LibFfmpegRoot[*]}") fi - if [[ $SRS_SRT == YES ]]; then - ModuleLibIncs+=("${LibSRTRoot[*]}") - fi + # Always include SRT library includes + ModuleLibIncs+=("${LibSRTRoot[*]}") ModuleLibFiles=(${LibSTfile} ${LibSSLfile} ${LibSrtpFile}) if [[ $SRS_FFMPEG_FIT == YES ]]; then ModuleLibFiles+=("${LibFfmpegFile[*]}") fi - if [[ $SRS_SRT == YES ]]; then - ModuleLibFiles+=("${LibSRTfile[*]}") - fi + # Always include SRT library files + ModuleLibFiles+=("${LibSRTfile[*]}") MODULE_DEPENDS=("CORE" "KERNEL" "PROTOCOL" "APP") MODULE_OBJS="${CORE_OBJS[@]} ${KERNEL_OBJS[@]} ${PROTOCOL_OBJS[@]} ${APP_OBJS[@]} ${SRT_OBJS[@]}" LINK_OPTIONS="${LDFLAGS} -lpthread ${SrsLinkOptions}" MODULE_DIR="src/utest" APP_NAME="srs_utest" . $SRS_WORKDIR/auto/utest.sh @@ -636,11 +626,7 @@ else echo -e "${GREEN}Warning: GB28181 is disabled.${BLACK}" fi echo -e "${GREEN}Experiment: HEVC/H.265 is enabled. https://github.com/ossrs/srs/issues/465${BLACK}" -if [[ $SRS_SRT == YES ]]; then - echo -e "${YELLOW}Experiment: SRT is enabled. https://github.com/ossrs/srs/issues/1147${BLACK}" -else - echo -e "${GREEN}Warning: SRT is disabled.${BLACK}" -fi +echo -e "${YELLOW}Experiment: SRT is enabled. https://github.com/ossrs/srs/issues/1147${BLACK}" echo -e "${YELLOW}Experiment: RTC is enabled. https://github.com/ossrs/srs/issues/307${BLACK}" if [[ $SRS_RTSP == YES ]]; then echo -e "${YELLOW}Experiment: RTSP is enabled (requires RTC).${BLACK}" diff --git a/trunk/doc/CHANGELOG.md b/trunk/doc/CHANGELOG.md index 273e53de6..833620fdb 100644 --- a/trunk/doc/CHANGELOG.md +++ b/trunk/doc/CHANGELOG.md @@ -7,6 +7,7 @@ The changelog for SRS. ## SRS 7.0 Changelog +* v7.0, 2025-08-31, Merge [#4460](https://github.com/ossrs/srs/pull/4460): AI: Always enable SRT protocol. v7.0.69 (#4460) * v7.0, 2025-08-31, Merge [#4459](https://github.com/ossrs/srs/pull/4459): AI: Merge SRT and RTC servers into unified SrsServer. v7.0.68 (#4459) * v7.0, 2025-08-29, Merge [#4457](https://github.com/ossrs/srs/pull/4457): Support IPv6 for all protocols: RTMP, HTTP/HTTPS, WebRTC, SRT, RTSP. v7.0.67 (#4457) * v7.0, 2025-08-28, Merge [#4456](https://github.com/ossrs/srs/pull/4456): AI: Remove cloud CLS and APM. v7.0.66 (#4456) diff --git a/trunk/src/app/srs_app_pithy_print.cpp b/trunk/src/app/srs_app_pithy_print.cpp index 9265eaae1..d68cb15ee 100644 --- a/trunk/src/app/srs_app_pithy_print.cpp +++ b/trunk/src/app/srs_app_pithy_print.cpp @@ -213,12 +213,10 @@ SrsPithyPrint::SrsPithyPrint(int _stage_id) // for the rtc recv #define SRS_CONSTS_STAGE_RTC_RECV 14 -#ifdef SRS_SRT // the pithy stage for srt play clients. #define SRS_CONSTS_STAGE_SRT_PLAY 15 // the pithy stage for srt publish clients. #define SRS_CONSTS_STAGE_SRT_PUBLISH 16 -#endif SrsPithyPrint *SrsPithyPrint::create_rtmp_play() { @@ -290,7 +288,6 @@ SrsPithyPrint *SrsPithyPrint::create_rtc_recv(int fd) return new SrsPithyPrint(fd << 16 | SRS_CONSTS_STAGE_RTC_RECV); } -#ifdef SRS_SRT SrsPithyPrint *SrsPithyPrint::create_srt_play() { return new SrsPithyPrint(SRS_CONSTS_STAGE_SRT_PLAY); @@ -300,7 +297,6 @@ SrsPithyPrint *SrsPithyPrint::create_srt_publish() { return new SrsPithyPrint(SRS_CONSTS_STAGE_SRT_PUBLISH); } -#endif SrsPithyPrint::~SrsPithyPrint() { diff --git a/trunk/src/app/srs_app_pithy_print.hpp b/trunk/src/app/srs_app_pithy_print.hpp index ad98fa8b8..80a200698 100644 --- a/trunk/src/app/srs_app_pithy_print.hpp +++ b/trunk/src/app/srs_app_pithy_print.hpp @@ -139,10 +139,8 @@ public: // For RTC sender and receiver, we create printer for each fd. static SrsPithyPrint *create_rtc_send(int fd); static SrsPithyPrint *create_rtc_recv(int fd); -#ifdef SRS_SRT static SrsPithyPrint *create_srt_play(); static SrsPithyPrint *create_srt_publish(); -#endif virtual ~SrsPithyPrint(); private: diff --git a/trunk/src/app/srs_app_rtc_conn.cpp b/trunk/src/app/srs_app_rtc_conn.cpp index dad3fbfba..c444457d4 100644 --- a/trunk/src/app/srs_app_rtc_conn.cpp +++ b/trunk/src/app/srs_app_rtc_conn.cpp @@ -1189,7 +1189,6 @@ srs_error_t SrsRtcPublishStream::initialize(ISrsRequest *r, SrsRtcSourceDescript } // Check whether SRT stream is busy. -#ifdef SRS_SRT bool srt_server_enabled = _srs_config->get_srt_enabled(); bool srt_enabled = _srs_config->get_srt_enabled(r->vhost); if (srt_server_enabled && srt_enabled) { @@ -1202,7 +1201,6 @@ srs_error_t SrsRtcPublishStream::initialize(ISrsRequest *r, SrsRtcSourceDescript return srs_error_new(ERROR_SYSTEM_STREAM_BUSY, "srt stream %s busy", r->get_stream_url().c_str()); } } -#endif // Bridge to rtmp #if defined(SRS_FFMPEG_FIT) diff --git a/trunk/src/app/srs_app_rtmp_conn.cpp b/trunk/src/app/srs_app_rtmp_conn.cpp index 0e04c4ee3..cf7bdb6a9 100644 --- a/trunk/src/app/srs_app_rtmp_conn.cpp +++ b/trunk/src/app/srs_app_rtmp_conn.cpp @@ -1032,7 +1032,6 @@ srs_error_t SrsRtmpConn::acquire_publish(SrsSharedPtr source) } // Check whether SRT stream is busy. -#ifdef SRS_SRT bool srt_server_enabled = _srs_config->get_srt_enabled(); bool srt_enabled = _srs_config->get_srt_enabled(req->vhost); if (srt_server_enabled && srt_enabled && !info->edge) { @@ -1045,7 +1044,6 @@ srs_error_t SrsRtmpConn::acquire_publish(SrsSharedPtr source) return srs_error_new(ERROR_SYSTEM_STREAM_BUSY, "srt stream %s busy", req->get_stream_url().c_str()); } } -#endif #ifdef SRS_RTSP // RTSP only support viewer, so we don't need to check it. diff --git a/trunk/src/app/srs_app_server.cpp b/trunk/src/app/srs_app_server.cpp index 4ea4be540..8e8273a03 100644 --- a/trunk/src/app/srs_app_server.cpp +++ b/trunk/src/app/srs_app_server.cpp @@ -53,11 +53,9 @@ using namespace std; #ifdef SRS_GB28181 #include #endif -#ifdef SRS_SRT #include #include #include -#endif #ifdef SRS_RTSP #include #include @@ -293,9 +291,7 @@ srs_error_t srs_global_initialize() _srs_circuit_breaker = new SrsCircuitBreaker(); _srs_hooks = new SrsHttpHooks(); -#ifdef SRS_SRT _srs_srt_sources = new SrsSrtSourceManager(); -#endif _srs_rtc_sources = new SrsRtcSourceManager(); _srs_blackhole = new SrsRtcBlackhole(); @@ -810,9 +806,7 @@ void SrsServer::destroy() #ifdef SRS_GB28181 srs_freep(stream_caster_gb28181_); #endif -#ifdef SRS_SRT close_srt_listeners(); -#endif // Cleanup WebRTC components if (true) { @@ -851,9 +845,7 @@ void SrsServer::dispose() #ifdef SRS_GB28181 stream_caster_gb28181_->close(); #endif -#ifdef SRS_SRT close_srt_listeners(); -#endif // Fast stop to notify FFMPEG to quit, wait for a while then fast kill. ingester_->dispose(); @@ -889,9 +881,7 @@ void SrsServer::gracefully_dispose() #ifdef SRS_GB28181 stream_caster_gb28181_->close(); #endif -#ifdef SRS_SRT close_srt_listeners(); -#endif srs_trace("listeners closed"); // Fast stop to notify FFMPEG to quit, wait for a while then fast kill. @@ -929,7 +919,6 @@ srs_error_t SrsServer::initialize() return srs_error_wrap(err, "init server"); } -#ifdef SRS_SRT if ((err = srs_srt_log_initialize()) != srs_success) { return srs_error_wrap(err, "srt log initialize"); } @@ -943,7 +932,6 @@ srs_error_t SrsServer::initialize() if ((err = _srt_eventloop->start()) != srs_success) { return srs_error_wrap(err, "srt poller start"); } -#endif // Initialize WebRTC DTLS certificate if ((err = _srs_rtc_dtls_certificate->initialize()) != srs_success) { @@ -1132,11 +1120,9 @@ srs_error_t SrsServer::run() return srs_error_wrap(err, "live sources"); } -#ifdef SRS_SRT if ((err = _srs_srt_sources->initialize()) != srs_success) { return srs_error_wrap(err, "srt sources"); } -#endif if ((err = _srs_rtc_sources->initialize()) != srs_success) { return srs_error_wrap(err, "rtc sources"); @@ -1319,12 +1305,10 @@ srs_error_t SrsServer::listen() } } -#ifdef SRS_SRT // Listen MPEG-TS over SRT. if ((err = listen_srt_mpegts()) != srs_success) { return srs_error_wrap(err, "srt mpegts listen"); } -#endif // Listen WebRTC UDP. if ((err = listen_rtc_udp()) != srs_success) { @@ -1794,13 +1778,11 @@ void SrsServer::resample_kbps() continue; } -#ifdef SRS_SRT SrsMpegtsSrtConn *srt = dynamic_cast(c); if (srt) { stat->kbps_add_delta(c->get_id().c_str(), srt->delta()); continue; } -#endif SrsRtcConnection *rtc = dynamic_cast(c); if (rtc) { @@ -1816,7 +1798,6 @@ void SrsServer::resample_kbps() stat->kbps_sample(); } -#ifdef SRS_SRT srs_error_t SrsServer::listen_srt_mpegts() { srs_error_t err = srs_success; @@ -1913,7 +1894,6 @@ srs_error_t SrsServer::srt_fd_to_resource(srs_srt_t srt_fd, ISrsResource **pr) return err; } -#endif srs_error_t SrsServer::listen_rtc_udp() { diff --git a/trunk/src/app/srs_app_server.hpp b/trunk/src/app/srs_app_server.hpp index 8f256fb11..32678b326 100644 --- a/trunk/src/app/srs_app_server.hpp +++ b/trunk/src/app/srs_app_server.hpp @@ -21,10 +21,8 @@ #include #include -#ifdef SRS_SRT #include #include -#endif class SrsAsyncCallWorker; class SrsUdpMuxListener; @@ -194,10 +192,8 @@ private: // Stream Caster for GB28181. SrsGbListener *stream_caster_gb28181_; #endif -#ifdef SRS_SRT // SRT acceptors for MPEG-TS over SRT. std::vector srt_acceptors_; -#endif // WebRTC UDP listeners for RTC server functionality. std::vector rtc_listeners_; // WebRTC async call worker for non-blocking operations. @@ -293,13 +289,11 @@ private: // Resample the server kbs. virtual void resample_kbps(); -#ifdef SRS_SRT // SRT-related methods virtual srs_error_t listen_srt_mpegts(); virtual void close_srt_listeners(); virtual srs_error_t accept_srt_client(srs_srt_t srt_fd); virtual srs_error_t srt_fd_to_resource(srs_srt_t srt_fd, ISrsResource **pr); -#endif // WebRTC-related methods virtual srs_error_t listen_rtc_udp(); diff --git a/trunk/src/app/srs_app_srt_server.cpp b/trunk/src/app/srs_app_srt_server.cpp index 826c12e1b..eaa83f57c 100644 --- a/trunk/src/app/srs_app_srt_server.cpp +++ b/trunk/src/app/srs_app_srt_server.cpp @@ -15,9 +15,7 @@ using namespace std; #include #include -#ifdef SRS_SRT SrsSrtEventLoop *_srt_eventloop = NULL; -#endif SrsSrtAcceptor::SrsSrtAcceptor(ISrsSrtClientHandler *srt_handler) { diff --git a/trunk/src/core/srs_core_version7.hpp b/trunk/src/core/srs_core_version7.hpp index 09ee946e4..9396e81cd 100644 --- a/trunk/src/core/srs_core_version7.hpp +++ b/trunk/src/core/srs_core_version7.hpp @@ -9,6 +9,6 @@ #define VERSION_MAJOR 7 #define VERSION_MINOR 0 -#define VERSION_REVISION 68 +#define VERSION_REVISION 69 #endif \ No newline at end of file diff --git a/trunk/src/kernel/srs_kernel_kbps.cpp b/trunk/src/kernel/srs_kernel_kbps.cpp index 2db3092ca..6a7b4d985 100644 --- a/trunk/src/kernel/srs_kernel_kbps.cpp +++ b/trunk/src/kernel/srs_kernel_kbps.cpp @@ -111,3 +111,21 @@ srs_utime_t SrsWallClock::now() } SrsWallClock *_srs_clock = NULL; + +#if defined(SRS_DEBUG) && defined(SRS_DEBUG_STATS) +SrsPps *_srs_pps_epoll = NULL; +SrsPps *_srs_pps_epoll_zero = NULL; +SrsPps *_srs_pps_epoll_shake = NULL; +SrsPps *_srs_pps_epoll_spin = NULL; + +SrsPps *_srs_pps_sched_160ms = NULL; +SrsPps *_srs_pps_sched_s = NULL; +SrsPps *_srs_pps_sched_15ms = NULL; +SrsPps *_srs_pps_sched_20ms = NULL; +SrsPps *_srs_pps_sched_25ms = NULL; +SrsPps *_srs_pps_sched_30ms = NULL; +SrsPps *_srs_pps_sched_35ms = NULL; +SrsPps *_srs_pps_sched_40ms = NULL; +SrsPps *_srs_pps_sched_80ms = NULL; +#endif + diff --git a/trunk/src/main/srs_main_server.cpp b/trunk/src/main/srs_main_server.cpp index 07f88923f..fcf53d464 100644 --- a/trunk/src/main/srs_main_server.cpp +++ b/trunk/src/main/srs_main_server.cpp @@ -34,20 +34,16 @@ using namespace std; #include #include #include +#include #include +#include #include #include #include #include #include #include - -#include - -#ifdef SRS_SRT -#include #include -#endif // pre-declare srs_error_t run_directly_or_daemon(); @@ -269,7 +265,7 @@ void show_macro_features() ss << ", dash:" << "on"; ss << ", hls:" << srs_strconv_format_bool(true); ss << ", hds:" << srs_strconv_format_bool(SRS_HDS_BOOL); - ss << ", srt:" << srs_strconv_format_bool(SRS_SRT_BOOL); + ss << ", srt:" << srs_strconv_format_bool(true); // hc(http callback) ss << ", hc:" << srs_strconv_format_bool(true); // ha(http api) diff --git a/trunk/src/utest/srs_utest.cpp b/trunk/src/utest/srs_utest.cpp index 56eafb569..3f66bca55 100644 --- a/trunk/src/utest/srs_utest.cpp +++ b/trunk/src/utest/srs_utest.cpp @@ -19,10 +19,8 @@ using namespace std; #include #include -#ifdef SRS_SRT #include #include -#endif // Temporary disk config. std::string _srs_tmp_file_prefix = "/tmp/srs-utest-"; @@ -44,13 +42,11 @@ const char *_srs_binary = NULL; #include -#ifdef SRS_SRT static void srs_srt_utest_null_log_handler(void *opaque, int level, const char *file, int line, const char *area, const char *message) { // srt null log handler, do no print any log. } -#endif // Initialize global settings. srs_error_t prepare_main() @@ -73,7 +69,6 @@ srs_error_t prepare_main() srs_freep(_srs_context); _srs_context = new SrsThreadContext(); -#ifdef SRS_SRT if ((err = srs_srt_log_initialize()) != srs_success) { return srs_error_wrap(err, "srt log initialize"); } @@ -88,7 +83,6 @@ srs_error_t prepare_main() if ((err = _srt_eventloop->start()) != srs_success) { return srs_error_wrap(err, "srt poller start"); } -#endif return err; }