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:
parent
9a61ddf6ed
commit
921a56db9d
77 changed files with 423 additions and 423 deletions
|
@ -21,31 +21,31 @@ IF(NOT EXISTS ${PROJECT_SOURCE_DIR}/objs/st/libst.a)
|
|||
EXEC_PROGRAM(./configure)
|
||||
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/winlinvip/simple-rtmp-server/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/winlinvip/simple-rtmp-server/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/winlinvip/simple-rtmp-server/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/winlinvip/simple-rtmp-server/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/winlinvip/simple-rtmp-server/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/winlinvip/simple-rtmp-server/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/winlinvip/simple-rtmp-server/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/winlinvip/simple-rtmp-server/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/winlinvip/simple-rtmp-server/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/winlinvip/simple-rtmp-server/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/winlinvip/simple-rtmp-server/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/winlinvip/simple-rtmp-server/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/winlinvip/simple-rtmp-server/wiki/v1_CN_IDE#jetbrains")
|
||||
MESSAGE(STATUS "use ./configure && make, @see https://github.com/winlinvip/simple-rtmp-server#usage")
|
||||
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/simple-rtmp-server/srs/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/simple-rtmp-server/srs/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/simple-rtmp-server/srs/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/simple-rtmp-server/srs/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/simple-rtmp-server/srs/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/simple-rtmp-server/srs/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/simple-rtmp-server/srs/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/simple-rtmp-server/srs/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/simple-rtmp-server/srs/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/simple-rtmp-server/srs/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/simple-rtmp-server/srs/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/simple-rtmp-server/srs/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/simple-rtmp-server/srs/wiki/v1_CN_IDE#jetbrains")
|
||||
MESSAGE(STATUS "use ./configure && make, @see https://github.com/simple-rtmp-server/srs#usage")
|
||||
|
||||
|
|
|
@ -316,7 +316,7 @@ if [ $SRS_EMBEDED_CPU = YES ]; then
|
|||
echo "st-1.9t for arm is ok.";
|
||||
else
|
||||
# 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";
|
||||
(
|
||||
rm -rf ${SRS_OBJS}/st-1.9 && cd ${SRS_OBJS} &&
|
||||
|
|
|
@ -73,7 +73,7 @@ SRS_MIPS_UBUNTU12=NO
|
|||
SRS_DEV=NO
|
||||
# dev, open main server feature for dev, no utest/research/librtmp
|
||||
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
|
||||
# raspberry-pi, open hls/ssl/static
|
||||
SRS_PI=NO
|
||||
|
@ -171,7 +171,7 @@ Presets:
|
|||
--disable-all disable all features, only support vp6 RTMP.
|
||||
--dev for dev, open all features, no nginx/gperf/gprof/arm.
|
||||
--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.
|
||||
|
||||
Conflicts:
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# 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.
|
||||
|
||||
listen 19350;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# 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.
|
||||
|
||||
listen 1935;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# the config for srs to dvr in segment mode
|
||||
# @see https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_DVR
|
||||
# @see https://github.com/simple-rtmp-server/srs/wiki/v1_CN_DVR
|
||||
# @see full.conf for detail config.
|
||||
|
||||
listen 1935;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# the config for srs to dvr in session mode
|
||||
# @see https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_DVR
|
||||
# @see https://github.com/simple-rtmp-server/srs/wiki/v1_CN_DVR
|
||||
# @see full.conf for detail config.
|
||||
|
||||
listen 1935;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# 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.
|
||||
|
||||
listen 1935;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# 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.
|
||||
|
||||
listen 1935
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# 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.
|
||||
|
||||
listen 1935;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# 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.
|
||||
|
||||
listen 1935;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# 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.
|
||||
|
||||
listen 19350;
|
||||
|
|
|
@ -299,7 +299,7 @@ vhost with-hls.srs.com {
|
|||
# ignore, when error ignore and disable hls.
|
||||
# disconnect, when error disconnect the publish connection.
|
||||
# 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
|
||||
hls_on_error ignore;
|
||||
}
|
||||
|
@ -413,7 +413,7 @@ vhost debug.srs.com {
|
|||
# it's strongly recommend to open the debug_srs_upnode,
|
||||
# when connect to upnode, it will take the debug info,
|
||||
# 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
|
||||
debug_srs_upnode on;
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# 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.
|
||||
|
||||
listen 1935;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# 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.
|
||||
|
||||
listen 1935;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# 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.
|
||||
|
||||
listen 1935;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# 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.
|
||||
|
||||
listen 19350;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# the config for srs to delivery realtime RTMP stream
|
||||
# @see https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SampleRealtime
|
||||
# @see https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleRealtime
|
||||
# @see full.conf for detail config.
|
||||
|
||||
listen 1935;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# 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.
|
||||
|
||||
listen 1935;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# 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.
|
||||
|
||||
listen 1935;
|
||||
|
|
32
trunk/configure
vendored
32
trunk/configure
vendored
|
@ -134,7 +134,7 @@ BLACK="\\${BLACK}"
|
|||
|
||||
echo -e "\${GREEN}build summary:\${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: gperf memory check\${BLACK}"
|
||||
echo -e " | ${SrsGperfMCSummaryColor}env PPROF_PATH=./objs/pprof HEAPCHECK=normal ./objs/srs -c conf/console.conf # start gmc\${BLACK}"
|
||||
|
@ -150,7 +150,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}./objs/pprof --text objs/srs gperf.srs.gcp* # to analysis cpu profile\${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}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}"
|
||||
|
@ -160,7 +160,7 @@ echo -e " |${SrsResearchSummaryColor}research: ./objs/research, api server,
|
|||
echo -e " \${BLACK}+------------------------------------------------------------------------------------\${BLACK}"
|
||||
echo -e " |${SrsUtestSummaryColor}utest: ./objs/srs_utest, the utest for srs\${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}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}"
|
||||
|
@ -171,30 +171,30 @@ echo -e " | ${SrsLibrtmpSummaryColor}librtmp-sample: ./research/librtmp/
|
|||
echo -e " | ${SrsLibrtmpSummaryColor}librtmp-sample: ./research/librtmp/objs/srs_bandwidth_check\${BLACK}"
|
||||
echo -e " \${BLACK}+------------------------------------------------------------------------------------\${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/v1_CN_DeliveryHLS\${BLACK}"
|
||||
echo -e " | ${SrsHlsSummaryColor}hls @see: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_DeliveryHLS\${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/v1_CN_DVR\${BLACK}"
|
||||
echo -e " | ${SrsDvrSummaryColor}dvr @see: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_DVR\${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/v1_CN_DeliveryHLS\${BLACK}"
|
||||
echo -e " | ${SrsNginxSummaryColor}nginx @see: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_DeliveryHLS\${BLACK}"
|
||||
echo -e " | ${SrsNginxSummaryColor}nginx: delivery HLS stream by 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 " | ${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: ./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 " | ${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 " | ${SrsHttpCallbackSummaryColor}http-callback @see: https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_HTTPCallback\${BLACK}"
|
||||
echo -e " | ${SrsHttpCallbackSummaryColor}http-callback @see: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_HTTPCallback\${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/v1_CN_HTTPServer\${BLACK}"
|
||||
echo -e " | ${SrsHttpServerSummaryColor}http-server @see: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_HTTPServer\${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/v1_CN_HTTPApi\${BLACK}"
|
||||
echo -e " | ${SrsHttpApiSummaryColor}http-api @see: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_HTTPApi\${BLACK}"
|
||||
echo -e " | ${SrsHttpApiSummaryColor}http-api: support http api to manage server\${BLACK}"
|
||||
echo -e " \${BLACK}+------------------------------------------------------------------------------------\${BLACK}"
|
||||
echo -e "\${GREEN}binaries @see: https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_Build\${BLACK}"
|
||||
echo -e "\${GREEN}binaries @see: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Build\${BLACK}"
|
||||
|
||||
echo "you can:"
|
||||
echo " ./objs/srs -c conf/srs.conf"
|
||||
|
@ -286,7 +286,7 @@ install-api: install
|
|||
@echo " sudo ln -sf \$(SRS_PREFIX)/etc/init.d/srs-api /etc/init.d/srs-api"
|
||||
@echo " /etc/init.d/srs-api start"
|
||||
@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:
|
||||
@echo "mkdir \$(__REAL_INSTALL)"
|
||||
|
@ -308,7 +308,7 @@ install:
|
|||
@echo "srs installed, to link and start srs:"
|
||||
@echo " sudo ln -sf \$(SRS_PREFIX)/etc/init.d/srs /etc/init.d/srs"
|
||||
@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
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
# Default-Start: 2 3 4 5
|
||||
# Default-Stop: 0 1 6
|
||||
# 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
|
||||
|
||||
# the config of ROOT, user must modify it when start srs from other directory,
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
# Default-Start: 2 3 4 5
|
||||
# Default-Stop: 0 1 6
|
||||
# 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
|
||||
|
||||
# the config of ROOT, user must modify it when start srs from other directory,
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
# Default-Start: 2 3 4 5
|
||||
# Default-Stop: 0 1 6
|
||||
# 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
|
||||
|
||||
# the config of ROOT, user must modify it when start srs from other directory,
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
# Default-Start: 2 3 4 5
|
||||
# Default-Stop: 0 1 6
|
||||
# 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
|
||||
|
||||
# the config of ROOT, user must modify it when start srs from other directory,
|
||||
|
|
|
@ -1088,7 +1088,7 @@ if len(sys.argv) <= 1:
|
|||
print "For example:"
|
||||
print " python %s 8085"%(sys.argv[0])
|
||||
print ""
|
||||
print "See also: https://github.com/winlinvip/simple-rtmp-server"
|
||||
print "See also: https://github.com/simple-rtmp-server/srs"
|
||||
sys.exit(1)
|
||||
|
||||
# parse port from user options.
|
||||
|
|
|
@ -44,7 +44,7 @@
|
|||
<div class="container">
|
||||
<hr>
|
||||
<footer>
|
||||
<p><a href="https://github.com/winlinvip/simple-rtmp-server">SRS Team © 2013</a></p>
|
||||
<p><a href="https://github.com/simple-rtmp-server/srs">SRS Team © 2013</a></p>
|
||||
</footer>
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
@ -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 jmp jmp.cpp -static
|
||||
arm-linux-gnueabi-strip jmp
|
||||
*/
|
||||
|
|
|
@ -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++ -g -o jmp_sp jmp_sp.cpp -static
|
||||
arm-linux-gnueabi-strip jmp_sp
|
||||
*/
|
||||
|
|
|
@ -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-strip test
|
||||
*/
|
||||
|
|
|
@ -32,7 +32,7 @@ help:
|
|||
@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 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"
|
||||
|
||||
clean:
|
||||
|
|
|
@ -43,7 +43,7 @@ int main(int argc, char** argv)
|
|||
printf("srs(simple-rtmp-server) client librtmp library.\n");
|
||||
printf("version: %d.%d.%d\n", srs_version_major(), srs_version_minor(), srs_version_revision());
|
||||
// warn it .
|
||||
// @see: https://github.com/winlinvip/simple-rtmp-server/issues/126
|
||||
// @see: https://github.com/simple-rtmp-server/srs/issues/126
|
||||
printf("\033[33m%s\033[0m",
|
||||
"[warning] it's only a sample to use librtmp. "
|
||||
"please never use it to publish and test forward/transcode/edge/HLS whatever. "
|
||||
|
|
|
@ -56,7 +56,7 @@
|
|||
<div class="container">
|
||||
<hr>
|
||||
<footer>
|
||||
<p><a href="https://github.com/winlinvip/simple-rtmp-server">SRS Team © 2013</a></p>
|
||||
<p><a href="https://github.com/simple-rtmp-server/srs">SRS Team © 2013</a></p>
|
||||
</footer>
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
@ -126,7 +126,7 @@
|
|||
</div>
|
||||
<hr>
|
||||
<footer>
|
||||
<p><a href="https://github.com/winlinvip/simple-rtmp-server">SRS Team © 2013</a></p>
|
||||
<p><a href="https://github.com/simple-rtmp-server/srs">SRS Team © 2013</a></p>
|
||||
</footer>
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
@ -116,7 +116,7 @@
|
|||
</div>
|
||||
<hr>
|
||||
<footer>
|
||||
<p><a href="https://github.com/winlinvip/simple-rtmp-server">SRS Team © 2013</a></p>
|
||||
<p><a href="https://github.com/simple-rtmp-server/srs">SRS Team © 2013</a></p>
|
||||
</footer>
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
@ -132,7 +132,7 @@
|
|||
</div>
|
||||
<hr>
|
||||
<footer>
|
||||
<p><a href="https://github.com/winlinvip/simple-rtmp-server">SRS Team © 2013</a></p>
|
||||
<p><a href="https://github.com/simple-rtmp-server/srs">SRS Team © 2013</a></p>
|
||||
</footer>
|
||||
<div class="container">
|
||||
<div id="player"></div>
|
||||
|
|
|
@ -781,7 +781,7 @@
|
|||
</div>
|
||||
<hr/>
|
||||
<footer>
|
||||
<p><a href="https://github.com/winlinvip/simple-rtmp-server">SRS Team © 2013</a></p>
|
||||
<p><a href="https://github.com/simple-rtmp-server/srs">SRS Team © 2013</a></p>
|
||||
</footer>
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
@ -297,7 +297,7 @@
|
|||
<div class="container">
|
||||
<hr/>
|
||||
<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>
|
||||
<div class="accordion" id="main_accordion">
|
||||
|
@ -462,7 +462,7 @@
|
|||
<div id="main_modal" class="modal hide fade">
|
||||
<div class="modal-header">
|
||||
<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 class="modal-body">
|
||||
<div id="player"></div>
|
||||
|
@ -523,7 +523,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<footer>
|
||||
<p><a href="https://github.com/winlinvip/simple-rtmp-server">SRS Team © 2013</a></p>
|
||||
<p><a href="https://github.com/simple-rtmp-server/srs">SRS Team © 2013</a></p>
|
||||
</footer>
|
||||
</div>
|
||||
</body>
|
|
@ -460,7 +460,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<footer>
|
||||
<p><a href="https://github.com/winlinvip/simple-rtmp-server">SRS Team © 2013</a></p>
|
||||
<p><a href="https://github.com/simple-rtmp-server/srs">SRS Team © 2013</a></p>
|
||||
</footer>
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
@ -45,7 +45,7 @@
|
|||
<div class="container">
|
||||
<hr>
|
||||
<footer>
|
||||
<p><a href="https://github.com/winlinvip/simple-rtmp-server">SRS Team © 2013</a></p>
|
||||
<p><a href="https://github.com/simple-rtmp-server/srs">SRS Team © 2013</a></p>
|
||||
</footer>
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
@ -108,7 +108,7 @@ else
|
|||
fi
|
||||
|
||||
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 -e "${GREEN} sudo /etc/init.d/srs start${BLACK}"
|
||||
echo "srs root is ${INSTALL}"
|
||||
|
|
|
@ -108,7 +108,7 @@ fi
|
|||
ok_msg "real os is ${os_name}-${os_major_version} ${os_release} ${os_machine}"
|
||||
|
||||
# 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"
|
||||
if [ $ARM = YES ]; then
|
||||
(
|
||||
|
|
|
@ -51,4 +51,4 @@ echo -e "${GREEN}请在hosts中添加一行:${BLACK}"
|
|||
echo -e "${RED} $ip demo.srs.com${BLACK}"
|
||||
echo -e "${GREEN}演示地址:${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"
|
||||
|
|
|
@ -252,7 +252,7 @@ int SrsAvcAacCodec::audio_aac_demux(char* data, int size, SrsCodecSample* sample
|
|||
// Table 1. A.9 ¨C MPEG-2 Audio profiles and MPEG-4 Audio object types
|
||||
// so the aac_profile should plus 1, not minus 1, and nginx-rtmp used it to
|
||||
// downcast aac SSR to LC.
|
||||
// @see https://github.com/winlinvip/simple-rtmp-server/issues/310
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/310
|
||||
// TODO: FIXME: fix the following in future version.
|
||||
// aac_profile = audioObjectType - 1
|
||||
aac_profile--;
|
||||
|
@ -260,7 +260,7 @@ int SrsAvcAacCodec::audio_aac_demux(char* data, int size, SrsCodecSample* sample
|
|||
// TODO: FIXME: to support aac he/he-v2, see: ngx_rtmp_codec_parse_aac_header
|
||||
// @see: https://github.com/winlinvip/nginx-rtmp-module/commit/3a5f9eea78fc8d11e8be922aea9ac349b9dcbfc2
|
||||
//
|
||||
// donot force to LC, @see: https://github.com/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.
|
||||
//if (aac_profile > 3) {
|
||||
// Mark all extended profiles as LC
|
||||
|
@ -345,7 +345,7 @@ int SrsAvcAacCodec::video_avc_demux(char* data, int size, SrsCodecSample* sample
|
|||
sample->frame_type = (SrsCodecVideoAVCFrame)frame_type;
|
||||
|
||||
// ignore info frame without error,
|
||||
// @see https://github.com/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) {
|
||||
srs_warn("hls igone the info frame, ret=%d", ret);
|
||||
return ret;
|
||||
|
@ -489,7 +489,7 @@ int SrsAvcAacCodec::video_avc_demux(char* data, int size, SrsCodecSample* sample
|
|||
}
|
||||
|
||||
// maybe stream is AnnexB format.
|
||||
// see: https://github.com/winlinvip/simple-rtmp-server/issues/183
|
||||
// see: https://github.com/simple-rtmp-server/srs/issues/183
|
||||
if (NALUnitLength < 0) {
|
||||
ret = ERROR_HLS_DECODE_ERROR;
|
||||
srs_error("maybe stream is AnnexB format. ret=%d", ret);
|
||||
|
|
|
@ -48,7 +48,7 @@ using namespace std;
|
|||
|
||||
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"
|
||||
|
||||
// '\n'
|
||||
#define __LF (char)0x0a
|
||||
|
|
|
@ -478,7 +478,7 @@ public:
|
|||
* whether debug_srs_upnode is enabled of vhost.
|
||||
* debug_srs_upnode is very important feature for tracable log,
|
||||
* but some server, for instance, flussonic donot support it.
|
||||
* @see https://github.com/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.
|
||||
* @remark, default true.
|
||||
*/
|
||||
|
@ -834,7 +834,7 @@ public:
|
|||
* get the hls hls_on_error config.
|
||||
* the ignore will ignore error and disable hls.
|
||||
* the disconnect will disconnect publish connection.
|
||||
* @see https://github.com/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);
|
||||
// dvr section
|
||||
|
|
|
@ -36,7 +36,7 @@ SrsConnection::SrsConnection(SrsServer* srs_server, st_netfd_t client_stfd)
|
|||
// the client thread should reap itself,
|
||||
// so we never use joinable.
|
||||
// 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(this, 0, false);
|
||||
}
|
||||
|
||||
|
|
|
@ -480,7 +480,7 @@ int SrsDvrSegmentPlan::update_duration(SrsSharedPtrMessage* msg)
|
|||
}
|
||||
|
||||
// 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 (!msg->header.is_video()) {
|
||||
return ret;
|
||||
|
|
|
@ -219,7 +219,7 @@ int SrsEdgeIngester::connect_app(string ep_server, string ep_port)
|
|||
}
|
||||
|
||||
// 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;
|
||||
data->set("srs_sig", SrsAmf0Any::str(RTMP_SIG_SRS_KEY));
|
||||
data->set("srs_server", SrsAmf0Any::str(RTMP_SIG_SRS_SERVER));
|
||||
|
@ -247,7 +247,7 @@ int SrsEdgeIngester::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);
|
||||
|
||||
// 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.
|
||||
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) {
|
||||
|
@ -330,7 +330,7 @@ int SrsEdgeIngester::connect_server(string& ep_server, string& ep_port)
|
|||
|
||||
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,
|
||||
// then user remove the vhost then reload, the conf is empty.
|
||||
if (!conf) {
|
||||
|
@ -651,7 +651,7 @@ int SrsEdgeForwarder::connect_app(string ep_server, string ep_port)
|
|||
}
|
||||
|
||||
// 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;
|
||||
data->set("srs_sig", SrsAmf0Any::str(RTMP_SIG_SRS_KEY));
|
||||
data->set("srs_server", SrsAmf0Any::str(RTMP_SIG_SRS_SERVER));
|
||||
|
@ -679,7 +679,7 @@ int SrsEdgeForwarder::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);
|
||||
|
||||
// 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.
|
||||
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) {
|
||||
|
@ -816,7 +816,7 @@ int SrsPublishEdge::on_client_publish()
|
|||
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,
|
||||
// directly enter the publish stage.
|
||||
if (true) {
|
||||
|
@ -828,7 +828,7 @@ int SrsPublishEdge::on_client_publish()
|
|||
// start to forward stream to origin.
|
||||
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
|
||||
if (ret != ERROR_SUCCESS) {
|
||||
SrsEdgeState pstate = state;
|
||||
|
|
|
@ -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 (abitrate < 16 || abitrate > 72) {
|
||||
ret = ERROR_ENCODER_ABITRATE;
|
||||
|
@ -211,7 +211,7 @@ int SrsFFMPEG::initialize_transcode(SrsConfDirective* engine)
|
|||
|
||||
// for not rtmp input, donot append the iformat,
|
||||
// for example, "-f flv" before "-i udp://192.168.1.252:2222"
|
||||
// @see https://github.com/winlinvip/simple-rtmp-server/issues/290
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/290
|
||||
if (input.find("rtmp://") != 0) {
|
||||
iformat = "";
|
||||
}
|
||||
|
|
|
@ -333,7 +333,7 @@ int SrsForwarder::connect_app(string ep_server, string ep_port)
|
|||
}
|
||||
|
||||
// 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;
|
||||
data->set("srs_sig", SrsAmf0Any::str(RTMP_SIG_SRS_KEY));
|
||||
data->set("srs_server", SrsAmf0Any::str(RTMP_SIG_SRS_SERVER));
|
||||
|
@ -361,7 +361,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);
|
||||
|
||||
// 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.
|
||||
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) {
|
||||
|
|
|
@ -67,7 +67,7 @@ private:
|
|||
SrsMessageQueue* queue;
|
||||
/**
|
||||
* 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_video;
|
||||
|
|
|
@ -79,7 +79,7 @@ using namespace std;
|
|||
// @see: NGX_RTMP_HLS_DELAY,
|
||||
// 63000: 700ms, ts_tbn=90000
|
||||
// 72000: 800ms, ts_tbn=90000
|
||||
// @see https://github.com/winlinvip/simple-rtmp-server/issues/151#issuecomment-71352511
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/151#issuecomment-71352511
|
||||
#define SRS_AUTO_HLS_DELAY 72000
|
||||
|
||||
// the mpegts header specifed the video/audio pid.
|
||||
|
@ -138,7 +138,7 @@ u_int8_t mpegts_header[] = {
|
|||
0xe1, 0x00,
|
||||
0xf0, 0x00,
|
||||
// must generate header with/without video, @see:
|
||||
// https://github.com/winlinvip/simple-rtmp-server/issues/40
|
||||
// https://github.com/simple-rtmp-server/srs/issues/40
|
||||
0x1b, 0xe1, 0x00, 0xf0, 0x00, /* h264, pid=0x100=256 */
|
||||
0x0f, 0xe1, 0x01, 0xf0, 0x00, /* aac, pid=0x101=257 */
|
||||
/*0x03, 0xe1, 0x01, 0xf0, 0x00,*/ /* mp3 */
|
||||
|
@ -239,7 +239,7 @@ public:
|
|||
p[-1] |= 0x20; // Both Adaption and Payload
|
||||
*p++ = 7; // size
|
||||
*p++ = 0x50; // random access + PCR
|
||||
// about the pcr, read https://github.com/winlinvip/simple-rtmp-server/issues/151#issuecomment-71352511
|
||||
// about the pcr, read https://github.com/simple-rtmp-server/srs/issues/151#issuecomment-71352511
|
||||
p = write_pcr(p, frame->dts);
|
||||
}
|
||||
|
||||
|
@ -373,7 +373,7 @@ private:
|
|||
{
|
||||
// the pcr=dts-delay, where dts = frame->dts + delay
|
||||
// and the pcr should never be negative
|
||||
// @see https://github.com/winlinvip/simple-rtmp-server/issues/268
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/268
|
||||
srs_assert(pcr >= 0);
|
||||
|
||||
int64_t v = pcr;
|
||||
|
@ -1099,9 +1099,9 @@ int SrsHlsCache::write_audio(SrsAvcAacCodec* codec, SrsHlsMuxer* muxer, int64_t
|
|||
// for example, pure audio when start, audio/video when publishing,
|
||||
// pure audio again for audio disabled.
|
||||
// so we reap event when the audio incoming when segment overflow.
|
||||
// @see https://github.com/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
|
||||
// @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 (muxer->is_segment_absolutely_overflow()) {
|
||||
if ((ret = reap_segment("audio", muxer, af->pts)) != ERROR_SUCCESS) {
|
||||
return ret;
|
||||
|
@ -1290,7 +1290,7 @@ int SrsHlsCache::cache_video(SrsAvcAacCodec* codec, SrsCodecSample* sample)
|
|||
if (!aud_sent) {
|
||||
// @remark, when got type 9, we donot send aud_nal, but it will make
|
||||
// ios unhappy, so we remove it.
|
||||
// @see https://github.com/winlinvip/simple-rtmp-server/issues/281
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/281
|
||||
/*if (nal_unit_type == 9) {
|
||||
aud_sent = true;
|
||||
}*/
|
||||
|
@ -1508,7 +1508,7 @@ int SrsHls::on_video(SrsSharedPtrMessage* video)
|
|||
}
|
||||
|
||||
// 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) {
|
||||
return ret;
|
||||
}
|
||||
|
@ -1545,7 +1545,7 @@ void SrsHls::hls_mux()
|
|||
// reportable
|
||||
if (pithy_print->can_print()) {
|
||||
// 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.
|
||||
srs_trace("-> "SRS_CONSTS_LOG_HLS
|
||||
" time=%"PRId64", stream dts=%"PRId64"(%"PRId64"ms), sequence_no=%d",
|
||||
|
|
|
@ -199,7 +199,7 @@ public:
|
|||
/**
|
||||
* whether segment absolutely overflow, for pure audio to reap segment,
|
||||
* that is whether the current segment duration>=2*(the segment in config)
|
||||
* @see https://github.com/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 int flush_audio(SrsMpegtsFrame* af, SrsBuffer* ab);
|
||||
|
|
|
@ -163,7 +163,7 @@ int SrsHttpVhost::do_process_request(SrsStSocket* skt, SrsHttpMessage* req)
|
|||
{
|
||||
std::string fullpath = get_request_file(req);
|
||||
|
||||
// TODO: FIXME: support mp4, @see https://github.com/winlinvip/simple-rtmp-server/issues/174
|
||||
// TODO: FIXME: support mp4, @see https://github.com/simple-rtmp-server/srs/issues/174
|
||||
if (srs_string_ends_with(fullpath, ".ts")) {
|
||||
return response_ts_file(skt, req, fullpath);
|
||||
} else if (srs_string_ends_with(fullpath, ".flv") || srs_string_ends_with(fullpath, ".fhv")) {
|
||||
|
|
|
@ -36,7 +36,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
* when reload callback, the config is updated yet.
|
||||
*
|
||||
* features not support reload,
|
||||
* @see: https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_Reload#notsupportedfeatures
|
||||
* @see: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Reload#notsupportedfeatures
|
||||
*/
|
||||
class ISrsReloadHandler
|
||||
{
|
||||
|
|
|
@ -245,7 +245,7 @@ int SrsRtmpConn::service_cycle()
|
|||
}
|
||||
|
||||
// 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
|
||||
bool vhost_is_edge = _srs_config->get_vhost_is_edge(req->vhost);
|
||||
bool edge_traverse = _srs_config->get_vhost_edge_token_traverse(req->vhost);
|
||||
if (vhost_is_edge && edge_traverse) {
|
||||
|
@ -296,7 +296,7 @@ int SrsRtmpConn::service_cycle()
|
|||
// logical accept and retry stream service.
|
||||
if (ret == ERROR_CONTROL_RTMP_CLOSE) {
|
||||
// TODO: FIXME: use ping message to anti-death of socket.
|
||||
// @see: https://github.com/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.
|
||||
rtmp->set_recv_timeout(SRS_PAUSED_RECV_TIMEOUT_US);
|
||||
rtmp->set_send_timeout(SRS_PAUSED_SEND_TIMEOUT_US);
|
||||
|
@ -604,7 +604,7 @@ int SrsRtmpConn::playing(SrsSource* source)
|
|||
}
|
||||
|
||||
// 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 (duration >= (int64_t)req->duration) {
|
||||
ret = ERROR_RTMP_DURATION_EXCEED;
|
||||
|
@ -919,7 +919,7 @@ int SrsRtmpConn::process_play_control_msg(SrsConsumer* consumer, SrsMessage* msg
|
|||
SrsAutoFree(SrsPacket, pkt);
|
||||
|
||||
// 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);
|
||||
if (close) {
|
||||
ret = ERROR_CONTROL_RTMP_CLOSE;
|
||||
|
@ -929,7 +929,7 @@ int SrsRtmpConn::process_play_control_msg(SrsConsumer* consumer, SrsMessage* msg
|
|||
|
||||
// call msg,
|
||||
// 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.
|
||||
SrsCallPacket* call = dynamic_cast<SrsCallPacket*>(pkt);
|
||||
if (call) {
|
||||
|
|
|
@ -64,7 +64,7 @@ private:
|
|||
SrsBandwidth* bandwidth;
|
||||
// elapse duration in ms
|
||||
// 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;
|
||||
SrsKbps* kbps;
|
||||
public:
|
||||
|
|
|
@ -252,7 +252,7 @@ void SrsMessageQueue::shrink()
|
|||
// 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 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) {
|
||||
clear();
|
||||
return;
|
||||
|
@ -1057,7 +1057,7 @@ int SrsSource::on_audio(SrsMessage* __audio)
|
|||
#ifdef SRS_AUTO_HLS
|
||||
if ((ret = hls->on_audio(msg.copy())) != ERROR_SUCCESS) {
|
||||
// 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);
|
||||
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);
|
||||
|
@ -1183,7 +1183,7 @@ int SrsSource::on_video(SrsMessage* __video)
|
|||
#ifdef SRS_AUTO_HLS
|
||||
if ((ret = hls->on_video(msg.copy())) != ERROR_SUCCESS) {
|
||||
// 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);
|
||||
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);
|
||||
|
|
|
@ -222,7 +222,7 @@ private:
|
|||
*
|
||||
* @remark, it is ok for performance, for when we clear the gop cache,
|
||||
* gop cache is disabled for pure audio stream.
|
||||
* @see: https://github.com/winlinvip/simple-rtmp-server/issues/124
|
||||
* @see: https://github.com/simple-rtmp-server/srs/issues/124
|
||||
*/
|
||||
int audio_after_last_video_count;
|
||||
/**
|
||||
|
|
|
@ -44,7 +44,7 @@ int srs_init_st()
|
|||
int ret = ERROR_SUCCESS;
|
||||
|
||||
// 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()) {
|
||||
ret = ERROR_ST_SET_EPOLL;
|
||||
srs_error("epoll required. ret=%d", ret);
|
||||
|
|
|
@ -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).
|
||||
// Otherwise, a value of -1 is returned and errno is set to indicate the error.
|
||||
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) {
|
||||
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)
|
||||
// Otherwise, a value of -1 is returned and errno is set to indicate the error.
|
||||
if (nb_read != (ssize_t)size) {
|
||||
// @see https://github.com/winlinvip/simple-rtmp-server/issues/200
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/200
|
||||
if (nb_read < 0 && errno == ETIME) {
|
||||
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.
|
||||
// Otherwise, a value of -1 is returned and errno is set to indicate the error.
|
||||
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) {
|
||||
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.
|
||||
// Otherwise, a value of -1 is returned and errno is set to indicate the error.
|
||||
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) {
|
||||
return ERROR_SOCKET_TIMEOUT;
|
||||
}
|
||||
|
|
|
@ -66,7 +66,7 @@ SrsThread::SrsThread(ISrsThreadHandler* thread_handler, int64_t interval_us, boo
|
|||
|
||||
// in start(), the thread cycle method maybe stop and remove the thread itself,
|
||||
// and the thread start() is waiting for the _cid, and segment fault then.
|
||||
// @see https://github.com/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.
|
||||
can_run = false;
|
||||
}
|
||||
|
|
|
@ -100,11 +100,11 @@ public:
|
|||
* @param interval_us, the sleep interval when cycle finished.
|
||||
* @param joinable, if joinable, other thread must stop the thread.
|
||||
* @remark if joinable, thread never quit itself, or memory leak.
|
||||
* @see: https://github.com/winlinvip/simple-rtmp-server/issues/78
|
||||
* @see: https://github.com/simple-rtmp-server/srs/issues/78
|
||||
*/
|
||||
/**
|
||||
* 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(ISrsThreadHandler* thread_handler, int64_t interval_us, bool joinable);
|
||||
virtual ~SrsThread();
|
||||
|
|
|
@ -931,7 +931,7 @@ void retrieve_local_ipv4_ips()
|
|||
// retrieve ipv4 addr
|
||||
// ignore the tun0 network device,
|
||||
// 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) {
|
||||
in_addr* inaddr = &((sockaddr_in*)addr)->sin_addr;
|
||||
|
||||
|
|
|
@ -48,8 +48,8 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#define RTMP_SIG_SRS_AUTHROS "wenjie.zhao"
|
||||
#define RTMP_SIG_SRS_CONTRIBUTORS_URL RTMP_SIG_SRS_URL"/blob/master/AUTHORS.txt"
|
||||
#define RTMP_SIG_SRS_HANDSHAKE RTMP_SIG_SRS_KEY"("RTMP_SIG_SRS_VERSION")"
|
||||
#define RTMP_SIG_SRS_RELEASE "https://github.com/winlinvip/simple-rtmp-server/tree/1.0release"
|
||||
#define RTMP_SIG_SRS_HTTP_SERVER "https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_HTTPServer#feature"
|
||||
#define RTMP_SIG_SRS_RELEASE "https://github.com/simple-rtmp-server/srs/tree/1.0release"
|
||||
#define RTMP_SIG_SRS_HTTP_SERVER "https://github.com/simple-rtmp-server/srs/wiki/v1_CN_HTTPServer#feature"
|
||||
#define RTMP_SIG_SRS_VERSION __SRS_XSTR(VERSION_MAJOR)"."__SRS_XSTR(VERSION_MINOR)"."__SRS_XSTR(VERSION_REVISION)
|
||||
#define RTMP_SIG_SRS_SERVER RTMP_SIG_SRS_KEY"/"RTMP_SIG_SRS_VERSION"("RTMP_SIG_SRS_CODE")"
|
||||
|
||||
|
|
|
@ -66,7 +66,7 @@ void srs_update_system_time_ms()
|
|||
return;
|
||||
}
|
||||
|
||||
// @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.
|
||||
int64_t now_us = ((int64_t)now.tv_sec) * 1000 * 1000 + (int64_t)now.tv_usec;
|
||||
|
||||
|
@ -88,7 +88,7 @@ void srs_update_system_time_ms()
|
|||
if (diff < 0 || diff > 1000 * SYS_TIME_RESOLUTION_US) {
|
||||
srs_warn("system time jump, history=%"PRId64"us, now=%"PRId64"us, diff=%"PRId64"us",
|
||||
_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;
|
||||
}
|
||||
|
||||
|
|
|
@ -153,7 +153,7 @@ int SimpleSocketStream::writev(const iovec *iov, int iov_size, ssize_t* nwrite)
|
|||
// the writev() function returns the number of bytes written. On error, -1 is
|
||||
// returned, and errno is set appropriately.
|
||||
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) {
|
||||
return ERROR_SOCKET_TIMEOUT;
|
||||
}
|
||||
|
@ -210,7 +210,7 @@ int SimpleSocketStream::write(void* buf, size_t size, ssize_t* nwrite)
|
|||
}
|
||||
|
||||
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) {
|
||||
return ERROR_SOCKET_TIMEOUT;
|
||||
}
|
||||
|
|
|
@ -203,7 +203,7 @@ int main(int argc, char** argv)
|
|||
// for special features.
|
||||
#ifdef SRS_AUTO_HTTP_SERVER
|
||||
srs_warn("http server is dev feature, "
|
||||
"@see https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_HTTPServer#feature");
|
||||
"@see https://github.com/simple-rtmp-server/srs/wiki/v1_CN_HTTPServer#feature");
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
|
|
@ -201,12 +201,12 @@ namespace _srs_internal
|
|||
|
||||
// maybe the key_size is 127, but dh will write all 128bytes pkey,
|
||||
// so, donot need to set/initialize the pkey.
|
||||
// @see https://github.com/winlinvip/simple-rtmp-server/issues/165
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/165
|
||||
key_size = BN_bn2bin(pdh->pub_key, (unsigned char*)pkey);
|
||||
srs_assert(key_size > 0);
|
||||
|
||||
// output the size of public key.
|
||||
// @see https://github.com/winlinvip/simple-rtmp-server/issues/165
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/165
|
||||
srs_assert(key_size <= pkey_size);
|
||||
pkey_size = key_size;
|
||||
|
||||
|
@ -226,7 +226,7 @@ namespace _srs_internal
|
|||
// if failed, donot return, do cleanup, @see ./test/dhtest.c:168
|
||||
// maybe the key_size is 127, but dh will write all 128bytes skey,
|
||||
// so, donot need to set/initialize the skey.
|
||||
// @see https://github.com/winlinvip/simple-rtmp-server/issues/165
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/165
|
||||
int32_t key_size = DH_compute_key((unsigned char*)skey, ppk, pdh);
|
||||
|
||||
if (key_size < ppkey_size) {
|
||||
|
@ -945,7 +945,7 @@ namespace _srs_internal
|
|||
srs_digest_block_init(&block1.digest);
|
||||
|
||||
// directly generate the public key.
|
||||
// @see: https://github.com/winlinvip/simple-rtmp-server/issues/148
|
||||
// @see: https://github.com/simple-rtmp-server/srs/issues/148
|
||||
int pkey_size = 128;
|
||||
if ((ret = dh.copy_public_key(block0.key.key, pkey_size)) != ERROR_SUCCESS) {
|
||||
srs_error("calc s1 key failed. ret=%d", ret);
|
||||
|
@ -957,7 +957,7 @@ namespace _srs_internal
|
|||
srs_key_block_init(&block1.key);
|
||||
|
||||
// directly generate the public key.
|
||||
// @see: https://github.com/winlinvip/simple-rtmp-server/issues/148
|
||||
// @see: https://github.com/simple-rtmp-server/srs/issues/148
|
||||
int pkey_size = 128;
|
||||
if ((ret = dh.copy_public_key(block1.key.key, pkey_size)) != ERROR_SUCCESS) {
|
||||
srs_error("calc s1 key failed. ret=%d", ret);
|
||||
|
|
|
@ -290,7 +290,7 @@ int SrsHandshakeBytes::create_s0s1s2(const char* c1)
|
|||
}
|
||||
|
||||
// if c1 specified, copy c1 to s2.
|
||||
// @see: https://github.com/winlinvip/simple-rtmp-server/issues/46
|
||||
// @see: https://github.com/simple-rtmp-server/srs/issues/46
|
||||
if (c1) {
|
||||
memcpy(s0s1s2 + 1537, c1, 1536);
|
||||
}
|
||||
|
@ -478,7 +478,7 @@ int SrsRtmpClient::connect_app2(
|
|||
}
|
||||
pkt->command_object->set("objectEncoding", SrsAmf0Any::number(0));
|
||||
|
||||
// @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.
|
||||
if (debug_srs_upnode && req && req->args) {
|
||||
srs_freep(pkt->args);
|
||||
|
@ -1013,7 +1013,7 @@ int SrsRtmpServer::identify_client(int stream_id, SrsRtmpConnType& type, string&
|
|||
}
|
||||
// call msg,
|
||||
// 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.
|
||||
SrsCallPacket* call = dynamic_cast<SrsCallPacket*>(pkt);
|
||||
if (call) {
|
||||
|
@ -1103,7 +1103,7 @@ int SrsRtmpServer::start_play(int stream_id)
|
|||
SrsSampleAccessPacket* pkt = new SrsSampleAccessPacket();
|
||||
|
||||
// allow audio/video sample.
|
||||
// @see: https://github.com/winlinvip/simple-rtmp-server/issues/49
|
||||
// @see: https://github.com/simple-rtmp-server/srs/issues/49
|
||||
pkt->audio_sample_access = true;
|
||||
pkt->video_sample_access = true;
|
||||
|
||||
|
|
|
@ -81,12 +81,12 @@ public:
|
|||
std::string stream;
|
||||
// for play live stream,
|
||||
// used to specified the stop when exceed the duration.
|
||||
// @see https://github.com/winlinvip/simple-rtmp-server/issues/45
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/45
|
||||
// in ms.
|
||||
double duration;
|
||||
// the token in the connect request,
|
||||
// used for edge traverse to origin authentication,
|
||||
// @see https://github.com/winlinvip/simple-rtmp-server/issues/104
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/104
|
||||
SrsAmf0Object* args;
|
||||
public:
|
||||
SrsRequest();
|
||||
|
|
|
@ -1131,7 +1131,7 @@ int SrsProtocol::read_message_header(SrsChunkStream* chunk, char fmt, int bh_siz
|
|||
// 0x04 where: message_type=4(protocol control user-control message)
|
||||
// 0x00 0x06 where: event Ping(0x06)
|
||||
// 0x00 0x00 0x0d 0x0f where: event data 4bytes ping timestamp.
|
||||
// @see: https://github.com/winlinvip/simple-rtmp-server/issues/98
|
||||
// @see: https://github.com/simple-rtmp-server/srs/issues/98
|
||||
if (chunk->cid == RTMP_CID_ProtocolControl && fmt == RTMP_FMT_TYPE1) {
|
||||
srs_warn("accept cid=2, fmt=1 to make librtmp happy.");
|
||||
} else {
|
||||
|
@ -1299,7 +1299,7 @@ int SrsProtocol::read_message_header(SrsChunkStream* chunk, char fmt, int bh_siz
|
|||
pp[0] = *p++;
|
||||
|
||||
// always use 31bits timestamp, for some server may use 32bits extended timestamp.
|
||||
// @see https://github.com/winlinvip/simple-rtmp-server/issues/111
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/111
|
||||
timestamp &= 0x7fffffff;
|
||||
|
||||
/**
|
||||
|
@ -1495,12 +1495,12 @@ int SrsProtocol::on_recv_message(SrsMessage* msg)
|
|||
|
||||
// for some server, the actual chunk size can greater than the max value(65536),
|
||||
// so we just warning the invalid chunk size, and actually use it is ok,
|
||||
// @see: https://github.com/winlinvip/simple-rtmp-server/issues/160
|
||||
// @see: https://github.com/simple-rtmp-server/srs/issues/160
|
||||
if (pkt->chunk_size < SRS_CONSTS_RTMP_MIN_CHUNK_SIZE
|
||||
|| pkt->chunk_size > SRS_CONSTS_RTMP_MAX_CHUNK_SIZE)
|
||||
{
|
||||
srs_warn("accept chunk size %d, but should in [%d, %d], "
|
||||
"@see: https://github.com/winlinvip/simple-rtmp-server/issues/160",
|
||||
"@see: https://github.com/simple-rtmp-server/srs/issues/160",
|
||||
pkt->chunk_size, SRS_CONSTS_RTMP_MIN_CHUNK_SIZE,
|
||||
SRS_CONSTS_RTMP_MAX_CHUNK_SIZE);
|
||||
}
|
||||
|
@ -1865,7 +1865,7 @@ int SrsConnectAppPacket::decode(SrsStream* stream)
|
|||
if (!stream->empty()) {
|
||||
srs_freep(args);
|
||||
|
||||
// see: https://github.com/winlinvip/simple-rtmp-server/issues/186
|
||||
// see: https://github.com/simple-rtmp-server/srs/issues/186
|
||||
// the args maybe any amf0, for instance, a string. we should drop if not object.
|
||||
SrsAmf0Any* any = NULL;
|
||||
if ((ret = SrsAmf0Any::discovery(stream, &any)) != ERROR_SUCCESS) {
|
||||
|
|
|
@ -1265,13 +1265,13 @@ public:
|
|||
std::string command_name;
|
||||
/**
|
||||
* whether allow access the sample of video.
|
||||
* @see: https://github.com/winlinvip/simple-rtmp-server/issues/49
|
||||
* @see: https://github.com/simple-rtmp-server/srs/issues/49
|
||||
* @see: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/NetStream.html#videoSampleAccess
|
||||
*/
|
||||
bool video_sample_access;
|
||||
/**
|
||||
* whether allow access the sample of audio.
|
||||
* @see: https://github.com/winlinvip/simple-rtmp-server/issues/49
|
||||
* @see: https://github.com/simple-rtmp-server/srs/issues/49
|
||||
* @see: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/NetStream.html#audioSampleAccess
|
||||
*/
|
||||
bool audio_sample_access;
|
||||
|
|
|
@ -505,7 +505,7 @@ std::string __full_conf = ""
|
|||
" # it's strongly recommend to open the debug_srs_upnode, \n"
|
||||
" # when connect to upnode, it will take the debug info, \n"
|
||||
" # for example, the id, source id, pid. \n"
|
||||
" # please see: https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SrsLog \n"
|
||||
" # please see: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SrsLog \n"
|
||||
" # default: on \n"
|
||||
" debug_srs_upnode on; \n"
|
||||
"} \n"
|
||||
|
|
|
@ -653,7 +653,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvMessage)
|
|||
// 0x04 where: message_type=4(protocol control user-control message)
|
||||
// 0x00 0x06 where: event Ping(0x06)
|
||||
// 0x00 0x00 0x0d 0x0f where: event data 4bytes ping timestamp.
|
||||
// @see: https://github.com/winlinvip/simple-rtmp-server/issues/98
|
||||
// @see: https://github.com/simple-rtmp-server/srs/issues/98
|
||||
VOID TEST(ProtocolStackTest, ProtocolRecvMessageBug98)
|
||||
{
|
||||
MockBufferIO bio;
|
||||
|
@ -3750,7 +3750,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvExtTimeMessage2)
|
|||
* always use 31bits timestamp.
|
||||
*/
|
||||
// always use 31bits timestamp, for some server may use 32bits extended timestamp.
|
||||
// @see https://github.com/winlinvip/simple-rtmp-server/issues/111
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/111
|
||||
VOID TEST(ProtocolStackTest, ProtocolRecvExtTimeMessage3)
|
||||
{
|
||||
MockBufferIO bio;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue