1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-03-09 15:49:59 +00:00

migarate from winlinvip to srs org

This commit is contained in:
winlin 2015-04-29 17:06:32 +08:00
parent b3bd007f0d
commit 115daa3cc1
117 changed files with 323 additions and 323 deletions

View file

@ -381,14 +381,14 @@ if [ $SRS_EXPORT_LIBRTMP_PROJECT = NO ]; then
_ST_MAKE=darwin-debug && _ST_EXTRA_CFLAGS="EXTRA_CFLAGS=-DMD_HAVE_KQUEUE" _ST_MAKE=darwin-debug && _ST_EXTRA_CFLAGS="EXTRA_CFLAGS=-DMD_HAVE_KQUEUE"
fi fi
# memory leak for linux-optimized # memory leak for linux-optimized
# @see: https://github.com/winlinvip/simple-rtmp-server/issues/197 # @see: https://github.com/simple-rtmp-server/srs/issues/197
if [ $SRS_EMBEDED_CPU = YES ]; then if [ $SRS_EMBEDED_CPU = YES ]; then
# ok, arm specified, if the flag filed does not exists, need to rebuild. # ok, arm specified, if the flag filed does not exists, need to rebuild.
if [[ -f ${SRS_OBJS}/_flag.st.arm.tmp && -f ${SRS_OBJS}/st/libst.a ]]; then if [[ -f ${SRS_OBJS}/_flag.st.arm.tmp && -f ${SRS_OBJS}/st/libst.a ]]; then
echo "st-1.9t for arm is ok."; echo "st-1.9t for arm is ok.";
else else
# TODO: FIXME: patch the bug. # TODO: FIXME: patch the bug.
# patch st for arm, @see: https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SrsLinuxArm#st-arm-bug-fix # patch st for arm, @see: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SrsLinuxArm#st-arm-bug-fix
echo "build st-1.9t for arm"; echo "build st-1.9t for arm";
( (
rm -rf ${SRS_OBJS}/st-1.9 && cd ${SRS_OBJS} && rm -rf ${SRS_OBJS}/st-1.9 && cd ${SRS_OBJS} &&

View file

@ -97,7 +97,7 @@ SRS_SINGLE_LIBRTMP_COMPILE='gcc example.c srs_librtmp.cpp -g -O0 -lstdc++ -o exa
cat << END >$FILE cat << END >$FILE
/** /**
# Example to use srs-librtmp # Example to use srs-librtmp
# see: https://github.com/winlinvip/simple-rtmp-server/wiki/v2_CN_SrsLibrtmp # see: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_SrsLibrtmp
${SRS_SINGLE_LIBRTMP_COMPILE} ${SRS_SINGLE_LIBRTMP_COMPILE}
*/ */
#include <stdio.h> #include <stdio.h>

View file

@ -79,7 +79,7 @@ SRS_MIPS_UBUNTU12=NO
SRS_DEV=NO SRS_DEV=NO
# dev, open main server feature for dev, no utest/research/librtmp # dev, open main server feature for dev, no utest/research/librtmp
SRS_FAST_DEV=NO SRS_FAST_DEV=NO
# demo, for the demo of srs, @see: https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SampleDemo # demo, for the demo of srs, @see: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleDemo
SRS_DEMO=NO SRS_DEMO=NO
# raspberry-pi, open hls/ssl/static # raspberry-pi, open hls/ssl/static
SRS_PI=NO SRS_PI=NO
@ -182,7 +182,7 @@ Presets:
--disable-all disable all features, only support vp6 RTMP. --disable-all disable all features, only support vp6 RTMP.
--dev for dev, open all features, no nginx/gperf/gprof/arm. --dev for dev, open all features, no nginx/gperf/gprof/arm.
--fast-dev for dev fast compile, the RTMP server, without librtmp/utest/research. --fast-dev for dev fast compile, the RTMP server, without librtmp/utest/research.
--demo for srs demo, @see: https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SampleDemo --demo for srs demo, @see: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleDemo
--full enable all features, no gperf/gprof/arm. --full enable all features, no gperf/gprof/arm.
Conflicts: Conflicts:

View file

@ -35,7 +35,7 @@ BLACK="\\${BLACK}"
echo -e "\${GREEN}build summary:\${BLACK}" echo -e "\${GREEN}build summary:\${BLACK}"
echo -e " \${BLACK}+------------------------------------------------------------------------------------\${BLACK}" echo -e " \${BLACK}+------------------------------------------------------------------------------------\${BLACK}"
echo -e " |${SrsGperfSummaryColor}gperf @see: https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_GPERF\${BLACK}" echo -e " |${SrsGperfSummaryColor}gperf @see: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_GPERF\${BLACK}"
echo -e " | ${SrsGperfMCSummaryColor}gmc @see: http://google-perftools.googlecode.com/svn/trunk/doc/heap_checker.html\${BLACK}" echo -e " | ${SrsGperfMCSummaryColor}gmc @see: http://google-perftools.googlecode.com/svn/trunk/doc/heap_checker.html\${BLACK}"
echo -e " | ${SrsGperfMCSummaryColor}gmc: gperf memory check\${BLACK}" echo -e " | ${SrsGperfMCSummaryColor}gmc: gperf memory check\${BLACK}"
echo -e " | ${SrsGperfMCSummaryColor}env PPROF_PATH=./objs/pprof HEAPCHECK=normal ./objs/srs -c conf/console.conf # start gmc\${BLACK}" echo -e " | ${SrsGperfMCSummaryColor}env PPROF_PATH=./objs/pprof HEAPCHECK=normal ./objs/srs -c conf/console.conf # start gmc\${BLACK}"
@ -51,7 +51,7 @@ echo -e " | ${SrsGperfCPSummaryColor}rm -f gperf.srs.gcp*; ./obj
echo -e " | ${SrsGperfCPSummaryColor}killall -2 srs # or CTRL+C to stop gcp\${BLACK}" echo -e " | ${SrsGperfCPSummaryColor}killall -2 srs # or CTRL+C to stop gcp\${BLACK}"
echo -e " | ${SrsGperfCPSummaryColor}./objs/pprof --text objs/srs gperf.srs.gcp* # to analysis cpu profile\${BLACK}" echo -e " | ${SrsGperfCPSummaryColor}./objs/pprof --text objs/srs gperf.srs.gcp* # to analysis cpu profile\${BLACK}"
echo -e " \${BLACK}+------------------------------------------------------------------------------------\${BLACK}" echo -e " \${BLACK}+------------------------------------------------------------------------------------\${BLACK}"
echo -e " |${SrsGprofSummaryColor}gprof @see: https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_GPROF\${BLACK}" echo -e " |${SrsGprofSummaryColor}gprof @see: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_GPROF\${BLACK}"
echo -e " |${SrsGprofSummaryColor}gprof: GNU profile tool, @see: http://www.cs.utah.edu/dept/old/texinfo/as/gprof.html\${BLACK}" echo -e " |${SrsGprofSummaryColor}gprof: GNU profile tool, @see: http://www.cs.utah.edu/dept/old/texinfo/as/gprof.html\${BLACK}"
echo -e " | ${SrsGprofSummaryColor}rm -f gmon.out; ./objs/srs -c conf/console.conf # start gprof\${BLACK}" echo -e " | ${SrsGprofSummaryColor}rm -f gmon.out; ./objs/srs -c conf/console.conf # start gprof\${BLACK}"
echo -e " | ${SrsGprofSummaryColor}killall -2 srs # or CTRL+C to stop gprof\${BLACK}" echo -e " | ${SrsGprofSummaryColor}killall -2 srs # or CTRL+C to stop gprof\${BLACK}"
@ -59,7 +59,7 @@ echo -e " | ${SrsGprofSummaryColor}gprof -b ./objs/srs gmon.out > gprof.
echo -e " \${BLACK}+------------------------------------------------------------------------------------\${BLACK}" echo -e " \${BLACK}+------------------------------------------------------------------------------------\${BLACK}"
echo -e " |${SrsUtestSummaryColor}utest: ./objs/srs_utest, the utest for srs\${BLACK}" echo -e " |${SrsUtestSummaryColor}utest: ./objs/srs_utest, the utest for srs\${BLACK}"
echo -e " \${BLACK}+------------------------------------------------------------------------------------\${BLACK}" echo -e " \${BLACK}+------------------------------------------------------------------------------------\${BLACK}"
echo -e " |${SrsLibrtmpSummaryColor}librtmp @see: https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SrsLibrtmp\${BLACK}" echo -e " |${SrsLibrtmpSummaryColor}librtmp @see: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SrsLibrtmp\${BLACK}"
echo -e " |${SrsLibrtmpSummaryColor}librtmp: ./objs/include, ./objs/lib, the srs-librtmp library\${BLACK}" echo -e " |${SrsLibrtmpSummaryColor}librtmp: ./objs/include, ./objs/lib, the srs-librtmp library\${BLACK}"
echo -e " | ${SrsLibrtmpSummaryColor}simple handshake: publish/play stream with simple handshake to server\${BLACK}" echo -e " | ${SrsLibrtmpSummaryColor}simple handshake: publish/play stream with simple handshake to server\${BLACK}"
echo -e " | ${SrsLibrtmpSSLSummaryColor}complex handshake: it's not required for client, recommend disable it\${BLACK}" echo -e " | ${SrsLibrtmpSSLSummaryColor}complex handshake: it's not required for client, recommend disable it\${BLACK}"
@ -70,38 +70,38 @@ echo -e " | ${SrsLibrtmpSummaryColor}librtmp-sample: ./research/librtmp/
echo -e " | ${SrsLibrtmpSummaryColor}librtmp-sample: ./research/librtmp/objs/srs_bandwidth_check\${BLACK}" echo -e " | ${SrsLibrtmpSummaryColor}librtmp-sample: ./research/librtmp/objs/srs_bandwidth_check\${BLACK}"
echo -e " \${BLACK}+------------------------------------------------------------------------------------\${BLACK}" echo -e " \${BLACK}+------------------------------------------------------------------------------------\${BLACK}"
echo -e " |${SrsResearchSummaryColor}research: ./objs/research, api server, players, ts info, librtmp.\${BLACK}" echo -e " |${SrsResearchSummaryColor}research: ./objs/research, api server, players, ts info, librtmp.\${BLACK}"
echo -e " | ${SrsResearchSummaryColor} @see https://github.com/winlinvip/simple-rtmp-server/wiki/v2_CN_SrsLibrtmp#srs-librtmp-examples\${BLACK}" echo -e " | ${SrsResearchSummaryColor} @see https://github.com/simple-rtmp-server/srs/wiki/v2_CN_SrsLibrtmp#srs-librtmp-examples\${BLACK}"
echo -e " \${BLACK}+------------------------------------------------------------------------------------\${BLACK}" echo -e " \${BLACK}+------------------------------------------------------------------------------------\${BLACK}"
echo -e " |\${GREEN}tools: important tool, others @see https://github.com/winlinvip/simple-rtmp-server/wiki/v2_CN_SrsLibrtmp#srs-librtmp-examples\${BLACK}" echo -e " |\${GREEN}tools: important tool, others @see https://github.com/simple-rtmp-server/srs/wiki/v2_CN_SrsLibrtmp#srs-librtmp-examples\${BLACK}"
echo -e " | \${GREEN}./objs/srs_ingest_hls -i http://ossrs.net/live/livestream.m3u8 -y rtmp://127.0.0.1/live/livestream\${BLACK}" echo -e " | \${GREEN}./objs/srs_ingest_hls -i http://ossrs.net/live/livestream.m3u8 -y rtmp://127.0.0.1/live/livestream\${BLACK}"
echo -e " \${BLACK}+------------------------------------------------------------------------------------\${BLACK}" echo -e " \${BLACK}+------------------------------------------------------------------------------------\${BLACK}"
echo -e " |\${GREEN}server: ./objs/srs -c conf/srs.conf, start the srs server\${BLACK}" echo -e " |\${GREEN}server: ./objs/srs -c conf/srs.conf, start the srs server\${BLACK}"
echo -e " | ${SrsHlsSummaryColor}hls @see: https://github.com/winlinvip/simple-rtmp-server/wiki/v2_CN_DeliveryHLS\${BLACK}" echo -e " | ${SrsHlsSummaryColor}hls @see: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_DeliveryHLS\${BLACK}"
echo -e " | ${SrsHlsSummaryColor}hls: generate m3u8 and ts from rtmp stream\${BLACK}" echo -e " | ${SrsHlsSummaryColor}hls: generate m3u8 and ts from rtmp stream\${BLACK}"
echo -e " | ${SrsDvrSummaryColor}dvr @see: https://github.com/winlinvip/simple-rtmp-server/wiki/v2_CN_DVR\${BLACK}" echo -e " | ${SrsDvrSummaryColor}dvr @see: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_DVR\${BLACK}"
echo -e " | ${SrsDvrSummaryColor}dvr: record RTMP stream to flv files.\${BLACK}" echo -e " | ${SrsDvrSummaryColor}dvr: record RTMP stream to flv files.\${BLACK}"
echo -e " | ${SrsNginxSummaryColor}nginx @see: https://github.com/winlinvip/simple-rtmp-server/wiki/v2_CN_DeliveryHLS\${BLACK}" echo -e " | ${SrsNginxSummaryColor}nginx @see: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_DeliveryHLS\${BLACK}"
echo -e " | ${SrsNginxSummaryColor}nginx: delivery HLS stream by nginx\${BLACK}" echo -e " | ${SrsNginxSummaryColor}nginx: delivery HLS stream by nginx\${BLACK}"
echo -e " | ${SrsNginxSummaryColor}nginx: sudo ./objs/nginx/sbin/nginx\${BLACK}" echo -e " | ${SrsNginxSummaryColor}nginx: sudo ./objs/nginx/sbin/nginx\${BLACK}"
echo -e " | ${SrsSslSummaryColor}ssl @see: https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_RTMPHandshake\${BLACK}" echo -e " | ${SrsSslSummaryColor}ssl @see: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_RTMPHandshake\${BLACK}"
echo -e " | ${SrsSslSummaryColor}ssl: support RTMP complex handshake for client required, for instance, flash\${BLACK}" echo -e " | ${SrsSslSummaryColor}ssl: support RTMP complex handshake for client required, for instance, flash\${BLACK}"
echo -e " | ${SrsFfmpegSummaryColor}ffmpeg @see: https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_FFMPEG\${BLACK}" echo -e " | ${SrsFfmpegSummaryColor}ffmpeg @see: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_FFMPEG\${BLACK}"
echo -e " | ${SrsFfmpegSummaryColor}ffmpeg: transcode, mux, ingest tool\${BLACK}" echo -e " | ${SrsFfmpegSummaryColor}ffmpeg: transcode, mux, ingest tool\${BLACK}"
echo -e " | ${SrsFfmpegSummaryColor}ffmpeg: ./objs/ffmpeg/bin/ffmpeg\${BLACK}" echo -e " | ${SrsFfmpegSummaryColor}ffmpeg: ./objs/ffmpeg/bin/ffmpeg\${BLACK}"
echo -e " | ${SrsTranscodeSummaryColor}transcode @see: https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_FFMPEG\${BLACK}" echo -e " | ${SrsTranscodeSummaryColor}transcode @see: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_FFMPEG\${BLACK}"
echo -e " | ${SrsTranscodeSummaryColor}transcode: support transcoding RTMP stream\${BLACK}" echo -e " | ${SrsTranscodeSummaryColor}transcode: support transcoding RTMP stream\${BLACK}"
echo -e " | ${SrsIngestSummaryColor}ingest @see: https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_Ingest\${BLACK}" echo -e " | ${SrsIngestSummaryColor}ingest @see: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Ingest\${BLACK}"
echo -e " | ${SrsIngestSummaryColor}ingest: support ingest file/stream/device then push to SRS by RTMP stream\${BLACK}" echo -e " | ${SrsIngestSummaryColor}ingest: support ingest file/stream/device then push to SRS by RTMP stream\${BLACK}"
echo -e " | ${SrsHttpCallbackSummaryColor}http-callback @see: https://github.com/winlinvip/simple-rtmp-server/wiki/v2_CN_HTTPCallback\${BLACK}" echo -e " | ${SrsHttpCallbackSummaryColor}http-callback @see: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_HTTPCallback\${BLACK}"
echo -e " | ${SrsHttpCallbackSummaryColor}http-callback: support http callback for authentication and event injection\${BLACK}" echo -e " | ${SrsHttpCallbackSummaryColor}http-callback: support http callback for authentication and event injection\${BLACK}"
echo -e " | ${SrsHttpServerSummaryColor}http-server @see: https://github.com/winlinvip/simple-rtmp-server/wiki/v2_CN_HTTPServer\${BLACK}" echo -e " | ${SrsHttpServerSummaryColor}http-server @see: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_HTTPServer\${BLACK}"
echo -e " | ${SrsHttpServerSummaryColor}http-server: support http server to delivery http stream\${BLACK}" echo -e " | ${SrsHttpServerSummaryColor}http-server: support http server to delivery http stream\${BLACK}"
echo -e " | ${SrsHttpApiSummaryColor}http-api @see: https://github.com/winlinvip/simple-rtmp-server/wiki/v2_CN_HTTPApi\${BLACK}" echo -e " | ${SrsHttpApiSummaryColor}http-api @see: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_HTTPApi\${BLACK}"
echo -e " | ${SrsHttpApiSummaryColor}http-api: support http api to manage server\${BLACK}" echo -e " | ${SrsHttpApiSummaryColor}http-api: support http api to manage server\${BLACK}"
echo -e " | ${SrsStreamCasterSummaryColor}stream-caster @see: https://github.com/winlinvip/simple-rtmp-server/wiki/v2_CN_Streamer\${BLACK}" echo -e " | ${SrsStreamCasterSummaryColor}stream-caster @see: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_Streamer\${BLACK}"
echo -e " | ${SrsStreamCasterSummaryColor}stream-caster: start server to cast stream over other protocols.\${BLACK}" echo -e " | ${SrsStreamCasterSummaryColor}stream-caster: start server to cast stream over other protocols.\${BLACK}"
echo -e " \${BLACK}+------------------------------------------------------------------------------------\${BLACK}" echo -e " \${BLACK}+------------------------------------------------------------------------------------\${BLACK}"
echo -e "\${GREEN}binaries @see: https://github.com/winlinvip/simple-rtmp-server/wiki/v2_CN_Build\${BLACK}" echo -e "\${GREEN}binaries @see: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_Build\${BLACK}"
echo "You can:" echo "You can:"
echo " ./objs/srs -c conf/srs.conf" echo " ./objs/srs -c conf/srs.conf"
@ -123,6 +123,6 @@ echo -e "\${GREEN} objs/include/srs_librtmp.h\${BLACK}"
echo -e "\${GREEN} objs/lib/srs_librtmp.a\${BLACK}" echo -e "\${GREEN} objs/lib/srs_librtmp.a\${BLACK}"
echo -e "\${BLACK}Examples for srs-librtmp at:\${BLACK}" echo -e "\${BLACK}Examples for srs-librtmp at:\${BLACK}"
echo -e "\${GREEN} objs/research/librtmp\${BLACK}" echo -e "\${GREEN} objs/research/librtmp\${BLACK}"
echo -e "\${GREEN} Examples: https://github.com/winlinvip/simple-rtmp-server/wiki/v2_CN_SrsLibrtmp#srs-librtmp-examples\${BLACK}" echo -e "\${GREEN} Examples: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_SrsLibrtmp#srs-librtmp-examples\${BLACK}"
END END
fi fi

View file

@ -1,5 +1,5 @@
# the config for srs demo # the config for srs demo
# @see https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SampleDemo # @see https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleDemo
# @see full.conf for detail config. # @see full.conf for detail config.
listen 19350; listen 19350;

View file

@ -1,5 +1,5 @@
# the config for srs demo # the config for srs demo
# @see https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SampleDemo # @see https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleDemo
# @see full.conf for detail config. # @see full.conf for detail config.
listen 1935; listen 1935;

View file

@ -1,6 +1,6 @@
# the config for srs to dvr in custom path. # the config for srs to dvr in custom path.
# @see https://github.com/winlinvip/simple-rtmp-server/wiki/v2_CN_DVR#custom-path # @see https://github.com/simple-rtmp-server/srs/wiki/v2_CN_DVR#custom-path
# @see https://github.com/winlinvip/simple-rtmp-server/wiki/v2_EN_DVR#custom-path # @see https://github.com/simple-rtmp-server/srs/wiki/v2_EN_DVR#custom-path
# @see full.conf for detail config. # @see full.conf for detail config.
listen 1935; listen 1935;

View file

@ -1,5 +1,5 @@
# the config for srs to dvr in segment mode # the config for srs to dvr in segment mode
# @see https://github.com/winlinvip/simple-rtmp-server/wiki/v2_CN_DVR # @see https://github.com/simple-rtmp-server/srs/wiki/v2_CN_DVR
# @see full.conf for detail config. # @see full.conf for detail config.
listen 1935; listen 1935;

View file

@ -1,5 +1,5 @@
# the config for srs to dvr in session mode # the config for srs to dvr in session mode
# @see https://github.com/winlinvip/simple-rtmp-server/wiki/v2_CN_DVR # @see https://github.com/simple-rtmp-server/srs/wiki/v2_CN_DVR
# @see full.conf for detail config. # @see full.conf for detail config.
listen 1935; listen 1935;

View file

@ -1,5 +1,5 @@
# the config for srs origin-edge cluster # the config for srs origin-edge cluster
# @see https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_Edge # @see https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Edge
# @see full.conf for detail config. # @see full.conf for detail config.
listen 1935; listen 1935;

View file

@ -1,5 +1,5 @@
# the config for srs for token traverse authentication # the config for srs for token traverse authentication
# @see https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_DRM # @see https://github.com/simple-rtmp-server/srs/wiki/v1_CN_DRM
# @see full.conf for detail config. # @see full.conf for detail config.
listen 1935 listen 1935

View file

@ -1,5 +1,5 @@
# the config for srs use ffmpeg to transcode # the config for srs use ffmpeg to transcode
# @see https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SampleFFMPEG # @see https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleFFMPEG
# @see full.conf for detail config. # @see full.conf for detail config.
listen 1935; listen 1935;

View file

@ -1,5 +1,5 @@
# the config for srs to forward # the config for srs to forward
# @see https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SampleForward # @see https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleForward
# @see full.conf for detail config. # @see full.conf for detail config.
listen 1935; listen 1935;

View file

@ -1,5 +1,5 @@
# the config for srs to forward # the config for srs to forward
# @see https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SampleForward # @see https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleForward
# @see full.conf for detail config. # @see full.conf for detail config.
listen 19350; listen 19350;

View file

@ -151,7 +151,7 @@ http_server {
# Streamer sections # Streamer sections
############################################################################################# #############################################################################################
# the streamer cast stream from other protocol to SRS over RTMP. # the streamer cast stream from other protocol to SRS over RTMP.
# @see https://github.com/winlinvip/simple-rtmp-server/tree/develop#stream-architecture # @see https://github.com/simple-rtmp-server/srs/tree/develop#stream-architecture
stream_caster { stream_caster {
# whether stream caster is enabled. # whether stream caster is enabled.
# default: off # default: off
@ -208,7 +208,7 @@ vhost __defaultVhost__ {
# the security to allow or deny clients. # the security to allow or deny clients.
vhost security.srs.com { vhost security.srs.com {
# security for host to allow or deny clients. # security for host to allow or deny clients.
# @see https://github.com/winlinvip/simple-rtmp-server/issues/211 # @see https://github.com/simple-rtmp-server/srs/issues/211
security { security {
# whether enable the security for vhost. # whether enable the security for vhost.
# default: off # default: off
@ -241,10 +241,10 @@ vhost mrw.srs.com {
# for min latence mode: # for min latence mode:
# 1. disable the mr for vhost. # 1. disable the mr for vhost.
# 2. use timeout for cond wait for consumer queue. # 2. use timeout for cond wait for consumer queue.
# @see https://github.com/winlinvip/simple-rtmp-server/issues/257 # @see https://github.com/simple-rtmp-server/srs/issues/257
# default: off # default: off
min_latency off; min_latency off;
# about MR, read https://github.com/winlinvip/simple-rtmp-server/issues/241 # about MR, read https://github.com/simple-rtmp-server/srs/issues/241
mr { mr {
# whether enable the MR(merged-read) # whether enable the MR(merged-read)
# default: off # default: off
@ -346,8 +346,8 @@ vhost dvr.srs.com {
# dvr_path /data/[vhost]/[app]/[2006]/[01]/[stream]-[02]-[15].[04].[05].[999].flv; # dvr_path /data/[vhost]/[app]/[2006]/[01]/[stream]-[02]-[15].[04].[05].[999].flv;
# => # =>
# dvr_path /data/ossrs.net/live/2015/01/livestream-03-10.57.30.776.flv; # dvr_path /data/ossrs.net/live/2015/01/livestream-03-10.57.30.776.flv;
# @see https://github.com/winlinvip/simple-rtmp-server/wiki/v2_CN_DVR#custom-path # @see https://github.com/simple-rtmp-server/srs/wiki/v2_CN_DVR#custom-path
# @see https://github.com/winlinvip/simple-rtmp-server/wiki/v2_EN_DVR#custom-path # @see https://github.com/simple-rtmp-server/srs/wiki/v2_EN_DVR#custom-path
# segment,session apply it. # segment,session apply it.
# default: ./objs/nginx/html/[app]/[stream].[timestamp].flv # default: ./objs/nginx/html/[app]/[stream].[timestamp].flv
dvr_path ./objs/nginx/html/[app]/[stream].[timestamp].flv; dvr_path ./objs/nginx/html/[app]/[stream].[timestamp].flv;
@ -379,8 +379,8 @@ vhost dvr.srs.com {
# on_dvr, never config in here, should config in http_hooks. # on_dvr, never config in here, should config in http_hooks.
# for the dvr http callback, @see http_hooks.on_dvr of vhost hooks.callback.srs.com # for the dvr http callback, @see http_hooks.on_dvr of vhost hooks.callback.srs.com
# @read https://github.com/winlinvip/simple-rtmp-server/wiki/v2_CN_DVR#http-callback # @read https://github.com/simple-rtmp-server/srs/wiki/v2_CN_DVR#http-callback
# @read https://github.com/winlinvip/simple-rtmp-server/wiki/v2_EN_DVR#http-callback # @read https://github.com/simple-rtmp-server/srs/wiki/v2_EN_DVR#http-callback
} }
} }
@ -518,7 +518,7 @@ vhost with-hls.srs.com {
# the hls m3u8 target duration ratio, # the hls m3u8 target duration ratio,
# EXT-X-TARGETDURATION = hls_td_ratio * hls_fragment // init # EXT-X-TARGETDURATION = hls_td_ratio * hls_fragment // init
# EXT-X-TARGETDURATION = max(ts_duration, EXT-X-TARGETDURATION) // for each ts # EXT-X-TARGETDURATION = max(ts_duration, EXT-X-TARGETDURATION) // for each ts
# @see https://github.com/winlinvip/simple-rtmp-server/issues/304#issuecomment-74000081 # @see https://github.com/simple-rtmp-server/srs/issues/304#issuecomment-74000081
# default: 1.5 # default: 1.5
hls_td_ratio 1.5; hls_td_ratio 1.5;
# the audio overflow ratio. # the audio overflow ratio.
@ -534,7 +534,7 @@ vhost with-hls.srs.com {
# ignore, when error ignore and disable hls. # ignore, when error ignore and disable hls.
# disconnect, when error disconnect the publish connection. # disconnect, when error disconnect the publish connection.
# continue, when error ignore and continue output hls. # continue, when error ignore and continue output hls.
# @see https://github.com/winlinvip/simple-rtmp-server/issues/264 # @see https://github.com/simple-rtmp-server/srs/issues/264
# default: ignore # default: ignore
hls_on_error ignore; hls_on_error ignore;
# the hls storage: disk, ram or both. # the hls storage: disk, ram or both.
@ -572,8 +572,8 @@ vhost with-hls.srs.com {
# [999], repleace this const to current millisecond. # [999], repleace this const to current millisecond.
# [timestamp],replace this const to current UNIX timestamp in ms. # [timestamp],replace this const to current UNIX timestamp in ms.
# [seq], the sequence number of ts. # [seq], the sequence number of ts.
# @see https://github.com/winlinvip/simple-rtmp-server/wiki/v2_CN_DVR#custom-path # @see https://github.com/simple-rtmp-server/srs/wiki/v2_CN_DVR#custom-path
# @see https://github.com/winlinvip/simple-rtmp-server/wiki/v2_CN_DeliveryHLS#hls-config # @see https://github.com/simple-rtmp-server/srs/wiki/v2_CN_DeliveryHLS#hls-config
# default: [app]/[stream]-[seq].ts # default: [app]/[stream]-[seq].ts
hls_ts_file [app]/[stream]-[seq].ts; hls_ts_file [app]/[stream]-[seq].ts;
# whether use floor for the hls_ts_file path generation. # whether use floor for the hls_ts_file path generation.
@ -626,8 +626,8 @@ vhost with-hls.srs.com {
# on_hls, never config in here, should config in http_hooks. # on_hls, never config in here, should config in http_hooks.
# for the hls http callback, @see http_hooks.on_hls of vhost hooks.callback.srs.com # for the hls http callback, @see http_hooks.on_hls of vhost hooks.callback.srs.com
# @read https://github.com/winlinvip/simple-rtmp-server/wiki/v2_CN_DeliveryHLS#http-callback # @read https://github.com/simple-rtmp-server/srs/wiki/v2_CN_DeliveryHLS#http-callback
# @read https://github.com/winlinvip/simple-rtmp-server/wiki/v2_EN_DeliveryHLS#http-callback # @read https://github.com/simple-rtmp-server/srs/wiki/v2_EN_DeliveryHLS#http-callback
# on_hls_notify, never config in here, should config in http_hooks. # on_hls_notify, never config in here, should config in http_hooks.
# we support the variables to generate the notify url: # we support the variables to generate the notify url:
@ -635,8 +635,8 @@ vhost with-hls.srs.com {
# [stream], replace with the stream. # [stream], replace with the stream.
# [ts_url], replace with the ts url. # [ts_url], replace with the ts url.
# for the hls http callback, @see http_hooks.on_hls_notify of vhost hooks.callback.srs.com # for the hls http callback, @see http_hooks.on_hls_notify of vhost hooks.callback.srs.com
# @read https://github.com/winlinvip/simple-rtmp-server/wiki/v2_CN_DeliveryHLS#on-hls-notify # @read https://github.com/simple-rtmp-server/srs/wiki/v2_CN_DeliveryHLS#on-hls-notify
# @read https://github.com/winlinvip/simple-rtmp-server/wiki/v2_EN_DeliveryHLS#on-hls-notify # @read https://github.com/simple-rtmp-server/srs/wiki/v2_EN_DeliveryHLS#on-hls-notify
} }
} }
# the vhost with hls disabled. # the vhost with hls disabled.
@ -808,7 +808,7 @@ vhost debug.srs.com {
# it's strongly recommend to open the debug_srs_upnode, # it's strongly recommend to open the debug_srs_upnode,
# when connect to upnode, it will take the debug info, # when connect to upnode, it will take the debug info,
# for example, the id, source id, pid. # for example, the id, source id, pid.
# please see: https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SrsLog # please see: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SrsLog
# default: on # default: on
debug_srs_upnode on; debug_srs_upnode on;
} }

View file

@ -1,5 +1,5 @@
# the config for srs to delivery hds # the config for srs to delivery hds
# @see https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SampleHDS # @see https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleHDS
# @see full.conf for detail config. # @see full.conf for detail config.
listen 1935; listen 1935;

View file

@ -1,5 +1,5 @@
# the config for srs to delivery hls # the config for srs to delivery hls
# @see https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SampleHLS # @see https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleHLS
# @see full.conf for detail config. # @see full.conf for detail config.
listen 1935; listen 1935;

View file

@ -1,5 +1,5 @@
# the config for srs to remux rtmp to aac live stream. # the config for srs to remux rtmp to aac live stream.
# @see https://github.com/winlinvip/simple-rtmp-server/wiki/v2_CN_DeliveryHttpStream # @see https://github.com/simple-rtmp-server/srs/wiki/v2_CN_DeliveryHttpStream
# @see full.conf for detail config. # @see full.conf for detail config.
listen 1935; listen 1935;

View file

@ -1,5 +1,5 @@
# the config for srs to remux rtmp to flv live stream. # the config for srs to remux rtmp to flv live stream.
# @see https://github.com/winlinvip/simple-rtmp-server/wiki/v2_CN_DeliveryHttpStream # @see https://github.com/simple-rtmp-server/srs/wiki/v2_CN_DeliveryHttpStream
# @see full.conf for detail config. # @see full.conf for detail config.
listen 1935; listen 1935;

View file

@ -1,5 +1,5 @@
# the config for srs to delivery hls # the config for srs to delivery hls
# @see https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SampleHLS # @see https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleHLS
# @see full.conf for detail config. # @see full.conf for detail config.
listen 1935; listen 1935;

View file

@ -1,5 +1,5 @@
# the config for srs to remux rtmp to mp3 live stream. # the config for srs to remux rtmp to mp3 live stream.
# @see https://github.com/winlinvip/simple-rtmp-server/wiki/v2_CN_DeliveryHttpStream # @see https://github.com/simple-rtmp-server/srs/wiki/v2_CN_DeliveryHttpStream
# @see full.conf for detail config. # @see full.conf for detail config.
listen 1935; listen 1935;

View file

@ -1,5 +1,5 @@
# the config for srs to remux rtmp to ts live stream. # the config for srs to remux rtmp to ts live stream.
# @see https://github.com/winlinvip/simple-rtmp-server/wiki/v2_CN_DeliveryHttpStream # @see https://github.com/simple-rtmp-server/srs/wiki/v2_CN_DeliveryHttpStream
# @see full.conf for detail config. # @see full.conf for detail config.
listen 1935; listen 1935;

View file

@ -1,5 +1,5 @@
# use ffmpeg to ingest file/stream/device to SRS # use ffmpeg to ingest file/stream/device to SRS
# @see https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SampleIngest # @see https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleIngest
# @see full.conf for detail config. # @see full.conf for detail config.
listen 1935; listen 1935;

View file

@ -1,5 +1,5 @@
# the config for srs origin-edge cluster # the config for srs origin-edge cluster
# @see https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_Edge # @see https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Edge
# @see full.conf for detail config. # @see full.conf for detail config.
listen 19350; listen 19350;

View file

@ -1,6 +1,6 @@
# push MPEG-TS over UDP to SRS. # push MPEG-TS over UDP to SRS.
# @see https://github.com/winlinvip/simple-rtmp-server/wiki/v2_CN_Streamer#push-mpeg-ts-over-udp # @see https://github.com/simple-rtmp-server/srs/wiki/v2_CN_Streamer#push-mpeg-ts-over-udp
# @see https://github.com/winlinvip/simple-rtmp-server/issues/250#issuecomment-72321769 # @see https://github.com/simple-rtmp-server/srs/issues/250#issuecomment-72321769
# @see full.conf for detail config. # @see full.conf for detail config.
listen 1935; listen 1935;

View file

@ -1,6 +1,6 @@
# push MPEG-TS over UDP to SRS. # push MPEG-TS over UDP to SRS.
# @see https://github.com/winlinvip/simple-rtmp-server/wiki/v2_CN_Streamer#push-mpeg-ts-over-udp # @see https://github.com/simple-rtmp-server/srs/wiki/v2_CN_Streamer#push-mpeg-ts-over-udp
# @see https://github.com/winlinvip/simple-rtmp-server/issues/250#issuecomment-72321769 # @see https://github.com/simple-rtmp-server/srs/issues/250#issuecomment-72321769
# @see full.conf for detail config. # @see full.conf for detail config.
listen 1935; listen 1935;

View file

@ -1,5 +1,5 @@
# the config for srs to delivery hls # the config for srs to delivery hls
# @see https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SampleHLS # @see https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleHLS
# @see full.conf for detail config. # @see full.conf for detail config.
listen 1935; listen 1935;

View file

@ -1,5 +1,5 @@
# the config for srs to delivery realtime RTMP stream # the config for srs to delivery realtime RTMP stream
# @see https://github.com/winlinvip/simple-rtmp-server/wiki/v2_CN_SampleRealtime # @see https://github.com/simple-rtmp-server/srs/wiki/v2_CN_SampleRealtime
# @see full.conf for detail config. # @see full.conf for detail config.
listen 1935; listen 1935;

View file

@ -1,5 +1,5 @@
# the config for srs to delivery RTMP # the config for srs to delivery RTMP
# @see https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SampleRTMP # @see https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleRTMP
# @see full.conf for detail config. # @see full.conf for detail config.
listen 1935; listen 1935;

View file

@ -1,5 +1,5 @@
# security config for srs, allow play and deny publish. # security config for srs, allow play and deny publish.
# @see https://github.com/winlinvip/simple-rtmp-server/issues/211#issuecomment-68507035 # @see https://github.com/simple-rtmp-server/srs/issues/211#issuecomment-68507035
# @see full.conf for detail config. # @see full.conf for detail config.
listen 1935; listen 1935;

View file

@ -1,5 +1,5 @@
# the config for srs to delivery hls # the config for srs to delivery hls
# @see https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SampleHLS # @see https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleHLS
# @see full.conf for detail config. # @see full.conf for detail config.
listen 1935; listen 1935;

View file

@ -1,5 +1,5 @@
# the config for srs origin-edge cluster # the config for srs origin-edge cluster
# @see https://github.com/winlinvip/simple-rtmp-server/wiki/v2_CN_Edge#transform-vhost # @see https://github.com/simple-rtmp-server/srs/wiki/v2_CN_Edge#transform-vhost
# @see full.conf for detail config. # @see full.conf for detail config.
listen 1935; listen 1935;

4
trunk/configure vendored
View file

@ -412,7 +412,7 @@ install-api: install
@echo " sudo ln -sf \$(SRS_PREFIX)/etc/init.d/srs-api /etc/init.d/srs-api" @echo " sudo ln -sf \$(SRS_PREFIX)/etc/init.d/srs-api /etc/init.d/srs-api"
@echo " /etc/init.d/srs-api start" @echo " /etc/init.d/srs-api start"
@echo " http://\$(shell bash auto/local_ip.sh):8085" @echo " http://\$(shell bash auto/local_ip.sh):8085"
@echo "@see: https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_LinuxService" @echo "@see: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_LinuxService"
install: install:
@echo "mkdir \$(__REAL_INSTALL)" @echo "mkdir \$(__REAL_INSTALL)"
@ -434,7 +434,7 @@ install:
@echo "srs installed, to link and start srs:" @echo "srs installed, to link and start srs:"
@echo " sudo ln -sf \$(SRS_PREFIX)/etc/init.d/srs /etc/init.d/srs" @echo " sudo ln -sf \$(SRS_PREFIX)/etc/init.d/srs /etc/init.d/srs"
@echo " /etc/init.d/srs start" @echo " /etc/init.d/srs start"
@echo "@see: https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_LinuxService" @echo "@see: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_LinuxService"
END END
fi fi

View file

@ -7,7 +7,7 @@
# Default-Start: 2 3 4 5 # Default-Start: 2 3 4 5
# Default-Stop: 0 1 6 # Default-Stop: 0 1 6
# Short-Description: simple-rtmp-server(srs) # Short-Description: simple-rtmp-server(srs)
# Description: https://github.com/winlinvip/simple-rtmp-server # Description: https://github.com/simple-rtmp-server/srs
### END INIT INFO ### END INIT INFO
# the config of ROOT, user must modify it when start srs from other directory, # the config of ROOT, user must modify it when start srs from other directory,

View file

@ -7,7 +7,7 @@
# Default-Start: 2 3 4 5 # Default-Start: 2 3 4 5
# Default-Stop: 0 1 6 # Default-Stop: 0 1 6
# Short-Description: simple-rtmp-server-api(srs-api) # Short-Description: simple-rtmp-server-api(srs-api)
# Description: https://github.com/winlinvip/simple-rtmp-server # Description: https://github.com/simple-rtmp-server/srs
### END INIT INFO ### END INIT INFO
# the config of ROOT, user must modify it when start srs from other directory, # the config of ROOT, user must modify it when start srs from other directory,

View file

@ -7,7 +7,7 @@
# Default-Start: 2 3 4 5 # Default-Start: 2 3 4 5
# Default-Stop: 0 1 6 # Default-Stop: 0 1 6
# Short-Description: simple-rtmp-server(srs) # Short-Description: simple-rtmp-server(srs)
# Description: https://github.com/winlinvip/simple-rtmp-server # Description: https://github.com/simple-rtmp-server/srs
### END INIT INFO ### END INIT INFO
# the config of ROOT, user must modify it when start srs from other directory, # the config of ROOT, user must modify it when start srs from other directory,

View file

@ -7,7 +7,7 @@
# Default-Start: 2 3 4 5 # Default-Start: 2 3 4 5
# Default-Stop: 0 1 6 # Default-Stop: 0 1 6
# Short-Description: simple-rtmp-server(srs) # Short-Description: simple-rtmp-server(srs)
# Description: https://github.com/winlinvip/simple-rtmp-server # Description: https://github.com/simple-rtmp-server/srs
### END INIT INFO ### END INIT INFO
# the config of ROOT, user must modify it when start srs from other directory, # the config of ROOT, user must modify it when start srs from other directory,

View file

@ -28,31 +28,31 @@ ELSE(NOT EXISTS ${PROJECT_SOURCE_DIR}/../../objs/st/libst.a)
MESSAGE("srs_libs is ok") MESSAGE("srs_libs is ok")
ENDIF(NOT EXISTS ${PROJECT_SOURCE_DIR}/../../objs/st/libst.a) ENDIF(NOT EXISTS ${PROJECT_SOURCE_DIR}/../../objs/st/libst.a)
MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_IDE#jetbrains") MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/simple-rtmp-server/srs/wiki/v1_CN_IDE#jetbrains")
MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_IDE#jetbrains") MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/simple-rtmp-server/srs/wiki/v1_CN_IDE#jetbrains")
MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_IDE#jetbrains") MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/simple-rtmp-server/srs/wiki/v1_CN_IDE#jetbrains")
MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_IDE#jetbrains") MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/simple-rtmp-server/srs/wiki/v1_CN_IDE#jetbrains")
MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_IDE#jetbrains") MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/simple-rtmp-server/srs/wiki/v1_CN_IDE#jetbrains")
MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_IDE#jetbrains") MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/simple-rtmp-server/srs/wiki/v1_CN_IDE#jetbrains")
MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_IDE#jetbrains") MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/simple-rtmp-server/srs/wiki/v1_CN_IDE#jetbrains")
MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_IDE#jetbrains") MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/simple-rtmp-server/srs/wiki/v1_CN_IDE#jetbrains")
MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_IDE#jetbrains") MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/simple-rtmp-server/srs/wiki/v1_CN_IDE#jetbrains")
MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_IDE#jetbrains") MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/simple-rtmp-server/srs/wiki/v1_CN_IDE#jetbrains")
MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_IDE#jetbrains") MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/simple-rtmp-server/srs/wiki/v1_CN_IDE#jetbrains")
MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_IDE#jetbrains") MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/simple-rtmp-server/srs/wiki/v1_CN_IDE#jetbrains")
MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_IDE#jetbrains") MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/simple-rtmp-server/srs/wiki/v1_CN_IDE#jetbrains")
MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_IDE#jetbrains") MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/simple-rtmp-server/srs/wiki/v1_CN_IDE#jetbrains")
MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_IDE#jetbrains") MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/simple-rtmp-server/srs/wiki/v1_CN_IDE#jetbrains")
MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_IDE#jetbrains") MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/simple-rtmp-server/srs/wiki/v1_CN_IDE#jetbrains")
MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_IDE#jetbrains") MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/simple-rtmp-server/srs/wiki/v1_CN_IDE#jetbrains")
MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_IDE#jetbrains") MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/simple-rtmp-server/srs/wiki/v1_CN_IDE#jetbrains")
MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_IDE#jetbrains") MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/simple-rtmp-server/srs/wiki/v1_CN_IDE#jetbrains")
MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_IDE#jetbrains") MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/simple-rtmp-server/srs/wiki/v1_CN_IDE#jetbrains")
MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_IDE#jetbrains") MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/simple-rtmp-server/srs/wiki/v1_CN_IDE#jetbrains")
MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_IDE#jetbrains") MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/simple-rtmp-server/srs/wiki/v1_CN_IDE#jetbrains")
MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_IDE#jetbrains") MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/simple-rtmp-server/srs/wiki/v1_CN_IDE#jetbrains")
MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_IDE#jetbrains") MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/simple-rtmp-server/srs/wiki/v1_CN_IDE#jetbrains")
MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_IDE#jetbrains") MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/simple-rtmp-server/srs/wiki/v1_CN_IDE#jetbrains")
MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_IDE#jetbrains") MESSAGE(STATUS "only for jetbrains IDE, @see https://github.com/simple-rtmp-server/srs/wiki/v1_CN_IDE#jetbrains")
MESSAGE(STATUS "use ./configure && make, @see https://github.com/winlinvip/simple-rtmp-server#usage") MESSAGE(STATUS "use ./configure && make, @see https://github.com/simple-rtmp-server/srs#usage")

View file

@ -1282,7 +1282,7 @@ if len(sys.argv) <= 1:
print "For example:" print "For example:"
print " python %s 8085"%(sys.argv[0]) print " python %s 8085"%(sys.argv[0])
print "" print ""
print "See also: https://github.com/winlinvip/simple-rtmp-server" print "See also: https://github.com/simple-rtmp-server/srs"
sys.exit(1) sys.exit(1)
# parse port from user options. # parse port from user options.

View file

@ -44,7 +44,7 @@
<div class="container"> <div class="container">
<hr> <hr>
<footer> <footer>
<p><a href="https://github.com/winlinvip/simple-rtmp-server">SRS Team &copy; 2013</a></p> <p><a href="https://github.com/simple-rtmp-server/srs">SRS Team &copy; 2013</a></p>
</footer> </footer>
</div> </div>
</body> </body>

View file

@ -1,5 +1,5 @@
/* /*
# see: https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SrsLinuxArm # see: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SrsLinuxArm
g++ -g -O0 -o jmp jmp.cpp g++ -g -O0 -o jmp jmp.cpp
arm-linux-gnueabi-g++ -o jmp jmp.cpp -static arm-linux-gnueabi-g++ -o jmp jmp.cpp -static
arm-linux-gnueabi-strip jmp arm-linux-gnueabi-strip jmp

View file

@ -1,6 +1,6 @@
/* /*
# see: https://github.com/winlinvip/simple-rtmp-server/issues/190 # see: https://github.com/simple-rtmp-server/srs/issues/190
# see: https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SrsLinuxArm # see: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SrsLinuxArm
g++ -g -O0 -o jmp_sp jmp_sp.cpp g++ -g -O0 -o jmp_sp jmp_sp.cpp
arm-linux-gnueabi-g++ -g -o jmp_sp jmp_sp.cpp -static arm-linux-gnueabi-g++ -g -o jmp_sp jmp_sp.cpp -static
arm-linux-gnueabi-strip jmp_sp arm-linux-gnueabi-strip jmp_sp

View file

@ -1,5 +1,5 @@
/* /*
# see: https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SrsLinuxArm # see: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SrsLinuxArm
arm-linux-gnueabi-g++ -o test test.cpp -static arm-linux-gnueabi-g++ -o test test.cpp -static
arm-linux-gnueabi-strip test arm-linux-gnueabi-strip test
*/ */

View file

@ -38,7 +38,7 @@ help:
@echo "Remark: srs Makefile will auto invoke this by --with/without-ssl, " @echo "Remark: srs Makefile will auto invoke this by --with/without-ssl, "
@echo " that is, if user specified ssl(by --with-ssl), srs will make this by 'make ssl'" @echo " that is, if user specified ssl(by --with-ssl), srs will make this by 'make ssl'"
@echo " that is, if user not use ssl(by --without-ssl), use 'make nossl'" @echo " that is, if user not use ssl(by --without-ssl), use 'make nossl'"
@echo " see: https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_v1_Build" @echo " see: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_v1_Build"
@echo "Remark: before make this sample, user must make the srs, with/without ssl" @echo "Remark: before make this sample, user must make the srs, with/without ssl"
clean: clean:

View file

@ -35,7 +35,7 @@ gcc srs_aac_raw_publish.c ../../objs/lib/srs_librtmp.a -g -O0 -lstdc++ -o srs_aa
#include "../../objs/include/srs_librtmp.h" #include "../../objs/include/srs_librtmp.h"
// https://github.com/winlinvip/simple-rtmp-server/issues/212#issuecomment-64145910 // https://github.com/simple-rtmp-server/srs/issues/212#issuecomment-64145910
int read_audio_frame(char* data, int size, char** pp, char** frame, int* frame_size) int read_audio_frame(char* data, int size, char** pp, char** frame, int* frame_size)
{ {
char* p = *pp; char* p = *pp;
@ -79,7 +79,7 @@ int main(int argc, char** argv)
printf("For example:\n"); printf("For example:\n");
printf(" %s ./audio.raw.aac rtmp://127.0.0.1:1935/live/livestream\n", argv[0]); printf(" %s ./audio.raw.aac rtmp://127.0.0.1:1935/live/livestream\n", argv[0]);
printf("Where the file: http://winlinvip.github.io/srs.release/3rdparty/audio.raw.aac\n"); printf("Where the file: http://winlinvip.github.io/srs.release/3rdparty/audio.raw.aac\n");
printf("See: https://github.com/winlinvip/simple-rtmp-server/issues/212\n"); printf("See: https://github.com/simple-rtmp-server/srs/issues/212\n");
exit(-1); exit(-1);
} }

View file

@ -35,7 +35,7 @@ gcc srs_audio_raw_publish.c ../../objs/lib/srs_librtmp.a -g -O0 -lstdc++ -o srs_
#include "../../objs/include/srs_librtmp.h" #include "../../objs/include/srs_librtmp.h"
// https://github.com/winlinvip/simple-rtmp-server/issues/212#issuecomment-63648892 // https://github.com/simple-rtmp-server/srs/issues/212#issuecomment-63648892
// allspace: // allspace:
// Take this file as an example: https://github.com/allspace/files/blob/master/srs.pcm // Take this file as an example: https://github.com/allspace/files/blob/master/srs.pcm
// It's captured using SDK callback method. I have filtered out h264 video, so it's audio only now. // It's captured using SDK callback method. I have filtered out h264 video, so it's audio only now.
@ -77,7 +77,7 @@ int main(int argc, char** argv)
printf("For example:\n"); printf("For example:\n");
printf(" %s ./audio.raw.pcm rtmp://127.0.0.1:1935/live/livestream\n", argv[0]); printf(" %s ./audio.raw.pcm rtmp://127.0.0.1:1935/live/livestream\n", argv[0]);
printf("Where the file: http://winlinvip.github.io/srs.release/3rdparty/audio.raw.pcm\n"); printf("Where the file: http://winlinvip.github.io/srs.release/3rdparty/audio.raw.pcm\n");
printf("See: https://github.com/winlinvip/simple-rtmp-server/issues/212\n"); printf("See: https://github.com/simple-rtmp-server/srs/issues/212\n");
exit(-1); exit(-1);
} }

View file

@ -89,7 +89,7 @@ int main(int argc, char** argv)
printf("For example:\n"); printf("For example:\n");
printf(" %s ./720p.h264.raw rtmp://127.0.0.1:1935/live/livestream\n", argv[0]); printf(" %s ./720p.h264.raw rtmp://127.0.0.1:1935/live/livestream\n", argv[0]);
printf("Where the file: http://winlinvip.github.io/srs.release/3rdparty/720p.h264.raw\n"); printf("Where the file: http://winlinvip.github.io/srs.release/3rdparty/720p.h264.raw\n");
printf("See: https://github.com/winlinvip/simple-rtmp-server/issues/66\n"); printf("See: https://github.com/simple-rtmp-server/srs/issues/66\n");
exit(-1); exit(-1);
} }

View file

@ -46,12 +46,12 @@ int main(int argc, char** argv)
} }
// warn it . // warn it .
// @see: https://github.com/winlinvip/simple-rtmp-server/issues/126 // @see: https://github.com/simple-rtmp-server/srs/issues/126
srs_human_trace("\033[33m%s\033[0m", srs_human_trace("\033[33m%s\033[0m",
"[warning] it's only a sample to use librtmp. " "[warning] it's only a sample to use librtmp. "
"please never use it to publish and test forward/transcode/edge/HLS whatever. " "please never use it to publish and test forward/transcode/edge/HLS whatever. "
"you should refer to this tool to use the srs-librtmp to publish the real media stream." "you should refer to this tool to use the srs-librtmp to publish the real media stream."
"read about: https://github.com/winlinvip/simple-rtmp-server/issues/126"); "read about: https://github.com/simple-rtmp-server/srs/issues/126");
srs_human_trace("rtmp url: %s", argv[1]); srs_human_trace("rtmp url: %s", argv[1]);
srs_rtmp_t rtmp = srs_rtmp_create(argv[1]); srs_rtmp_t rtmp = srs_rtmp_create(argv[1]);

View file

@ -56,7 +56,7 @@
<div class="container"> <div class="container">
<hr> <hr>
<footer> <footer>
<p><a href="https://github.com/winlinvip/simple-rtmp-server">SRS Team &copy; 2013</a></p> <p><a href="https://github.com/simple-rtmp-server/srs">SRS Team &copy; 2013</a></p>
</footer> </footer>
</div> </div>
</body> </body>

View file

@ -126,7 +126,7 @@
</div> </div>
<hr> <hr>
<footer> <footer>
<p><a href="https://github.com/winlinvip/simple-rtmp-server">SRS Team &copy; 2013</a></p> <p><a href="https://github.com/simple-rtmp-server/srs">SRS Team &copy; 2013</a></p>
</footer> </footer>
</div> </div>
</body> </body>

View file

@ -116,7 +116,7 @@
</div> </div>
<hr> <hr>
<footer> <footer>
<p><a href="https://github.com/winlinvip/simple-rtmp-server">SRS Team &copy; 2013</a></p> <p><a href="https://github.com/simple-rtmp-server/srs">SRS Team &copy; 2013</a></p>
</footer> </footer>
</div> </div>
</body> </body>

View file

@ -132,7 +132,7 @@
</div> </div>
<hr> <hr>
<footer> <footer>
<p><a href="https://github.com/winlinvip/simple-rtmp-server">SRS Team &copy; 2013</a></p> <p><a href="https://github.com/simple-rtmp-server/srs">SRS Team &copy; 2013</a></p>
</footer> </footer>
<div class="container"> <div class="container">
<div id="player"></div> <div id="player"></div>

View file

@ -781,7 +781,7 @@
</div> </div>
<hr/> <hr/>
<footer> <footer>
<p><a href="https://github.com/winlinvip/simple-rtmp-server">SRS Team &copy; 2013</a></p> <p><a href="https://github.com/simple-rtmp-server/srs">SRS Team &copy; 2013</a></p>
</footer> </footer>
</div> </div>
</body> </body>

View file

@ -306,7 +306,7 @@
<div class="container"> <div class="container">
<hr/> <hr/>
<span> <span>
注意:必须按照<a href="https://github.com/winlinvip/simple-rtmp-server/wiki/SampleDemo">SRS DEMO</a> 注意:必须按照<a href="https://github.com/simple-rtmp-server/srs/wiki/SampleDemo">SRS DEMO</a>
启动和设置服务器,下面所有的链接才能观看。 启动和设置服务器,下面所有的链接才能观看。
</span> </span>
<div class="accordion" id="main_accordion"> <div class="accordion" id="main_accordion">
@ -471,7 +471,7 @@
<div id="main_modal" class="modal hide fade"> <div id="main_modal" class="modal hide fade">
<div class="modal-header"> <div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3><a href="https://github.com/winlinvip/simple-rtmp-server">SrsPlayer</a></h3> <h3><a href="https://github.com/simple-rtmp-server/srs">SrsPlayer</a></h3>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<div id="player"></div> <div id="player"></div>
@ -535,7 +535,7 @@
</div> </div>
</div> </div>
<footer> <footer>
<p><a href="https://github.com/winlinvip/simple-rtmp-server">SRS Team &copy; 2013</a></p> <p><a href="https://github.com/simple-rtmp-server/srs">SRS Team &copy; 2013</a></p>
</footer> </footer>
</div> </div>
</body> </body>

View file

@ -460,7 +460,7 @@
</div> </div>
</div> </div>
<footer> <footer>
<p><a href="https://github.com/winlinvip/simple-rtmp-server">SRS Team &copy; 2013</a></p> <p><a href="https://github.com/simple-rtmp-server/srs">SRS Team &copy; 2013</a></p>
</footer> </footer>
</div> </div>
</body> </body>

View file

@ -45,7 +45,7 @@
<div class="container"> <div class="container">
<hr> <hr>
<footer> <footer>
<p><a href="https://github.com/winlinvip/simple-rtmp-server">SRS Team &copy; 2013</a></p> <p><a href="https://github.com/simple-rtmp-server/srs">SRS Team &copy; 2013</a></p>
</footer> </footer>
</div> </div>
</body> </body>

View file

@ -310,7 +310,7 @@ ST_HIDDEN void _st_epoll_dispatch(void)
if (_st_epoll_data->pid != getpid()) { if (_st_epoll_data->pid != getpid()) {
// WINLIN: remove it for bug introduced. // WINLIN: remove it for bug introduced.
// @see: https://github.com/winlinvip/simple-rtmp-server/issues/193 // @see: https://github.com/simple-rtmp-server/srs/issues/193
exit(-1); exit(-1);
} }

View file

@ -108,7 +108,7 @@ else
fi fi
echo "" echo ""
echo "see: https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_LinuxService" echo "see: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_LinuxService"
echo "install success, you can:" echo "install success, you can:"
echo -e "${GREEN} sudo /etc/init.d/srs start${BLACK}" echo -e "${GREEN} sudo /etc/init.d/srs start${BLACK}"
echo "srs root is ${INSTALL}" echo "srs root is ${INSTALL}"

View file

@ -108,7 +108,7 @@ fi
ok_msg "real os is ${os_name}-${os_major_version} ${os_release} ${os_machine}" ok_msg "real os is ${os_name}-${os_major_version} ${os_release} ${os_machine}"
# build srs # build srs
# @see https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_Build # @see https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Build
ok_msg "start build srs" ok_msg "start build srs"
if [ $ARM = YES ]; then if [ $ARM = YES ]; then
( (

View file

@ -52,4 +52,4 @@ echo -e "${GREEN}请在hosts中添加一行${BLACK}"
echo -e "${RED} $ip demo.srs.com${BLACK}" echo -e "${RED} $ip demo.srs.com${BLACK}"
echo -e "${GREEN}演示地址:${BLACK}" echo -e "${GREEN}演示地址:${BLACK}"
echo -e "${RED} http://$ip:$port${BLACK}" echo -e "${RED} http://$ip:$port${BLACK}"
echo -e "@see https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SampleDemo" echo -e "@see https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleDemo"

View file

@ -49,7 +49,7 @@ using namespace std;
using namespace _srs_internal; using namespace _srs_internal;
#define SRS_WIKI_URL_LOG "https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SrsLog" #define SRS_WIKI_URL_LOG "https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SrsLog"
// when user config an invalid value, macros to perfer true or false. // when user config an invalid value, macros to perfer true or false.
#define SRS_CONF_PERFER_FALSE(conf_arg) conf_arg == "on" #define SRS_CONF_PERFER_FALSE(conf_arg) conf_arg == "on"
@ -1650,7 +1650,7 @@ int SrsConfig::check_config()
int nb_canbe = max_open_files - nb_consumed_fds - 1; int nb_canbe = max_open_files - nb_consumed_fds - 1;
// for each play connections, we open a pipe(2fds) to convert SrsConsumver to io, // for each play connections, we open a pipe(2fds) to convert SrsConsumver to io,
// refine performance, @see: https://github.com/winlinvip/simple-rtmp-server/issues/194 // refine performance, @see: https://github.com/simple-rtmp-server/srs/issues/194
if (nb_total >= max_open_files) { if (nb_total >= max_open_files) {
ret = ERROR_SYSTEM_CONFIG_INVALID; ret = ERROR_SYSTEM_CONFIG_INVALID;
srs_error("invalid max_connections=%d, required=%d, system limit to %d, " srs_error("invalid max_connections=%d, required=%d, system limit to %d, "

View file

@ -508,7 +508,7 @@ public:
* whether debug_srs_upnode is enabled of vhost. * whether debug_srs_upnode is enabled of vhost.
* debug_srs_upnode is very important feature for tracable log, * debug_srs_upnode is very important feature for tracable log,
* but some server, for instance, flussonic donot support it. * but some server, for instance, flussonic donot support it.
* @see https://github.com/winlinvip/simple-rtmp-server/issues/160 * @see https://github.com/simple-rtmp-server/srs/issues/160
* @return true when debug_srs_upnode is ok; otherwise, false. * @return true when debug_srs_upnode is ok; otherwise, false.
* @remark, default true. * @remark, default true.
*/ */
@ -713,7 +713,7 @@ public:
virtual bool get_vhost_edge_token_traverse(std::string vhost); virtual bool get_vhost_edge_token_traverse(std::string vhost);
/** /**
* get the transformed vhost for edge, * get the transformed vhost for edge,
* @see https://github.com/winlinvip/simple-rtmp-server/issues/372 * @see https://github.com/simple-rtmp-server/srs/issues/372
*/ */
virtual std::string get_vhost_edge_transform_vhost(std::string vhost); virtual std::string get_vhost_edge_transform_vhost(std::string vhost);
// vhost security section // vhost security section
@ -945,7 +945,7 @@ public:
* get the hls hls_on_error config. * get the hls hls_on_error config.
* the ignore will ignore error and disable hls. * the ignore will ignore error and disable hls.
* the disconnect will disconnect publish connection. * the disconnect will disconnect publish connection.
* @see https://github.com/winlinvip/simple-rtmp-server/issues/264 * @see https://github.com/simple-rtmp-server/srs/issues/264
*/ */
virtual std::string get_hls_on_error(std::string vhost); virtual std::string get_hls_on_error(std::string vhost);
/** /**

View file

@ -37,7 +37,7 @@ SrsConnection::SrsConnection(SrsServer* srs_server, st_netfd_t client_stfd)
// the client thread should reap itself, // the client thread should reap itself,
// so we never use joinable. // so we never use joinable.
// TODO: FIXME: maybe other thread need to stop it. // TODO: FIXME: maybe other thread need to stop it.
// @see: https://github.com/winlinvip/simple-rtmp-server/issues/78 // @see: https://github.com/simple-rtmp-server/srs/issues/78
pthread = new SrsThread("conn", this, 0, false); pthread = new SrsThread("conn", this, 0, false);
} }

View file

@ -916,7 +916,7 @@ int SrsDvrSegmentPlan::update_duration(SrsSharedPtrMessage* msg)
} }
// when wait keyframe, ignore if no frame arrived. // when wait keyframe, ignore if no frame arrived.
// @see https://github.com/winlinvip/simple-rtmp-server/issues/177 // @see https://github.com/simple-rtmp-server/srs/issues/177
if (_srs_config->get_dvr_wait_keyframe(req->vhost)) { if (_srs_config->get_dvr_wait_keyframe(req->vhost)) {
if (!msg->is_video()) { if (!msg->is_video()) {
return ret; return ret;

View file

@ -218,7 +218,7 @@ int SrsEdgeIngester::connect_app(string ep_server, string ep_port)
} }
// notify server the edge identity, // notify server the edge identity,
// @see https://github.com/winlinvip/simple-rtmp-server/issues/147 // @see https://github.com/simple-rtmp-server/srs/issues/147
SrsAmf0Object* data = req->args; SrsAmf0Object* data = req->args;
data->set("srs_sig", SrsAmf0Any::str(RTMP_SIG_SRS_KEY)); data->set("srs_sig", SrsAmf0Any::str(RTMP_SIG_SRS_KEY));
data->set("srs_server", SrsAmf0Any::str(RTMP_SIG_SRS_SERVER)); data->set("srs_server", SrsAmf0Any::str(RTMP_SIG_SRS_SERVER));
@ -242,7 +242,7 @@ int SrsEdgeIngester::connect_app(string ep_server, string ep_port)
data->set("srs_server_ip", SrsAmf0Any::str(local_ip.c_str())); data->set("srs_server_ip", SrsAmf0Any::str(local_ip.c_str()));
// support vhost tranform for edge, // support vhost tranform for edge,
// @see https://github.com/winlinvip/simple-rtmp-server/issues/372 // @see https://github.com/simple-rtmp-server/srs/issues/372
std::string vhost = _srs_config->get_vhost_edge_transform_vhost(req->vhost); std::string vhost = _srs_config->get_vhost_edge_transform_vhost(req->vhost);
vhost = srs_string_replace(vhost, "[vhost]", req->vhost); vhost = srs_string_replace(vhost, "[vhost]", req->vhost);
// generate the tcUrl // generate the tcUrl
@ -255,7 +255,7 @@ int SrsEdgeIngester::connect_app(string ep_server, string ep_port)
req->tcUrl = tc_url; req->tcUrl = tc_url;
// upnode server identity will show in the connect_app of client. // upnode server identity will show in the connect_app of client.
// @see https://github.com/winlinvip/simple-rtmp-server/issues/160 // @see https://github.com/simple-rtmp-server/srs/issues/160
// the debug_srs_upnode is config in vhost and default to true. // the debug_srs_upnode is config in vhost and default to true.
bool debug_srs_upnode = _srs_config->get_debug_srs_upnode(req->vhost); 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) { if ((ret = client->connect_app(req->app, tc_url, req, debug_srs_upnode)) != ERROR_SUCCESS) {
@ -338,7 +338,7 @@ int SrsEdgeIngester::connect_server(string& ep_server, string& ep_port)
SrsConfDirective* conf = _srs_config->get_vhost_edge_origin(_req->vhost); SrsConfDirective* conf = _srs_config->get_vhost_edge_origin(_req->vhost);
// @see https://github.com/winlinvip/simple-rtmp-server/issues/79 // @see https://github.com/simple-rtmp-server/srs/issues/79
// when origin is error, for instance, server is shutdown, // when origin is error, for instance, server is shutdown,
// then user remove the vhost then reload, the conf is empty. // then user remove the vhost then reload, the conf is empty.
if (!conf) { if (!conf) {
@ -649,7 +649,7 @@ int SrsEdgeForwarder::connect_app(string ep_server, string ep_port)
} }
// notify server the edge identity, // notify server the edge identity,
// @see https://github.com/winlinvip/simple-rtmp-server/issues/147 // @see https://github.com/simple-rtmp-server/srs/issues/147
SrsAmf0Object* data = req->args; SrsAmf0Object* data = req->args;
data->set("srs_sig", SrsAmf0Any::str(RTMP_SIG_SRS_KEY)); data->set("srs_sig", SrsAmf0Any::str(RTMP_SIG_SRS_KEY));
data->set("srs_server", SrsAmf0Any::str(RTMP_SIG_SRS_SERVER)); data->set("srs_server", SrsAmf0Any::str(RTMP_SIG_SRS_SERVER));
@ -673,7 +673,7 @@ int SrsEdgeForwarder::connect_app(string ep_server, string ep_port)
data->set("srs_server_ip", SrsAmf0Any::str(local_ip.c_str())); data->set("srs_server_ip", SrsAmf0Any::str(local_ip.c_str()));
// support vhost tranform for edge, // support vhost tranform for edge,
// @see https://github.com/winlinvip/simple-rtmp-server/issues/372 // @see https://github.com/simple-rtmp-server/srs/issues/372
std::string vhost = _srs_config->get_vhost_edge_transform_vhost(req->vhost); std::string vhost = _srs_config->get_vhost_edge_transform_vhost(req->vhost);
vhost = srs_string_replace(vhost, "[vhost]", req->vhost); vhost = srs_string_replace(vhost, "[vhost]", req->vhost);
// generate the tcUrl // generate the tcUrl
@ -686,7 +686,7 @@ int SrsEdgeForwarder::connect_app(string ep_server, string ep_port)
req->tcUrl = tc_url; req->tcUrl = tc_url;
// upnode server identity will show in the connect_app of client. // upnode server identity will show in the connect_app of client.
// @see https://github.com/winlinvip/simple-rtmp-server/issues/160 // @see https://github.com/simple-rtmp-server/srs/issues/160
// the debug_srs_upnode is config in vhost and default to true. // the debug_srs_upnode is config in vhost and default to true.
bool debug_srs_upnode = _srs_config->get_debug_srs_upnode(req->vhost); 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) { if ((ret = client->connect_app(req->app, tc_url, req, debug_srs_upnode)) != ERROR_SUCCESS) {
@ -823,7 +823,7 @@ int SrsPublishEdge::on_client_publish()
return ret; return ret;
} }
// @see https://github.com/winlinvip/simple-rtmp-server/issues/180 // @see https://github.com/simple-rtmp-server/srs/issues/180
// to avoid multiple publish the same stream on the same edge, // to avoid multiple publish the same stream on the same edge,
// directly enter the publish stage. // directly enter the publish stage.
if (true) { if (true) {
@ -835,7 +835,7 @@ int SrsPublishEdge::on_client_publish()
// start to forward stream to origin. // start to forward stream to origin.
ret = forwarder->start(); ret = forwarder->start();
// @see https://github.com/winlinvip/simple-rtmp-server/issues/180 // @see https://github.com/simple-rtmp-server/srs/issues/180
// when failed, revert to init // when failed, revert to init
if (ret != ERROR_SUCCESS) { if (ret != ERROR_SUCCESS) {
SrsEdgeState pstate = state; SrsEdgeState pstate = state;

View file

@ -171,7 +171,7 @@ int SrsFFMPEG::initialize_transcode(SrsConfDirective* engine)
} }
} }
// @see, https://github.com/winlinvip/simple-rtmp-server/issues/145 // @see, https://github.com/simple-rtmp-server/srs/issues/145
if (acodec == SRS_RTMP_ENCODER_LIBAACPLUS) { if (acodec == SRS_RTMP_ENCODER_LIBAACPLUS) {
if (abitrate < 16 || abitrate > 72) { if (abitrate < 16 || abitrate > 72) {
ret = ERROR_ENCODER_ABITRATE; ret = ERROR_ENCODER_ABITRATE;
@ -205,7 +205,7 @@ int SrsFFMPEG::initialize_transcode(SrsConfDirective* engine)
// for not rtmp input, donot append the iformat, // for not rtmp input, donot append the iformat,
// for example, "-f flv" before "-i udp://192.168.1.252:2222" // for example, "-f flv" before "-i udp://192.168.1.252:2222"
// @see https://github.com/winlinvip/simple-rtmp-server/issues/290 // @see https://github.com/simple-rtmp-server/srs/issues/290
if (input.find("rtmp://") != 0) { if (input.find("rtmp://") != 0) {
iformat = ""; iformat = "";
} }

View file

@ -340,7 +340,7 @@ int SrsForwarder::connect_app(string ep_server, string ep_port)
} }
// notify server the edge identity, // notify server the edge identity,
// @see https://github.com/winlinvip/simple-rtmp-server/issues/147 // @see https://github.com/simple-rtmp-server/srs/issues/147
SrsAmf0Object* data = req->args; SrsAmf0Object* data = req->args;
data->set("srs_sig", SrsAmf0Any::str(RTMP_SIG_SRS_KEY)); data->set("srs_sig", SrsAmf0Any::str(RTMP_SIG_SRS_KEY));
data->set("srs_server", SrsAmf0Any::str(RTMP_SIG_SRS_SERVER)); data->set("srs_server", SrsAmf0Any::str(RTMP_SIG_SRS_SERVER));
@ -368,7 +368,7 @@ int SrsForwarder::connect_app(string ep_server, string ep_port)
std::string tc_url = srs_generate_tc_url(ep_server, req->vhost, req->app, ep_port, param); std::string tc_url = srs_generate_tc_url(ep_server, req->vhost, req->app, ep_port, param);
// upnode server identity will show in the connect_app of client. // upnode server identity will show in the connect_app of client.
// @see https://github.com/winlinvip/simple-rtmp-server/issues/160 // @see https://github.com/simple-rtmp-server/srs/issues/160
// the debug_srs_upnode is config in vhost and default to true. // the debug_srs_upnode is config in vhost and default to true.
bool debug_srs_upnode = _srs_config->get_debug_srs_upnode(req->vhost); 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) { if ((ret = client->connect_app(req->app, tc_url, req, debug_srs_upnode)) != ERROR_SUCCESS) {

View file

@ -67,7 +67,7 @@ private:
SrsMessageQueue* queue; SrsMessageQueue* queue;
/** /**
* cache the sequence header for retry when slave is failed. * cache the sequence header for retry when slave is failed.
* @see https://github.com/winlinvip/simple-rtmp-server/issues/150 * @see https://github.com/simple-rtmp-server/srs/issues/150
*/ */
SrsSharedPtrMessage* sh_audio; SrsSharedPtrMessage* sh_audio;
SrsSharedPtrMessage* sh_video; SrsSharedPtrMessage* sh_video;

View file

@ -565,7 +565,7 @@ bool SrsHlsMuxer::wait_keyframe()
bool SrsHlsMuxer::is_segment_absolutely_overflow() bool SrsHlsMuxer::is_segment_absolutely_overflow()
{ {
// @see https://github.com/winlinvip/simple-rtmp-server/issues/151#issuecomment-83553950 // @see https://github.com/simple-rtmp-server/srs/issues/151#issuecomment-83553950
srs_assert(current); srs_assert(current);
// to prevent very small segment. // to prevent very small segment.
@ -822,7 +822,7 @@ int SrsHlsMuxer::_refresh_m3u8(string m3u8_file)
* rounded to the nearest integer. Its value MUST NOT change. A * rounded to the nearest integer. Its value MUST NOT change. A
* typical target duration is 10 seconds. * typical target duration is 10 seconds.
*/ */
// @see https://github.com/winlinvip/simple-rtmp-server/issues/304#issuecomment-74000081 // @see https://github.com/simple-rtmp-server/srs/issues/304#issuecomment-74000081
std::vector<SrsHlsSegment*>::iterator it; std::vector<SrsHlsSegment*>::iterator it;
for (it = segments.begin(); it != segments.end(); ++it) { for (it = segments.begin(); it != segments.end(); ++it) {
SrsHlsSegment* segment = *it; SrsHlsSegment* segment = *it;
@ -986,9 +986,9 @@ int SrsHlsCache::write_audio(SrsAvcAacCodec* codec, SrsHlsMuxer* muxer, int64_t
// for example, pure audio when start, audio/video when publishing, // for example, pure audio when start, audio/video when publishing,
// pure audio again for audio disabled. // pure audio again for audio disabled.
// so we reap event when the audio incoming when segment overflow. // so we reap event when the audio incoming when segment overflow.
// @see https://github.com/winlinvip/simple-rtmp-server/issues/151 // @see https://github.com/simple-rtmp-server/srs/issues/151
// we use absolutely overflow of segment to make jwplayer/ffplay happy // we use absolutely overflow of segment to make jwplayer/ffplay happy
// @see https://github.com/winlinvip/simple-rtmp-server/issues/151#issuecomment-71155184 // @see https://github.com/simple-rtmp-server/srs/issues/151#issuecomment-71155184
if (cache->audio && muxer->is_segment_absolutely_overflow()) { if (cache->audio && muxer->is_segment_absolutely_overflow()) {
srs_info("hls: absolute audio reap segment."); srs_info("hls: absolute audio reap segment.");
if ((ret = reap_segment("audio", muxer, cache->audio->pts)) != ERROR_SUCCESS) { if ((ret = reap_segment("audio", muxer, cache->audio->pts)) != ERROR_SUCCESS) {
@ -1264,7 +1264,7 @@ int SrsHls::on_video(SrsSharedPtrMessage* shared_video)
sample->frame_type, codec->video_codec_id, sample->avc_packet_type, sample->cts, video->size, video->timestamp); sample->frame_type, codec->video_codec_id, sample->avc_packet_type, sample->cts, video->size, video->timestamp);
// ignore info frame, // ignore info frame,
// @see https://github.com/winlinvip/simple-rtmp-server/issues/288#issuecomment-69863909 // @see https://github.com/simple-rtmp-server/srs/issues/288#issuecomment-69863909
if (sample->frame_type == SrsCodecVideoAVCFrameVideoInfoFrame) { if (sample->frame_type == SrsCodecVideoAVCFrameVideoInfoFrame) {
return ret; return ret;
} }
@ -1304,7 +1304,7 @@ void SrsHls::hls_show_mux_log()
// reportable // reportable
if (pprint->can_print()) { if (pprint->can_print()) {
// the run time is not equals to stream time, // the run time is not equals to stream time,
// @see: https://github.com/winlinvip/simple-rtmp-server/issues/81#issuecomment-48100994 // @see: https://github.com/simple-rtmp-server/srs/issues/81#issuecomment-48100994
// it's ok. // it's ok.
srs_trace("-> "SRS_CONSTS_LOG_HLS" time=%"PRId64", stream dts=%"PRId64"(%"PRId64"ms), sno=%d, ts=%s, dur=%.2f, dva=%dp", 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(), pprint->age(), stream_dts, stream_dts / 90, muxer->sequence_no(), muxer->ts_url().c_str(),

View file

@ -248,12 +248,12 @@ private:
/** /**
* the current audio codec, when open new muxer, * the current audio codec, when open new muxer,
* set the muxer audio codec. * set the muxer audio codec.
* @see https://github.com/winlinvip/simple-rtmp-server/issues/301 * @see https://github.com/simple-rtmp-server/srs/issues/301
*/ */
SrsCodecAudio acodec; SrsCodecAudio acodec;
/** /**
* the ts context, to keep cc continous between ts. * the ts context, to keep cc continous between ts.
* @see https://github.com/winlinvip/simple-rtmp-server/issues/375 * @see https://github.com/simple-rtmp-server/srs/issues/375
*/ */
SrsTsContext* context; SrsTsContext* context;
public: public:
@ -295,7 +295,7 @@ public:
/** /**
* whether segment absolutely overflow, for pure audio to reap segment, * whether segment absolutely overflow, for pure audio to reap segment,
* that is whether the current segment duration>=2*(the segment in config) * that is whether the current segment duration>=2*(the segment in config)
* @see https://github.com/winlinvip/simple-rtmp-server/issues/151#issuecomment-71155184 * @see https://github.com/simple-rtmp-server/srs/issues/151#issuecomment-71155184
*/ */
virtual bool is_segment_absolutely_overflow(); virtual bool is_segment_absolutely_overflow();
public: public:

View file

@ -428,7 +428,7 @@ int SrsHttpHooks::do_post(std::string url, std::string req, int& code, string& r
} }
// ensure the http status is ok. // ensure the http status is ok.
// https://github.com/winlinvip/simple-rtmp-server/issues/158 // https://github.com/simple-rtmp-server/srs/issues/158
if (code != SRS_CONSTS_HTTP_OK) { if (code != SRS_CONSTS_HTTP_OK) {
return ERROR_HTTP_STATUS_INVLIAD; return ERROR_HTTP_STATUS_INVLIAD;
} }

View file

@ -461,7 +461,7 @@ int SrsMpegtsOverUdp::write_h264_ipb_frame(char* frame, int frame_size, u_int32_
int ret = ERROR_SUCCESS; int ret = ERROR_SUCCESS;
// when sps or pps not sent, ignore the packet. // when sps or pps not sent, ignore the packet.
// @see https://github.com/winlinvip/simple-rtmp-server/issues/203 // @see https://github.com/simple-rtmp-server/srs/issues/203
if (!h264_sps_pps_sent) { if (!h264_sps_pps_sent) {
return ERROR_H264_DROP_BEFORE_SPS_PPS; return ERROR_H264_DROP_BEFORE_SPS_PPS;
} }
@ -672,7 +672,7 @@ int SrsMpegtsOverUdp::connect_app(string ep_server, string ep_port)
} }
// notify server the edge identity, // notify server the edge identity,
// @see https://github.com/winlinvip/simple-rtmp-server/issues/147 // @see https://github.com/simple-rtmp-server/srs/issues/147
SrsAmf0Object* data = req->args; SrsAmf0Object* data = req->args;
data->set("srs_sig", SrsAmf0Any::str(RTMP_SIG_SRS_KEY)); data->set("srs_sig", SrsAmf0Any::str(RTMP_SIG_SRS_KEY));
data->set("srs_server", SrsAmf0Any::str(RTMP_SIG_SRS_KEY" "RTMP_SIG_SRS_VERSION" ("RTMP_SIG_SRS_URL_SHORT")")); data->set("srs_server", SrsAmf0Any::str(RTMP_SIG_SRS_KEY" "RTMP_SIG_SRS_VERSION" ("RTMP_SIG_SRS_URL_SHORT")"));
@ -700,7 +700,7 @@ int SrsMpegtsOverUdp::connect_app(string ep_server, string ep_port)
std::string tc_url = srs_generate_tc_url(ep_server, req->vhost, req->app, ep_port, param); std::string tc_url = srs_generate_tc_url(ep_server, req->vhost, req->app, ep_port, param);
// upnode server identity will show in the connect_app of client. // upnode server identity will show in the connect_app of client.
// @see https://github.com/winlinvip/simple-rtmp-server/issues/160 // @see https://github.com/simple-rtmp-server/srs/issues/160
// the debug_srs_upnode is config in vhost and default to true. // the debug_srs_upnode is config in vhost and default to true.
bool debug_srs_upnode = _srs_config->get_debug_srs_upnode(req->vhost); 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) { if ((ret = client->connect_app(req->app, tc_url, req, debug_srs_upnode)) != ERROR_SUCCESS) {

View file

@ -119,8 +119,8 @@ void SrsRecvThread::on_thread_start()
// the multiple messages writev improve performance large, // the multiple messages writev improve performance large,
// but the timeout recv will cause 33% sys call performance, // but the timeout recv will cause 33% sys call performance,
// to use isolate thread to recv, can improve about 33% performance. // to use isolate thread to recv, can improve about 33% performance.
// @see https://github.com/winlinvip/simple-rtmp-server/issues/194 // @see https://github.com/simple-rtmp-server/srs/issues/194
// @see: https://github.com/winlinvip/simple-rtmp-server/issues/217 // @see: https://github.com/simple-rtmp-server/srs/issues/217
rtmp->set_recv_timeout(ST_UTIME_NO_TIMEOUT); rtmp->set_recv_timeout(ST_UTIME_NO_TIMEOUT);
handler->on_thread_start(); handler->on_thread_start();
@ -258,7 +258,7 @@ SrsPublishRecvThread::SrsPublishRecvThread(
mr_fd = mr_sock_fd; mr_fd = mr_sock_fd;
// the mr settings, // the mr settings,
// @see https://github.com/winlinvip/simple-rtmp-server/issues/241 // @see https://github.com/simple-rtmp-server/srs/issues/241
mr = _srs_config->get_mr_enabled(req->vhost); mr = _srs_config->get_mr_enabled(req->vhost);
mr_sleep = _srs_config->get_mr_sleep_ms(req->vhost); mr_sleep = _srs_config->get_mr_sleep_ms(req->vhost);
@ -318,7 +318,7 @@ void SrsPublishRecvThread::on_thread_start()
set_socket_buffer(mr_sleep); set_socket_buffer(mr_sleep);
// disable the merge read // disable the merge read
// @see https://github.com/winlinvip/simple-rtmp-server/issues/241 // @see https://github.com/simple-rtmp-server/srs/issues/241
rtmp->set_merge_read(true, this); rtmp->set_merge_read(true, this);
} }
#endif #endif
@ -330,13 +330,13 @@ void SrsPublishRecvThread::on_thread_stop()
// for we donot set to false yet. // for we donot set to false yet.
// when thread stop, signal the conn thread which wait. // when thread stop, signal the conn thread which wait.
// @see https://github.com/winlinvip/simple-rtmp-server/issues/244 // @see https://github.com/simple-rtmp-server/srs/issues/244
st_cond_signal(error); st_cond_signal(error);
#ifdef SRS_PERF_MERGED_READ #ifdef SRS_PERF_MERGED_READ
if (mr) { if (mr) {
// disable the merge read // disable the merge read
// @see https://github.com/winlinvip/simple-rtmp-server/issues/241 // @see https://github.com/simple-rtmp-server/srs/issues/241
rtmp->set_merge_read(false, NULL); rtmp->set_merge_read(false, NULL);
} }
#endif #endif
@ -373,7 +373,7 @@ void SrsPublishRecvThread::on_recv_error(int ret)
recv_error_code = ret; recv_error_code = ret;
// when recv thread error, signal the conn thread to process it. // when recv thread error, signal the conn thread to process it.
// @see https://github.com/winlinvip/simple-rtmp-server/issues/244 // @see https://github.com/simple-rtmp-server/srs/issues/244
st_cond_signal(error); st_cond_signal(error);
} }
@ -392,7 +392,7 @@ void SrsPublishRecvThread::on_read(ssize_t nread)
* to improve read performance, merge some packets then read, * to improve read performance, merge some packets then read,
* when it on and read small bytes, we sleep to wait more data., * when it on and read small bytes, we sleep to wait more data.,
* that is, we merge some data to read together. * that is, we merge some data to read together.
* @see https://github.com/winlinvip/simple-rtmp-server/issues/241 * @see https://github.com/simple-rtmp-server/srs/issues/241
*/ */
if (nread < SRS_MR_SMALL_BYTES) { if (nread < SRS_MR_SMALL_BYTES) {
st_usleep(mr_sleep * 1000); st_usleep(mr_sleep * 1000);
@ -409,7 +409,7 @@ int SrsPublishRecvThread::on_reload_vhost_mr(string vhost)
} }
// the mr settings, // the mr settings,
// @see https://github.com/winlinvip/simple-rtmp-server/issues/241 // @see https://github.com/simple-rtmp-server/srs/issues/241
bool mr_enabled = _srs_config->get_mr_enabled(req->vhost); bool mr_enabled = _srs_config->get_mr_enabled(req->vhost);
int sleep_ms = _srs_config->get_mr_sleep_ms(req->vhost); int sleep_ms = _srs_config->get_mr_sleep_ms(req->vhost);
@ -422,13 +422,13 @@ int SrsPublishRecvThread::on_reload_vhost_mr(string vhost)
// mr enabled=>disabled // mr enabled=>disabled
if (mr && !mr_enabled) { if (mr && !mr_enabled) {
// disable the merge read // disable the merge read
// @see https://github.com/winlinvip/simple-rtmp-server/issues/241 // @see https://github.com/simple-rtmp-server/srs/issues/241
rtmp->set_merge_read(false, NULL); rtmp->set_merge_read(false, NULL);
} }
// mr disabled=>enabled // mr disabled=>enabled
if (!mr && mr_enabled) { if (!mr && mr_enabled) {
// enable the merge read // enable the merge read
// @see https://github.com/winlinvip/simple-rtmp-server/issues/241 // @see https://github.com/simple-rtmp-server/srs/issues/241
rtmp->set_merge_read(true, this); rtmp->set_merge_read(true, this);
} }
#endif #endif

View file

@ -103,7 +103,7 @@ public:
* the recv thread used to replace the timeout recv, * the recv thread used to replace the timeout recv,
* which hurt performance for the epoll_ctrl is frequently used. * which hurt performance for the epoll_ctrl is frequently used.
* @see: SrsRtmpConn::playing * @see: SrsRtmpConn::playing
* @see: https://github.com/winlinvip/simple-rtmp-server/issues/217 * @see: https://github.com/simple-rtmp-server/srs/issues/217
*/ */
class SrsQueueRecvThread : public ISrsMessageHandler class SrsQueueRecvThread : public ISrsMessageHandler
{ {
@ -136,7 +136,7 @@ public:
/** /**
* the publish recv thread got message and callback the source method to process message. * the publish recv thread got message and callback the source method to process message.
* @see: https://github.com/winlinvip/simple-rtmp-server/issues/237 * @see: https://github.com/simple-rtmp-server/srs/issues/237
*/ */
class SrsPublishRecvThread : virtual public ISrsMessageHandler class SrsPublishRecvThread : virtual public ISrsMessageHandler
#ifdef SRS_PERF_MERGED_READ #ifdef SRS_PERF_MERGED_READ
@ -151,12 +151,12 @@ private:
// the msgs already got. // the msgs already got.
int64_t _nb_msgs; int64_t _nb_msgs;
// for mr(merged read), // for mr(merged read),
// @see https://github.com/winlinvip/simple-rtmp-server/issues/241 // @see https://github.com/simple-rtmp-server/srs/issues/241
bool mr; bool mr;
int mr_fd; int mr_fd;
int mr_sleep; int mr_sleep;
// for realtime // for realtime
// @see https://github.com/winlinvip/simple-rtmp-server/issues/257 // @see https://github.com/simple-rtmp-server/srs/issues/257
bool realtime; bool realtime;
// the recv thread error code. // the recv thread error code.
int recv_error_code; int recv_error_code;
@ -166,7 +166,7 @@ private:
bool _is_fmle; bool _is_fmle;
bool _is_edge; bool _is_edge;
// the error timeout cond // the error timeout cond
// @see https://github.com/winlinvip/simple-rtmp-server/issues/244 // @see https://github.com/simple-rtmp-server/srs/issues/244
st_cond_t error; st_cond_t error;
public: public:
SrsPublishRecvThread(SrsRtmpServer* rtmp_sdk, SrsPublishRecvThread(SrsRtmpServer* rtmp_sdk,

View file

@ -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. * when reload callback, the config is updated yet.
* *
* features not support reload, * features not support reload,
* @see: https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_Reload#notsupportedfeatures * @see: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Reload#notsupportedfeatures
*/ */
class ISrsReloadHandler class ISrsReloadHandler
{ {

View file

@ -295,7 +295,7 @@ int SrsRtmpConn::service_cycle()
} }
// do token traverse before serve it. // do token traverse before serve it.
// @see https://github.com/winlinvip/simple-rtmp-server/pull/239 // @see https://github.com/simple-rtmp-server/srs/pull/239
if (true) { if (true) {
bool vhost_is_edge = _srs_config->get_vhost_is_edge(req->vhost); bool vhost_is_edge = _srs_config->get_vhost_is_edge(req->vhost);
bool edge_traverse = _srs_config->get_vhost_edge_token_traverse(req->vhost); bool edge_traverse = _srs_config->get_vhost_edge_token_traverse(req->vhost);
@ -348,7 +348,7 @@ int SrsRtmpConn::service_cycle()
// logical accept and retry stream service. // logical accept and retry stream service.
if (ret == ERROR_CONTROL_RTMP_CLOSE) { if (ret == ERROR_CONTROL_RTMP_CLOSE) {
// TODO: FIXME: use ping message to anti-death of socket. // TODO: FIXME: use ping message to anti-death of socket.
// @see: https://github.com/winlinvip/simple-rtmp-server/issues/39 // @see: https://github.com/simple-rtmp-server/srs/issues/39
// set timeout to a larger value, for user paused. // set timeout to a larger value, for user paused.
rtmp->set_recv_timeout(SRS_PAUSED_RECV_TIMEOUT_US); rtmp->set_recv_timeout(SRS_PAUSED_RECV_TIMEOUT_US);
rtmp->set_send_timeout(SRS_PAUSED_SEND_TIMEOUT_US); rtmp->set_send_timeout(SRS_PAUSED_SEND_TIMEOUT_US);
@ -582,7 +582,7 @@ int SrsRtmpConn::playing(SrsSource* source)
srs_verbose("consumer created success."); srs_verbose("consumer created success.");
// use isolate thread to recv, // use isolate thread to recv,
// @see: https://github.com/winlinvip/simple-rtmp-server/issues/217 // @see: https://github.com/simple-rtmp-server/srs/issues/217
SrsQueueRecvThread trd(consumer, rtmp, SRS_PERF_MW_SLEEP); SrsQueueRecvThread trd(consumer, rtmp, SRS_PERF_MW_SLEEP);
// start isolate recv thread. // start isolate recv thread.
@ -640,8 +640,8 @@ int SrsRtmpConn::do_playing(SrsSource* source, SrsConsumer* consumer, SrsQueueRe
pprint->elapse(); pprint->elapse();
// to use isolate thread to recv, can improve about 33% performance. // to use isolate thread to recv, can improve about 33% performance.
// @see: https://github.com/winlinvip/simple-rtmp-server/issues/196 // @see: https://github.com/simple-rtmp-server/srs/issues/196
// @see: https://github.com/winlinvip/simple-rtmp-server/issues/217 // @see: https://github.com/simple-rtmp-server/srs/issues/217
while (!trd->empty()) { while (!trd->empty()) {
SrsCommonMessage* msg = trd->pump(); SrsCommonMessage* msg = trd->pump();
srs_verbose("pump client message to process."); srs_verbose("pump client message to process.");
@ -667,8 +667,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); srs_verbose("send thread now=%"PRId64"us, wait %dms", srs_update_system_time_ms(), mw_sleep);
// wait for message to incoming. // wait for message to incoming.
// @see https://github.com/winlinvip/simple-rtmp-server/issues/251 // @see https://github.com/simple-rtmp-server/srs/issues/251
// @see https://github.com/winlinvip/simple-rtmp-server/issues/257 // @see https://github.com/simple-rtmp-server/srs/issues/257
if (realtime) { if (realtime) {
// for realtime, min required msgs is 0, send when got one+ msgs. // for realtime, min required msgs is 0, send when got one+ msgs.
consumer->wait(0, mw_sleep); consumer->wait(0, mw_sleep);
@ -750,7 +750,7 @@ int SrsRtmpConn::do_playing(SrsSource* source, SrsConsumer* consumer, SrsQueueRe
} }
// if duration specified, and exceed it, stop play live. // if duration specified, and exceed it, stop play live.
// @see: https://github.com/winlinvip/simple-rtmp-server/issues/45 // @see: https://github.com/simple-rtmp-server/srs/issues/45
if (user_specified_duration_to_stop) { if (user_specified_duration_to_stop) {
if (duration >= (int64_t)req->duration) { if (duration >= (int64_t)req->duration) {
ret = ERROR_RTMP_DURATION_EXCEED; ret = ERROR_RTMP_DURATION_EXCEED;
@ -775,7 +775,7 @@ int SrsRtmpConn::fmle_publishing(SrsSource* source)
} }
// use isolate thread to recv, // use isolate thread to recv,
// @see: https://github.com/winlinvip/simple-rtmp-server/issues/237 // @see: https://github.com/simple-rtmp-server/srs/issues/237
SrsPublishRecvThread trd(rtmp, req, SrsPublishRecvThread trd(rtmp, req,
st_netfd_fileno(stfd), 0, this, source, true, vhost_is_edge); st_netfd_fileno(stfd), 0, this, source, true, vhost_is_edge);
@ -810,7 +810,7 @@ int SrsRtmpConn::flash_publishing(SrsSource* source)
} }
// use isolate thread to recv, // use isolate thread to recv,
// @see: https://github.com/winlinvip/simple-rtmp-server/issues/237 // @see: https://github.com/simple-rtmp-server/srs/issues/237
SrsPublishRecvThread trd(rtmp, req, SrsPublishRecvThread trd(rtmp, req,
st_netfd_fileno(stfd), 0, this, source, true, vhost_is_edge); st_netfd_fileno(stfd), 0, this, source, true, vhost_is_edge);
@ -1039,7 +1039,7 @@ int SrsRtmpConn::process_play_control_msg(SrsConsumer* consumer, SrsCommonMessag
SrsAutoFree(SrsPacket, pkt); SrsAutoFree(SrsPacket, pkt);
// for jwplayer/flowplayer, which send close as pause message. // for jwplayer/flowplayer, which send close as pause message.
// @see https://github.com/winlinvip/simple-rtmp-server/issues/6 // @see https://github.com/simple-rtmp-server/srs/issues/6
SrsCloseStreamPacket* close = dynamic_cast<SrsCloseStreamPacket*>(pkt); SrsCloseStreamPacket* close = dynamic_cast<SrsCloseStreamPacket*>(pkt);
if (close) { if (close) {
ret = ERROR_CONTROL_RTMP_CLOSE; ret = ERROR_CONTROL_RTMP_CLOSE;
@ -1049,7 +1049,7 @@ int SrsRtmpConn::process_play_control_msg(SrsConsumer* consumer, SrsCommonMessag
// call msg, // call msg,
// support response null first, // support response null first,
// @see https://github.com/winlinvip/simple-rtmp-server/issues/106 // @see https://github.com/simple-rtmp-server/srs/issues/106
// TODO: FIXME: response in right way, or forward in edge mode. // TODO: FIXME: response in right way, or forward in edge mode.
SrsCallPacket* call = dynamic_cast<SrsCallPacket*>(pkt); SrsCallPacket* call = dynamic_cast<SrsCallPacket*>(pkt);
if (call) { if (call) {

View file

@ -70,7 +70,7 @@ private:
SrsSecurity* security; SrsSecurity* security;
// elapse duration in ms // elapse duration in ms
// for live play duration, for instance, rtmpdump to record. // for live play duration, for instance, rtmpdump to record.
// @see https://github.com/winlinvip/simple-rtmp-server/issues/47 // @see https://github.com/simple-rtmp-server/srs/issues/47
int64_t duration; int64_t duration;
SrsKbps* kbps; SrsKbps* kbps;
// the MR(merged-write) sleep time in ms. // the MR(merged-write) sleep time in ms.
@ -78,7 +78,7 @@ private:
// the MR(merged-write) only enabled for play. // the MR(merged-write) only enabled for play.
int mw_enabled; int mw_enabled;
// for realtime // for realtime
// @see https://github.com/winlinvip/simple-rtmp-server/issues/257 // @see https://github.com/simple-rtmp-server/srs/issues/257
bool realtime; bool realtime;
public: public:
SrsRtmpConn(SrsServer* srs_server, st_netfd_t client_stfd); SrsRtmpConn(SrsServer* srs_server, st_netfd_t client_stfd);

View file

@ -723,7 +723,7 @@ int SrsRtspConn::connect_app(string ep_server, string ep_port)
} }
// notify server the edge identity, // notify server the edge identity,
// @see https://github.com/winlinvip/simple-rtmp-server/issues/147 // @see https://github.com/simple-rtmp-server/srs/issues/147
SrsAmf0Object* data = req->args; SrsAmf0Object* data = req->args;
data->set("srs_sig", SrsAmf0Any::str(RTMP_SIG_SRS_KEY)); data->set("srs_sig", SrsAmf0Any::str(RTMP_SIG_SRS_KEY));
data->set("srs_server", SrsAmf0Any::str(RTMP_SIG_SRS_KEY" "RTMP_SIG_SRS_VERSION" ("RTMP_SIG_SRS_URL_SHORT")")); data->set("srs_server", SrsAmf0Any::str(RTMP_SIG_SRS_KEY" "RTMP_SIG_SRS_VERSION" ("RTMP_SIG_SRS_URL_SHORT")"));
@ -751,7 +751,7 @@ int SrsRtspConn::connect_app(string ep_server, string ep_port)
std::string tc_url = srs_generate_tc_url(ep_server, req->vhost, req->app, ep_port, param); std::string tc_url = srs_generate_tc_url(ep_server, req->vhost, req->app, ep_port, param);
// upnode server identity will show in the connect_app of client. // upnode server identity will show in the connect_app of client.
// @see https://github.com/winlinvip/simple-rtmp-server/issues/160 // @see https://github.com/simple-rtmp-server/srs/issues/160
// the debug_srs_upnode is config in vhost and default to true. // the debug_srs_upnode is config in vhost and default to true.
bool debug_srs_upnode = _srs_config->get_debug_srs_upnode(req->vhost); 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) { if ((ret = client->connect_app(req->app, tc_url, req, debug_srs_upnode)) != ERROR_SUCCESS) {

View file

@ -38,7 +38,7 @@ class SrsConfDirective;
/** /**
* the security apply on vhost. * the security apply on vhost.
* @see https://github.com/winlinvip/simple-rtmp-server/issues/211 * @see https://github.com/simple-rtmp-server/srs/issues/211
*/ */
class SrsSecurity class SrsSecurity
{ {

View file

@ -55,7 +55,7 @@ using namespace std;
// for example, system-interval is x=1s(1000ms), // for example, system-interval is x=1s(1000ms),
// then rusage can be 3*x, for instance, 3*1=3s, // then rusage can be 3*x, for instance, 3*1=3s,
// the meminfo canbe 6*x, for instance, 6*1=6s, // the meminfo canbe 6*x, for instance, 6*1=6s,
// for performance refine, @see: https://github.com/winlinvip/simple-rtmp-server/issues/194 // for performance refine, @see: https://github.com/simple-rtmp-server/srs/issues/194
// @remark, recomment to 1000ms. // @remark, recomment to 1000ms.
#define SRS_SYS_CYCLE_INTERVAL 1000 #define SRS_SYS_CYCLE_INTERVAL 1000

View file

@ -382,7 +382,7 @@ void SrsMessageQueue::shrink()
// it is ok to clear for audio, for the shrink tell us the queue is full. // it is ok to clear for audio, for the shrink tell us the queue is full.
// for video, we clear util the I-Frame, for the decoding must start from I-frame, // for video, we clear util the I-Frame, for the decoding must start from I-frame,
// for audio, it's ok to clear any data, also we can clear the whole queue. // for audio, it's ok to clear any data, also we can clear the whole queue.
// @see: https://github.com/winlinvip/simple-rtmp-server/issues/134 // @see: https://github.com/simple-rtmp-server/srs/issues/134
if (iframe_index < 0) { if (iframe_index < 0) {
clear(); clear();
return; return;
@ -1422,7 +1422,7 @@ int SrsSource::on_audio_imp(SrsSharedPtrMessage* msg)
#ifdef SRS_AUTO_HLS #ifdef SRS_AUTO_HLS
if ((ret = hls->on_audio(msg)) != ERROR_SUCCESS) { if ((ret = hls->on_audio(msg)) != ERROR_SUCCESS) {
// apply the error strategy for hls. // apply the error strategy for hls.
// @see https://github.com/winlinvip/simple-rtmp-server/issues/264 // @see https://github.com/simple-rtmp-server/srs/issues/264
std::string hls_error_strategy = _srs_config->get_hls_on_error(_req->vhost); std::string hls_error_strategy = _srs_config->get_hls_on_error(_req->vhost);
if (hls_error_strategy == SRS_CONF_DEFAULT_HLS_ON_ERROR_IGNORE) { if (hls_error_strategy == SRS_CONF_DEFAULT_HLS_ON_ERROR_IGNORE) {
srs_warn("hls process audio message failed, ignore and disable hls. ret=%d", ret); srs_warn("hls process audio message failed, ignore and disable hls. ret=%d", ret);
@ -1586,7 +1586,7 @@ int SrsSource::on_video_imp(SrsSharedPtrMessage* msg)
#ifdef SRS_AUTO_HLS #ifdef SRS_AUTO_HLS
if ((ret = hls->on_video(msg)) != ERROR_SUCCESS) { if ((ret = hls->on_video(msg)) != ERROR_SUCCESS) {
// apply the error strategy for hls. // apply the error strategy for hls.
// @see https://github.com/winlinvip/simple-rtmp-server/issues/264 // @see https://github.com/simple-rtmp-server/srs/issues/264
std::string hls_error_strategy = _srs_config->get_hls_on_error(_req->vhost); std::string hls_error_strategy = _srs_config->get_hls_on_error(_req->vhost);
if (hls_error_strategy == SRS_CONF_DEFAULT_HLS_ON_ERROR_IGNORE) { if (hls_error_strategy == SRS_CONF_DEFAULT_HLS_ON_ERROR_IGNORE) {
srs_warn("hls process video message failed, ignore and disable hls. ret=%d", ret); srs_warn("hls process video message failed, ignore and disable hls. ret=%d", ret);
@ -1997,7 +1997,7 @@ int SrsSource::create_consumer(SrsConsumer*& consumer, bool ds, bool dm, bool dg
// copy sequence header // copy sequence header
// copy audio sequence first, for hls to fast parse the "right" audio codec. // copy audio sequence first, for hls to fast parse the "right" audio codec.
// @see https://github.com/winlinvip/simple-rtmp-server/issues/301 // @see https://github.com/simple-rtmp-server/srs/issues/301
if (ds && cache_sh_audio && (ret = consumer->enqueue(cache_sh_audio, atc, tba, tbv, ag)) != ERROR_SUCCESS) { if (ds && cache_sh_audio && (ret = consumer->enqueue(cache_sh_audio, atc, tba, tbv, ag)) != ERROR_SUCCESS) {
srs_error("dispatch audio sequence header failed. ret=%d", ret); srs_error("dispatch audio sequence header failed. ret=%d", ret);
return ret; return ret;

View file

@ -111,7 +111,7 @@ public:
/** /**
* to alloc and increase fixed space, * to alloc and increase fixed space,
* fast remove and insert for msgs sender. * fast remove and insert for msgs sender.
* @see https://github.com/winlinvip/simple-rtmp-server/issues/251 * @see https://github.com/simple-rtmp-server/srs/issues/251
*/ */
class SrsFastVector class SrsFastVector
{ {
@ -210,7 +210,7 @@ private:
bool should_update_source_id; bool should_update_source_id;
#ifdef SRS_PERF_QUEUE_COND_WAIT #ifdef SRS_PERF_QUEUE_COND_WAIT
// the cond wait for mw. // the cond wait for mw.
// @see https://github.com/winlinvip/simple-rtmp-server/issues/251 // @see https://github.com/simple-rtmp-server/srs/issues/251
st_cond_t mw_wait; st_cond_t mw_wait;
bool mw_waiting; bool mw_waiting;
int mw_min_msgs; int mw_min_msgs;
@ -298,7 +298,7 @@ private:
* *
* @remark, it is ok for performance, for when we clear the gop cache, * @remark, it is ok for performance, for when we clear the gop cache,
* gop cache is disabled for pure audio stream. * gop cache is disabled for pure audio stream.
* @see: https://github.com/winlinvip/simple-rtmp-server/issues/124 * @see: https://github.com/simple-rtmp-server/srs/issues/124
*/ */
int audio_after_last_video_count; int audio_after_last_video_count;
/** /**

View file

@ -48,7 +48,7 @@ int srs_init_st()
#ifdef __linux__ #ifdef __linux__
// check epoll, some old linux donot support epoll. // check epoll, some old linux donot support epoll.
// @see https://github.com/winlinvip/simple-rtmp-server/issues/162 // @see https://github.com/simple-rtmp-server/srs/issues/162
if (!srs_st_epoll_is_supported()) { if (!srs_st_epoll_is_supported()) {
ret = ERROR_ST_SET_EPOLL; ret = ERROR_ST_SET_EPOLL;
srs_error("epoll required on Linux. ret=%d", ret); srs_error("epoll required on Linux. ret=%d", ret);

View file

@ -84,7 +84,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). // (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. // Otherwise, a value of -1 is returned and errno is set to indicate the error.
if (nb_read <= 0) { if (nb_read <= 0) {
// @see https://github.com/winlinvip/simple-rtmp-server/issues/200 // @see https://github.com/simple-rtmp-server/srs/issues/200
if (nb_read < 0 && errno == ETIME) { if (nb_read < 0 && errno == ETIME) {
return ERROR_SOCKET_TIMEOUT; return ERROR_SOCKET_TIMEOUT;
} }
@ -114,7 +114,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) // (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. // Otherwise, a value of -1 is returned and errno is set to indicate the error.
if (nb_read != (ssize_t)size) { if (nb_read != (ssize_t)size) {
// @see https://github.com/winlinvip/simple-rtmp-server/issues/200 // @see https://github.com/simple-rtmp-server/srs/issues/200
if (nb_read < 0 && errno == ETIME) { if (nb_read < 0 && errno == ETIME) {
return ERROR_SOCKET_TIMEOUT; return ERROR_SOCKET_TIMEOUT;
} }
@ -143,7 +143,7 @@ int SrsStSocket::write(void* buf, size_t size, ssize_t* nwrite)
// On success a non-negative integer equal to nbyte is returned. // 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. // Otherwise, a value of -1 is returned and errno is set to indicate the error.
if (nb_write <= 0) { if (nb_write <= 0) {
// @see https://github.com/winlinvip/simple-rtmp-server/issues/200 // @see https://github.com/simple-rtmp-server/srs/issues/200
if (nb_write < 0 && errno == ETIME) { if (nb_write < 0 && errno == ETIME) {
return ERROR_SOCKET_TIMEOUT; return ERROR_SOCKET_TIMEOUT;
} }
@ -168,7 +168,7 @@ int SrsStSocket::writev(const iovec *iov, int iov_size, ssize_t* nwrite)
// On success a non-negative integer equal to nbyte is returned. // 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. // Otherwise, a value of -1 is returned and errno is set to indicate the error.
if (nb_write <= 0) { if (nb_write <= 0) {
// @see https://github.com/winlinvip/simple-rtmp-server/issues/200 // @see https://github.com/simple-rtmp-server/srs/issues/200
if (nb_write < 0 && errno == ETIME) { if (nb_write < 0 && errno == ETIME) {
return ERROR_SOCKET_TIMEOUT; return ERROR_SOCKET_TIMEOUT;
} }

View file

@ -68,7 +68,7 @@ SrsThread::SrsThread(const char* name, ISrsThreadHandler* thread_handler, int64_
// in start(), the thread cycle method maybe stop and remove the thread itself, // 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. // and the thread start() is waiting for the _cid, and segment fault then.
// @see https://github.com/winlinvip/simple-rtmp-server/issues/110 // @see https://github.com/simple-rtmp-server/srs/issues/110
// thread will set _cid, callback on_thread_start(), then wait for the can_run signal. // thread will set _cid, callback on_thread_start(), then wait for the can_run signal.
can_run = false; can_run = false;
} }
@ -204,7 +204,7 @@ failed:
} }
// to improve performance, donot sleep when interval is zero. // to improve performance, donot sleep when interval is zero.
// @see: https://github.com/winlinvip/simple-rtmp-server/issues/237 // @see: https://github.com/simple-rtmp-server/srs/issues/237
if (cycle_interval_us != 0) { if (cycle_interval_us != 0) {
st_usleep(cycle_interval_us); st_usleep(cycle_interval_us);
} }

View file

@ -157,12 +157,12 @@ public:
* @param interval_us, the sleep interval when cycle finished. * @param interval_us, the sleep interval when cycle finished.
* @param joinable, if joinable, other thread must stop the thread. * @param joinable, if joinable, other thread must stop the thread.
* @remark if joinable, thread never quit itself, or memory leak. * @remark if joinable, thread never quit itself, or memory leak.
* @see: https://github.com/winlinvip/simple-rtmp-server/issues/78 * @see: https://github.com/simple-rtmp-server/srs/issues/78
* @remark about st debug, see st-1.9/README, _st_iterate_threads_flag * @remark about st debug, see st-1.9/README, _st_iterate_threads_flag
*/ */
/** /**
* TODO: FIXME: maybe all thread must be reap by others threads, * TODO: FIXME: maybe all thread must be reap by others threads,
* @see: https://github.com/winlinvip/simple-rtmp-server/issues/77 * @see: https://github.com/simple-rtmp-server/srs/issues/77
*/ */
SrsThread(const char* name, ISrsThreadHandler* thread_handler, int64_t interval_us, bool joinable); SrsThread(const char* name, ISrsThreadHandler* thread_handler, int64_t interval_us, bool joinable);
virtual ~SrsThread(); virtual ~SrsThread();

View file

@ -1132,7 +1132,7 @@ void retrieve_local_ipv4_ips()
// retrieve ipv4 addr // retrieve ipv4 addr
// ignore the tun0 network device, // ignore the tun0 network device,
// which addr is NULL. // which addr is NULL.
// @see: https://github.com/winlinvip/simple-rtmp-server/issues/141 // @see: https://github.com/simple-rtmp-server/srs/issues/141
if (addr && addr->sa_family == AF_INET) { if (addr && addr->sa_family == AF_INET) {
in_addr* inaddr = &((sockaddr_in*)addr)->sin_addr; in_addr* inaddr = &((sockaddr_in*)addr)->sin_addr;

View file

@ -79,7 +79,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define __STDC_FORMAT_MACROS #define __STDC_FORMAT_MACROS
#endif #endif
// for srs-librtmp, @see https://github.com/winlinvip/simple-rtmp-server/issues/213 // for srs-librtmp, @see https://github.com/simple-rtmp-server/srs/issues/213
#ifndef _WIN32 #ifndef _WIN32
#include <inttypes.h> #include <inttypes.h>
#endif #endif

View file

@ -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. * that is, we merge some data to read together.
* @see SrsConfig::get_mr_enabled() * @see SrsConfig::get_mr_enabled()
* @see SrsConfig::get_mr_sleep_ms() * @see SrsConfig::get_mr_sleep_ms()
* @see https://github.com/winlinvip/simple-rtmp-server/issues/241 * @see https://github.com/simple-rtmp-server/srs/issues/241
* @example, for the default settings, this algorithm will use: * @example, for the default settings, this algorithm will use:
* that is, when got nread bytes smaller than 4KB, sleep(780ms). * that is, when got nread bytes smaller than 4KB, sleep(780ms).
*/ */
/** /**
* https://github.com/winlinvip/simple-rtmp-server/issues/241#issuecomment-65554690 * https://github.com/simple-rtmp-server/srs/issues/241#issuecomment-65554690
* The merged read algorithm is ok and can be simplified for: * 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. * 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. * 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+. * @remark this largely improve performance, from 3.5k+ to 7.5k+.
* the latency+ when cache+. * the latency+ when cache+.
* @remark the socket send buffer default to 185KB, it large enough. * @remark the socket send buffer default to 185KB, it large enough.
* @see https://github.com/winlinvip/simple-rtmp-server/issues/194 * @see https://github.com/simple-rtmp-server/srs/issues/194
* @see SrsConfig::get_mw_sleep_ms() * @see SrsConfig::get_mw_sleep_ms()
* @remark the mw sleep and msgs to send, maybe: * @remark the mw sleep and msgs to send, maybe:
* mw_sleep msgs iovs * 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. * whether set the socket send buffer size.
* @see https://github.com/winlinvip/simple-rtmp-server/issues/251 * @see https://github.com/simple-rtmp-server/srs/issues/251
*/ */
#define SRS_PERF_MW_SO_SNDBUF #define SRS_PERF_MW_SO_SNDBUF
/** /**
* whether set the socket recv buffer size. * whether set the socket recv buffer size.
* @see https://github.com/winlinvip/simple-rtmp-server/issues/251 * @see https://github.com/simple-rtmp-server/srs/issues/251
*/ */
#undef SRS_PERF_MW_SO_RCVBUF #undef SRS_PERF_MW_SO_RCVBUF
/** /**
* whether enable the fast vector for qeueue. * whether enable the fast vector for qeueue.
* @see https://github.com/winlinvip/simple-rtmp-server/issues/251 * @see https://github.com/simple-rtmp-server/srs/issues/251
*/ */
#define SRS_PERF_QUEUE_FAST_VECTOR #define SRS_PERF_QUEUE_FAST_VECTOR
/** /**
* whether use cond wait to send messages. * whether use cond wait to send messages.
* @remark this improve performance for large connectios. * @remark this improve performance for large connectios.
* @see https://github.com/winlinvip/simple-rtmp-server/issues/251 * @see https://github.com/simple-rtmp-server/srs/issues/251
*/ */
#define SRS_PERF_QUEUE_COND_WAIT #define SRS_PERF_QUEUE_COND_WAIT
#ifdef 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: * for min latence mode:
* 1. disable the mr for vhost. * 1. disable the mr for vhost.
* 2. use timeout for cond wait for consumer queue. * 2. use timeout for cond wait for consumer queue.
* @see https://github.com/winlinvip/simple-rtmp-server/issues/257 * @see https://github.com/simple-rtmp-server/srs/issues/257
*/ */
#define SRS_PERF_MIN_LATENCY_ENABLED false #define SRS_PERF_MIN_LATENCY_ENABLED false
/** /**
* how many chunk stream to cache, [0, N]. * how many chunk stream to cache, [0, N].
* to imporove about 10% performance when chunk size small, and 5% for large chunk. * to imporove about 10% performance when chunk size small, and 5% for large chunk.
* @see https://github.com/winlinvip/simple-rtmp-server/issues/249 * @see https://github.com/simple-rtmp-server/srs/issues/249
* @remark 0 to disable the chunk stream cache. * @remark 0 to disable the chunk stream cache.
*/ */
#define SRS_PERF_CHUNK_STREAM_CACHE 16 #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. * whether always use complex send algorithm.
* for some network does not support the complex send, * for some network does not support the complex send,
* @see https://github.com/winlinvip/simple-rtmp-server/issues/320 * @see https://github.com/simple-rtmp-server/srs/issues/320
*/ */
//#undef SRS_PERF_COMPLEX_SEND //#undef SRS_PERF_COMPLEX_SEND
#define SRS_PERF_COMPLEX_SEND #define SRS_PERF_COMPLEX_SEND
/** /**
* whether enable the TCP_NODELAY * whether enable the TCP_NODELAY
* user maybe need send small tcp packet for some network. * user maybe need send small tcp packet for some network.
* @see https://github.com/winlinvip/simple-rtmp-server/issues/320 * @see https://github.com/simple-rtmp-server/srs/issues/320
*/ */
//#define SRS_PERF_TCP_NODELAY //#define SRS_PERF_TCP_NODELAY
#undef SRS_PERF_TCP_NODELAY #undef SRS_PERF_TCP_NODELAY
/** /**
* set the socket send buffer, * set the socket send buffer,
* to force the server to send smaller tcp packet. * to force the server to send smaller tcp packet.
* @see https://github.com/winlinvip/simple-rtmp-server/issues/320 * @see https://github.com/simple-rtmp-server/srs/issues/320
* @remark undef it to auto calc it by merged write sleep ms. * @remark undef it to auto calc it by merged write sleep ms.
* @remark only apply it when SRS_PERF_MW_SO_RCVBUF is defined. * @remark only apply it when SRS_PERF_MW_SO_RCVBUF is defined.
*/ */

View file

@ -23,7 +23,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include <srs_kernel_aac.hpp> #include <srs_kernel_aac.hpp>
// for srs-librtmp, @see https://github.com/winlinvip/simple-rtmp-server/issues/213 // for srs-librtmp, @see https://github.com/simple-rtmp-server/srs/issues/213
#ifndef _WIN32 #ifndef _WIN32
#include <unistd.h> #include <unistd.h>
#endif #endif
@ -150,7 +150,7 @@ int SrsAacEncoder::write_audio(int64_t timestamp, char* data, int size)
// write the ADTS header. // write the ADTS header.
// @see aac-mp4a-format-ISO_IEC_14496-3+2001.pdf, page 75, // @see aac-mp4a-format-ISO_IEC_14496-3+2001.pdf, page 75,
// 1.A.2.2 Audio_Data_Transport_Stream frame, ADTS // 1.A.2.2 Audio_Data_Transport_Stream frame, ADTS
// @see https://github.com/winlinvip/simple-rtmp-server/issues/212#issuecomment-64145885 // @see https://github.com/simple-rtmp-server/srs/issues/212#issuecomment-64145885
// byte_alignment() // byte_alignment()
// adts_fixed_header: // adts_fixed_header:

View file

@ -584,7 +584,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 // 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 // @see: https://github.com/winlinvip/nginx-rtmp-module/commit/3a5f9eea78fc8d11e8be922aea9ac349b9dcbfc2
// //
// donot force to LC, @see: https://github.com/winlinvip/simple-rtmp-server/issues/81 // donot force to LC, @see: https://github.com/simple-rtmp-server/srs/issues/81
// the source will print the sequence header info. // the source will print the sequence header info.
//if (aac_profile > 3) { //if (aac_profile > 3) {
// Mark all extended profiles as LC // Mark all extended profiles as LC
@ -626,7 +626,7 @@ int SrsAvcAacCodec::video_avc_demux(char* data, int size, SrsCodecSample* sample
sample->frame_type = (SrsCodecVideoAVCFrame)frame_type; sample->frame_type = (SrsCodecVideoAVCFrame)frame_type;
// ignore info frame without error, // ignore info frame without error,
// @see https://github.com/winlinvip/simple-rtmp-server/issues/288#issuecomment-69863909 // @see https://github.com/simple-rtmp-server/srs/issues/288#issuecomment-69863909
if (sample->frame_type == SrsCodecVideoAVCFrameVideoInfoFrame) { if (sample->frame_type == SrsCodecVideoAVCFrameVideoInfoFrame) {
srs_warn("video codec igone the info frame, ret=%d", ret); srs_warn("video codec igone the info frame, ret=%d", ret);
return ret; return ret;
@ -1152,7 +1152,7 @@ int SrsAvcAacCodec::avc_demux_ibmf_format(SrsStream* stream, SrsCodecSample* sam
} }
// maybe stream is invalid format. // maybe stream is invalid format.
// see: https://github.com/winlinvip/simple-rtmp-server/issues/183 // see: https://github.com/simple-rtmp-server/srs/issues/183
if (NALUnitLength < 0) { if (NALUnitLength < 0) {
ret = ERROR_HLS_DECODE_ERROR; ret = ERROR_HLS_DECODE_ERROR;
srs_error("maybe stream is AnnexB format. ret=%d", ret); srs_error("maybe stream is AnnexB format. ret=%d", ret);

View file

@ -426,7 +426,7 @@ enum SrsAvcPayloadFormat
/** /**
* the aac profile, for ADTS(HLS/TS) * the aac profile, for ADTS(HLS/TS)
* @see https://github.com/winlinvip/simple-rtmp-server/issues/310 * @see https://github.com/simple-rtmp-server/srs/issues/310
*/ */
enum SrsAacProfile enum SrsAacProfile
{ {

View file

@ -100,7 +100,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
/** /**
* for performance issue, * for performance issue,
* the iovs cache, @see https://github.com/winlinvip/simple-rtmp-server/issues/194 * the iovs cache, @see https://github.com/simple-rtmp-server/srs/issues/194
* iovs cache for multiple messages for each connections. * 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, * 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) * so the iovs max should be (SRS_PERF_MW_MSGS * 2)
@ -110,7 +110,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define SRS_CONSTS_IOVS_MAX (SRS_PERF_MW_MSGS * 2) #define SRS_CONSTS_IOVS_MAX (SRS_PERF_MW_MSGS * 2)
/** /**
* for performance issue, * for performance issue,
* the c0c3 cache, @see https://github.com/winlinvip/simple-rtmp-server/issues/194 * the c0c3 cache, @see https://github.com/simple-rtmp-server/srs/issues/194
* c0c3 cache for multiple messages for each connections. * c0c3 cache for multiple messages for each connections.
* each c0 <= 16byes, suppose the chunk size is 64k, * each c0 <= 16byes, suppose the chunk size is 64k,
* each message send in a chunk which needs only a c0 header, * each message send in a chunk which needs only a c0 header,

View file

@ -30,7 +30,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include <srs_core.hpp> #include <srs_core.hpp>
// for srs-librtmp, @see https://github.com/winlinvip/simple-rtmp-server/issues/213 // for srs-librtmp, @see https://github.com/simple-rtmp-server/srs/issues/213
#ifndef _WIN32 #ifndef _WIN32
#define ERROR_SUCCESS 0 #define ERROR_SUCCESS 0
#endif #endif

View file

@ -23,7 +23,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include <srs_kernel_file.hpp> #include <srs_kernel_file.hpp>
// for srs-librtmp, @see https://github.com/winlinvip/simple-rtmp-server/issues/213 // for srs-librtmp, @see https://github.com/simple-rtmp-server/srs/issues/213
#ifndef _WIN32 #ifndef _WIN32
#include <unistd.h> #include <unistd.h>
#endif #endif

View file

@ -23,7 +23,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include <srs_kernel_flv.hpp> #include <srs_kernel_flv.hpp>
// for srs-librtmp, @see https://github.com/winlinvip/simple-rtmp-server/issues/213 // for srs-librtmp, @see https://github.com/simple-rtmp-server/srs/issues/213
#ifndef _WIN32 #ifndef _WIN32
#include <unistd.h> #include <unistd.h>
#endif #endif

View file

@ -23,7 +23,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include <srs_kernel_mp3.hpp> #include <srs_kernel_mp3.hpp>
// for srs-librtmp, @see https://github.com/winlinvip/simple-rtmp-server/issues/213 // for srs-librtmp, @see https://github.com/simple-rtmp-server/srs/issues/213
#ifndef _WIN32 #ifndef _WIN32
#include <unistd.h> #include <unistd.h>
#endif #endif

View file

@ -23,7 +23,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include <srs_kernel_ts.hpp> #include <srs_kernel_ts.hpp>
// for srs-librtmp, @see https://github.com/winlinvip/simple-rtmp-server/issues/213 // for srs-librtmp, @see https://github.com/simple-rtmp-server/srs/issues/213
#ifndef _WIN32 #ifndef _WIN32
#include <unistd.h> #include <unistd.h>
#endif #endif
@ -447,7 +447,7 @@ int SrsTsContext::encode_pes(SrsFileWriter* writer, SrsTsMessage* msg, int16_t p
} }
// it's ok to set pcr equals to dts, // it's ok to set pcr equals to dts,
// @see https://github.com/winlinvip/simple-rtmp-server/issues/311 // @see https://github.com/simple-rtmp-server/srs/issues/311
int64_t pcr = write_pcr? msg->dts : -1; int64_t pcr = write_pcr? msg->dts : -1;
// TODO: FIXME: finger it why use discontinuity of msg. // TODO: FIXME: finger it why use discontinuity of msg.
@ -956,7 +956,7 @@ int SrsTsAdaptationField::decode(SrsStream* stream)
pp[0] = *p++; pp[0] = *p++;
// @remark, use pcr base and ignore the extension // @remark, use pcr base and ignore the extension
// @see https://github.com/winlinvip/simple-rtmp-server/issues/250#issuecomment-71349370 // @see https://github.com/simple-rtmp-server/srs/issues/250#issuecomment-71349370
program_clock_reference_extension = pcrv & 0x1ff; program_clock_reference_extension = pcrv & 0x1ff;
const1_value0 = (pcrv >> 9) & 0x3F; const1_value0 = (pcrv >> 9) & 0x3F;
program_clock_reference_base = (pcrv >> 15) & 0x1ffffffffLL; program_clock_reference_base = (pcrv >> 15) & 0x1ffffffffLL;
@ -983,7 +983,7 @@ int SrsTsAdaptationField::decode(SrsStream* stream)
pp[0] = *p++; pp[0] = *p++;
// @remark, use pcr base and ignore the extension // @remark, use pcr base and ignore the extension
// @see https://github.com/winlinvip/simple-rtmp-server/issues/250#issuecomment-71349370 // @see https://github.com/simple-rtmp-server/srs/issues/250#issuecomment-71349370
original_program_clock_reference_extension = opcrv & 0x1ff; original_program_clock_reference_extension = opcrv & 0x1ff;
const1_value2 = (opcrv >> 9) & 0x3F; const1_value2 = (opcrv >> 9) & 0x3F;
original_program_clock_reference_base = (opcrv >> 15) & 0x1ffffffffLL; original_program_clock_reference_base = (opcrv >> 15) & 0x1ffffffffLL;
@ -1163,7 +1163,7 @@ int SrsTsAdaptationField::encode(SrsStream* stream)
stream->skip(6); stream->skip(6);
// @remark, use pcr base and ignore the extension // @remark, use pcr base and ignore the extension
// @see https://github.com/winlinvip/simple-rtmp-server/issues/250#issuecomment-71349370 // @see https://github.com/simple-rtmp-server/srs/issues/250#issuecomment-71349370
int64_t pcrv = program_clock_reference_extension & 0x1ff; int64_t pcrv = program_clock_reference_extension & 0x1ff;
pcrv |= (const1_value0 << 9) & 0x7E00; pcrv |= (const1_value0 << 9) & 0x7E00;
pcrv |= (program_clock_reference_base << 15) & 0x1FFFFFFFF000000LL; pcrv |= (program_clock_reference_base << 15) & 0x1FFFFFFFF000000LL;
@ -3136,7 +3136,7 @@ int SrsTsEncoder::write_video(int64_t timestamp, char* data, int size)
} }
// ignore info frame, // ignore info frame,
// @see https://github.com/winlinvip/simple-rtmp-server/issues/288#issuecomment-69863909 // @see https://github.com/simple-rtmp-server/srs/issues/288#issuecomment-69863909
if (sample->frame_type == SrsCodecVideoAVCFrameVideoInfoFrame) { if (sample->frame_type == SrsCodecVideoAVCFrameVideoInfoFrame) {
return ret; return ret;
} }

View file

@ -1568,7 +1568,7 @@ public:
* for user may need to update the acodec to mp3 or others, * for user may need to update the acodec to mp3 or others,
* so we use delay write PSI, when write audio or video. * so we use delay write PSI, when write audio or video.
* @remark for audio aac codec, for example, SRS1, it's ok to write PSI when open ts. * @remark for audio aac codec, for example, SRS1, it's ok to write PSI when open ts.
* @see https://github.com/winlinvip/simple-rtmp-server/issues/301 * @see https://github.com/simple-rtmp-server/srs/issues/301
*/ */
virtual int update_acodec(SrsCodecAudio ac); virtual int update_acodec(SrsCodecAudio ac);
/** /**

View file

@ -23,7 +23,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include <srs_kernel_utility.hpp> #include <srs_kernel_utility.hpp>
// for srs-librtmp, @see https://github.com/winlinvip/simple-rtmp-server/issues/213 // for srs-librtmp, @see https://github.com/simple-rtmp-server/srs/issues/213
#ifndef _WIN32 #ifndef _WIN32
#include <unistd.h> #include <unistd.h>
#include <netdb.h> #include <netdb.h>
@ -121,7 +121,7 @@ int64_t srs_update_system_time_ms()
return -1; return -1;
} }
// @see: https://github.com/winlinvip/simple-rtmp-server/issues/35 // @see: https://github.com/simple-rtmp-server/srs/issues/35
// we must convert the tv_sec/tv_usec to int64_t. // we must convert the tv_sec/tv_usec to int64_t.
int64_t now_us = ((int64_t)now.tv_sec) * 1000 * 1000 + (int64_t)now.tv_usec; int64_t now_us = ((int64_t)now.tv_sec) * 1000 * 1000 + (int64_t)now.tv_usec;
@ -143,7 +143,7 @@ int64_t srs_update_system_time_ms()
if (diff < 0 || diff > 1000 * SYS_TIME_RESOLUTION_US) { if (diff < 0 || diff > 1000 * SYS_TIME_RESOLUTION_US) {
srs_warn("system time jump, history=%"PRId64"us, now=%"PRId64"us, diff=%"PRId64"us", srs_warn("system time jump, history=%"PRId64"us, now=%"PRId64"us, diff=%"PRId64"us",
_srs_system_time_us_cache, now_us, diff); _srs_system_time_us_cache, now_us, diff);
// @see: https://github.com/winlinvip/simple-rtmp-server/issues/109 // @see: https://github.com/simple-rtmp-server/srs/issues/109
_srs_system_time_startup_time += diff; _srs_system_time_startup_time += diff;
} }

Some files were not shown because too many files have changed in this diff Show more