Toggle navigation
Toggle navigation
此项目
正在载入...
Sign in
胡斌
/
srs
转到一个项目
Toggle navigation
项目
群组
代码片段
帮助
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
winlin
2015-04-29 17:06:40 +0800
Browse Files
Options
Browse Files
Download
Plain Diff
Commit
53e92a17f569ba6c6afadb35e37506a7bca45da0
53e92a17
2 parents
5559fb98
115daa3c
Merge branch '2.0release' into develop
隐藏空白字符变更
内嵌
并排对比
正在显示
100 个修改的文件
包含
252 行增加
和
252 行删除
trunk/auto/depends.sh
trunk/auto/generate-srs-librtmp-single.sh
trunk/auto/options.sh
trunk/auto/summary.sh
trunk/conf/demo.19350.conf
trunk/conf/demo.conf
trunk/conf/dvr.path.conf
trunk/conf/dvr.segment.conf
trunk/conf/dvr.session.conf
trunk/conf/edge.conf
trunk/conf/edge.token.traverse.conf
trunk/conf/ffmpeg.transcode.conf
trunk/conf/forward.master.conf
trunk/conf/forward.slave.conf
trunk/conf/full.conf
trunk/conf/hds.conf
trunk/conf/hls.conf
trunk/conf/http.aac.live.conf
trunk/conf/http.flv.live.conf
trunk/conf/http.hls.conf
trunk/conf/http.mp3.live.conf
trunk/conf/http.ts.live.conf
trunk/conf/ingest.conf
trunk/conf/origin.conf
trunk/conf/push.mpegts.over.udp.conf
trunk/conf/push.rtsp.conf
trunk/conf/ram.hls.conf
trunk/conf/realtime.conf
trunk/conf/rtmp.conf
trunk/conf/security.deny.publish.conf
trunk/conf/transcode2hls.audio.only.conf
trunk/conf/transform.edge.conf
trunk/configure
trunk/etc/init.d/srs
trunk/etc/init.d/srs-api
trunk/etc/init.d/srs-demo
trunk/etc/init.d/srs-demo-19350
trunk/ide/srs_clion/CMakeLists.txt
trunk/research/api-server/server.py
trunk/research/api-server/static-dir/index.html
trunk/research/arm/jmp.cpp
trunk/research/arm/jmp_sp.cpp
trunk/research/arm/test.cpp
trunk/research/librtmp/Makefile
trunk/research/librtmp/srs_aac_raw_publish.c
trunk/research/librtmp/srs_audio_raw_publish.c
trunk/research/librtmp/srs_h264_raw_publish.c
trunk/research/librtmp/srs_publish.c
trunk/research/players/index.html
trunk/research/players/jwplayer6.html
trunk/research/players/osmf.html
trunk/research/players/srs_bwt.html
trunk/research/players/srs_chat.html
trunk/research/players/srs_player.html
trunk/research/players/srs_publisher.html
trunk/research/players/vlc.html
trunk/research/st/event.c
trunk/scripts/install.sh
trunk/scripts/package.sh
trunk/scripts/run.sh
trunk/src/app/srs_app_config.cpp
trunk/src/app/srs_app_config.hpp
trunk/src/app/srs_app_conn.cpp
trunk/src/app/srs_app_dvr.cpp
trunk/src/app/srs_app_edge.cpp
trunk/src/app/srs_app_ffmpeg.cpp
trunk/src/app/srs_app_forward.cpp
trunk/src/app/srs_app_forward.hpp
trunk/src/app/srs_app_hls.cpp
trunk/src/app/srs_app_hls.hpp
trunk/src/app/srs_app_http_hooks.cpp
trunk/src/app/srs_app_mpegts_udp.cpp
trunk/src/app/srs_app_recv_thread.cpp
trunk/src/app/srs_app_recv_thread.hpp
trunk/src/app/srs_app_reload.hpp
trunk/src/app/srs_app_rtmp_conn.cpp
trunk/src/app/srs_app_rtmp_conn.hpp
trunk/src/app/srs_app_rtsp.cpp
trunk/src/app/srs_app_security.hpp
trunk/src/app/srs_app_server.cpp
trunk/src/app/srs_app_source.cpp
trunk/src/app/srs_app_source.hpp
trunk/src/app/srs_app_st.cpp
trunk/src/app/srs_app_st_socket.cpp
trunk/src/app/srs_app_thread.cpp
trunk/src/app/srs_app_thread.hpp
trunk/src/app/srs_app_utility.cpp
trunk/src/core/srs_core.hpp
trunk/src/core/srs_core_performance.hpp
trunk/src/kernel/srs_kernel_aac.cpp
trunk/src/kernel/srs_kernel_codec.cpp
trunk/src/kernel/srs_kernel_codec.hpp
trunk/src/kernel/srs_kernel_consts.hpp
trunk/src/kernel/srs_kernel_error.hpp
trunk/src/kernel/srs_kernel_file.cpp
trunk/src/kernel/srs_kernel_flv.cpp
trunk/src/kernel/srs_kernel_mp3.cpp
trunk/src/kernel/srs_kernel_ts.cpp
trunk/src/kernel/srs_kernel_ts.hpp
trunk/src/kernel/srs_kernel_utility.cpp
要显示太多修改。
重新载入完整差异
差异文件
邮件补丁
为保证性能只显示
100 of 100+
个文件。
trunk/auto/depends.sh
查看文件 @
53e92a1
...
...
@@ -381,14 +381,14 @@ if [ $SRS_EXPORT_LIBRTMP_PROJECT = NO ]; then
_ST_MAKE
=
darwin-debug
&&
_ST_EXTRA_CFLAGS
=
"EXTRA_CFLAGS=-DMD_HAVE_KQUEUE"
fi
# 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
# 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
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
}
&&
...
...
trunk/auto/generate-srs-librtmp-single.sh
查看文件 @
53e92a1
...
...
@@ -97,7 +97,7 @@ SRS_SINGLE_LIBRTMP_COMPILE='gcc example.c srs_librtmp.cpp -g -O0 -lstdc++ -o exa
cat
<< END >$FILE
/**
# 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}
*/
#include <stdio.h>
...
...
trunk/auto/options.sh
查看文件 @
53e92a1
...
...
@@ -79,7 +79,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
...
...
@@ -182,7 +182,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:
...
...
trunk/auto/summary.sh
查看文件 @
53e92a1
...
...
@@ -35,7 +35,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}"
...
...
@@ -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}./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}"
...
...
@@ -59,7 +59,7 @@ echo -e " | ${SrsGprofSummaryColor}gprof -b ./objs/srs gmon.out > gprof.
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}"
...
...
@@ -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 " \${BLACK}+------------------------------------------------------------------------------------\${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 " |\${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 " \${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/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 " | ${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 " | ${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: 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/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 " | ${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 " | ${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 " | ${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 " \${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 " ./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 "\${BLACK}Examples for srs-librtmp at:\${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
fi
...
...
trunk/conf/demo.19350.conf
查看文件 @
53e92a1
# 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
;
...
...
trunk/conf/demo.conf
查看文件 @
53e92a1
# 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
;
...
...
trunk/conf/dvr.path.conf
查看文件 @
53e92a1
# 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/winlinvip/simple-rtmp-server/wiki/v2_EN_DVR#custom-path
# @see https://github.com/simple-rtmp-server/srs/wiki/v2_CN_DVR#custom-path
# @see https://github.com/simple-rtmp-server/srs/wiki/v2_EN_DVR#custom-path
# @see full.conf for detail config.
listen
1935
;
...
...
trunk/conf/dvr.segment.conf
查看文件 @
53e92a1
# 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.
listen
1935
;
...
...
trunk/conf/dvr.session.conf
查看文件 @
53e92a1
# 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.
listen
1935
;
...
...
trunk/conf/edge.conf
查看文件 @
53e92a1
# 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
;
...
...
trunk/conf/edge.token.traverse.conf
查看文件 @
53e92a1
# 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
...
...
trunk/conf/ffmpeg.transcode.conf
查看文件 @
53e92a1
# 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
;
...
...
trunk/conf/forward.master.conf
查看文件 @
53e92a1
# 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
;
...
...
trunk/conf/forward.slave.conf
查看文件 @
53e92a1
# 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
;
...
...
trunk/conf/full.conf
查看文件 @
53e92a1
...
...
@@ -151,7 +151,7 @@ http_server {
# Streamer sections
#############################################################################################
# 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
{
# whether stream caster is enabled.
# default: off
...
...
@@ -208,7 +208,7 @@ vhost __defaultVhost__ {
# the security to allow or deny clients.
vhost
security
.
srs
.
com
{
# 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
{
# whether enable the security for vhost.
# default: off
...
...
@@ -241,10 +241,10 @@ vhost mrw.srs.com {
# for min latence mode:
# 1. disable the mr for vhost.
# 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
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
{
# whether enable the MR(merged-read)
# 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/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/winlinvip/simple-rtmp-server/wiki/v2_EN_DVR#custom-path
# @see https://github.com/simple-rtmp-server/srs/wiki/v2_CN_DVR#custom-path
# @see https://github.com/simple-rtmp-server/srs/wiki/v2_EN_DVR#custom-path
# segment,session apply it.
# default: ./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.
# 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/winlinvip/simple-rtmp-server/wiki/v2_EN_DVR#http-callback
# @read https://github.com/simple-rtmp-server/srs/wiki/v2_CN_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,
# EXT-X-TARGETDURATION = hls_td_ratio * hls_fragment // init
# 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
hls_td_ratio
1
.
5
;
# the audio overflow ratio.
...
...
@@ -534,7 +534,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
;
# the hls storage: disk, ram or both.
...
...
@@ -572,8 +572,8 @@ vhost with-hls.srs.com {
# [999], repleace this const to current millisecond.
# [timestamp],replace this const to current UNIX timestamp in ms.
# [seq], the sequence number of ts.
# @see https://github.com/winlinvip/simple-rtmp-server/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_DVR#custom-path
# @see https://github.com/simple-rtmp-server/srs/wiki/v2_CN_DeliveryHLS#hls-config
# default: [app]/[stream]-[seq].ts
hls_ts_file
[
app
]/[
stream
]-[
seq
].
ts
;
# 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.
# 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/winlinvip/simple-rtmp-server/wiki/v2_EN_DeliveryHLS#http-callback
# @read https://github.com/simple-rtmp-server/srs/wiki/v2_CN_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.
# we support the variables to generate the notify url:
...
...
@@ -635,8 +635,8 @@ vhost with-hls.srs.com {
# [stream], replace with the stream.
# [ts_url], replace with the ts url.
# 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/winlinvip/simple-rtmp-server/wiki/v2_EN_DeliveryHLS#on-hls-notify
# @read https://github.com/simple-rtmp-server/srs/wiki/v2_CN_DeliveryHLS#on-hls-notify
# @read https://github.com/simple-rtmp-server/srs/wiki/v2_EN_DeliveryHLS#on-hls-notify
}
}
# the vhost with hls disabled.
...
...
@@ -808,7 +808,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
;
}
...
...
trunk/conf/hds.conf
查看文件 @
53e92a1
# 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.
listen
1935
;
...
...
trunk/conf/hls.conf
查看文件 @
53e92a1
# 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
;
...
...
trunk/conf/http.aac.live.conf
查看文件 @
53e92a1
# 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.
listen
1935
;
...
...
trunk/conf/http.flv.live.conf
查看文件 @
53e92a1
# 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.
listen
1935
;
...
...
trunk/conf/http.hls.conf
查看文件 @
53e92a1
# 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
;
...
...
trunk/conf/http.mp3.live.conf
查看文件 @
53e92a1
# 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.
listen
1935
;
...
...
trunk/conf/http.ts.live.conf
查看文件 @
53e92a1
# 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.
listen
1935
;
...
...
trunk/conf/ingest.conf
查看文件 @
53e92a1
# 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
;
...
...
trunk/conf/origin.conf
查看文件 @
53e92a1
# 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
;
...
...
trunk/conf/push.mpegts.over.udp.conf
查看文件 @
53e92a1
# 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/winlinvip/simple-rtmp-server/issues/250#issuecomment-72321769
# @see https://github.com/simple-rtmp-server/srs/wiki/v2_CN_Streamer#push-mpeg-ts-over-udp
# @see https://github.com/simple-rtmp-server/srs/issues/250#issuecomment-72321769
# @see full.conf for detail config.
listen
1935
;
...
...
trunk/conf/push.rtsp.conf
查看文件 @
53e92a1
# 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/winlinvip/simple-rtmp-server/issues/250#issuecomment-72321769
# @see https://github.com/simple-rtmp-server/srs/wiki/v2_CN_Streamer#push-mpeg-ts-over-udp
# @see https://github.com/simple-rtmp-server/srs/issues/250#issuecomment-72321769
# @see full.conf for detail config.
listen
1935
;
...
...
trunk/conf/ram.hls.conf
查看文件 @
53e92a1
# 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
;
...
...
trunk/conf/realtime.conf
查看文件 @
53e92a1
# 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.
listen
1935
;
...
...
trunk/conf/rtmp.conf
查看文件 @
53e92a1
# 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
;
...
...
trunk/conf/security.deny.publish.conf
查看文件 @
53e92a1
# 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.
listen
1935
;
...
...
trunk/conf/transcode2hls.audio.only.conf
查看文件 @
53e92a1
# 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
;
...
...
trunk/conf/transform.edge.conf
查看文件 @
53e92a1
# 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.
listen
1935
;
...
...
trunk/configure
查看文件 @
53e92a1
...
...
@@ -412,7 +412,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)"
...
...
@@ -434,7 +434,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
fi
...
...
trunk/etc/init.d/srs
查看文件 @
53e92a1
...
...
@@ -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,
...
...
trunk/etc/init.d/srs-api
查看文件 @
53e92a1
...
...
@@ -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,
...
...
trunk/etc/init.d/srs-demo
查看文件 @
53e92a1
...
...
@@ -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,
...
...
trunk/etc/init.d/srs-demo-19350
查看文件 @
53e92a1
...
...
@@ -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,
...
...
trunk/ide/srs_clion/CMakeLists.txt
查看文件 @
53e92a1
...
...
@@ -28,31 +28,31 @@ ELSE(NOT EXISTS ${PROJECT_SOURCE_DIR}/../../objs/st/libst.a)
MESSAGE
(
"srs_libs is ok"
)
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"
)
...
...
trunk/research/api-server/server.py
查看文件 @
53e92a1
...
...
@@ -1282,7 +1282,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.
...
...
trunk/research/api-server/static-dir/index.html
查看文件 @
53e92a1
...
...
@@ -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>
...
...
trunk/research/arm/jmp.cpp
查看文件 @
53e92a1
/*
# 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
arm-linux-gnueabi-g++ -o jmp jmp.cpp -static
arm-linux-gnueabi-strip jmp
...
...
trunk/research/arm/jmp_sp.cpp
查看文件 @
53e92a1
/*
# see: https://github.com/winlinvip/simple-rtmp-server/issues/190
# see: https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SrsLinuxArm
# see: https://github.com/simple-rtmp-server/srs/issues/190
# see: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SrsLinuxArm
g++ -g -O0 -o jmp_sp jmp_sp.cpp
arm-linux-gnueabi-g++ -g -o jmp_sp jmp_sp.cpp -static
arm-linux-gnueabi-strip jmp_sp
...
...
trunk/research/arm/test.cpp
查看文件 @
53e92a1
/*
# 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
*/
...
...
trunk/research/librtmp/Makefile
查看文件 @
53e92a1
...
...
@@ -38,7 +38,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
:
...
...
trunk/research/librtmp/srs_aac_raw_publish.c
查看文件 @
53e92a1
...
...
@@ -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"
// 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
)
{
char
*
p
=
*
pp
;
...
...
@@ -79,7 +79,7 @@ int main(int argc, char** argv)
printf
(
"For example:
\n
"
);
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
(
"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
);
}
...
...
trunk/research/librtmp/srs_audio_raw_publish.c
查看文件 @
53e92a1
...
...
@@ -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"
// https://github.com/
winlinvip/simple-rtmp-server
/issues/212#issuecomment-63648892
// https://github.com/
simple-rtmp-server/srs
/issues/212#issuecomment-63648892
// allspace:
// 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.
...
...
@@ -77,7 +77,7 @@ int main(int argc, char** argv)
printf
(
"For example:
\n
"
);
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
(
"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
);
}
...
...
trunk/research/librtmp/srs_h264_raw_publish.c
查看文件 @
53e92a1
...
...
@@ -89,7 +89,7 @@ int main(int argc, char** argv)
printf
(
"For example:
\n
"
);
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
(
"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
);
}
...
...
trunk/research/librtmp/srs_publish.c
查看文件 @
53e92a1
...
...
@@ -46,12 +46,12 @@ int main(int argc, char** argv)
}
// 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"
,
"[warning] it's only a sample to use librtmp. "
"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."
"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_rtmp_t
rtmp
=
srs_rtmp_create
(
argv
[
1
]);
...
...
trunk/research/players/index.html
查看文件 @
53e92a1
...
...
@@ -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>
...
...
trunk/research/players/jwplayer6.html
查看文件 @
53e92a1
...
...
@@ -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>
...
...
trunk/research/players/osmf.html
查看文件 @
53e92a1
...
...
@@ -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>
...
...
trunk/research/players/srs_bwt.html
查看文件 @
53e92a1
...
...
@@ -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>
...
...
trunk/research/players/srs_chat.html
查看文件 @
53e92a1
...
...
@@ -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>
...
...
trunk/research/players/srs_player.html
查看文件 @
53e92a1
...
...
@@ -306,7 +306,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"
>
...
...
@@ -471,7 +471,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>
...
...
@@ -535,7 +535,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>
\ No newline at end of file
...
...
trunk/research/players/srs_publisher.html
查看文件 @
53e92a1
...
...
@@ -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>
...
...
trunk/research/players/vlc.html
查看文件 @
53e92a1
...
...
@@ -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>
...
...
trunk/research/st/event.c
查看文件 @
53e92a1
...
...
@@ -310,7 +310,7 @@ ST_HIDDEN void _st_epoll_dispatch(void)
if
(
_st_epoll_data
->
pid
!=
getpid
())
{
// 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
);
}
...
...
trunk/scripts/install.sh
查看文件 @
53e92a1
...
...
@@ -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
}
"
...
...
trunk/scripts/package.sh
查看文件 @
53e92a1
...
...
@@ -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
(
...
...
trunk/scripts/run.sh
查看文件 @
53e92a1
...
...
@@ -52,4 +52,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"
...
...
trunk/src/app/srs_app_config.cpp
查看文件 @
53e92a1
...
...
@@ -49,7 +49,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"
// when user config an invalid value, macros to perfer true or false.
#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
;
// 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
)
{
ret
=
ERROR_SYSTEM_CONFIG_INVALID
;
srs_error
(
"invalid max_connections=%d, required=%d, system limit to %d, "
...
...
trunk/src/app/srs_app_config.hpp
查看文件 @
53e92a1
...
...
@@ -508,7 +508,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.
*/
...
...
@@ -713,7 +713,7 @@ public:
virtual
bool
get_vhost_edge_token_traverse
(
std
::
string
vhost
);
/**
* 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
);
// vhost security section
...
...
@@ -945,7 +945,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
);
/**
...
...
trunk/src/app/srs_app_conn.cpp
查看文件 @
53e92a1
...
...
@@ -37,7 +37,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
(
"conn"
,
this
,
0
,
false
);
}
...
...
trunk/src/app/srs_app_dvr.cpp
查看文件 @
53e92a1
...
...
@@ -916,7 +916,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
->
is_video
())
{
return
ret
;
...
...
trunk/src/app/srs_app_edge.cpp
查看文件 @
53e92a1
...
...
@@ -218,7 +218,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
));
...
...
@@ -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
()));
// 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
);
vhost
=
srs_string_replace
(
vhost
,
"[vhost]"
,
req
->
vhost
);
// generate the tcUrl
...
...
@@ -255,7 +255,7 @@ int SrsEdgeIngester::connect_app(string ep_server, string ep_port)
req
->
tcUrl
=
tc_url
;
// 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
)
{
...
...
@@ -338,7 +338,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
)
{
...
...
@@ -649,7 +649,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
));
...
...
@@ -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
()));
// 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
);
vhost
=
srs_string_replace
(
vhost
,
"[vhost]"
,
req
->
vhost
);
// generate the tcUrl
...
...
@@ -686,7 +686,7 @@ int SrsEdgeForwarder::connect_app(string ep_server, string ep_port)
req
->
tcUrl
=
tc_url
;
// 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
)
{
...
...
@@ -823,7 +823,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
)
{
...
...
@@ -835,7 +835,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
;
...
...
trunk/src/app/srs_app_ffmpeg.cpp
查看文件 @
53e92a1
...
...
@@ -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
;
...
...
@@ -205,7 +205,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
=
""
;
}
...
...
trunk/src/app/srs_app_forward.cpp
查看文件 @
53e92a1
...
...
@@ -340,7 +340,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
));
...
...
@@ -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
);
// 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
)
{
...
...
trunk/src/app/srs_app_forward.hpp
查看文件 @
53e92a1
...
...
@@ -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
;
...
...
trunk/src/app/srs_app_hls.cpp
查看文件 @
53e92a1
...
...
@@ -565,7 +565,7 @@ bool SrsHlsMuxer::wait_keyframe()
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
);
// 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
* 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
;
for
(
it
=
segments
.
begin
();
it
!=
segments
.
end
();
++
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,
// 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
(
cache
->
audio
&&
muxer
->
is_segment_absolutely_overflow
())
{
srs_info
(
"hls: absolute audio reap segment."
);
if
((
ret
=
reap_segment
(
"audio"
,
muxer
,
cache
->
audio
->
pts
))
!=
ERROR_SUCCESS
)
{
...
...
@@ -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
);
// 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
;
}
...
...
@@ -1304,7 +1304,7 @@ void SrsHls::hls_show_mux_log()
// reportable
if
(
pprint
->
can_print
())
{
// the run time is not equals to stream time,
// @see: https://github.com/
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), sno=%d, ts=%s, dur=%.2f, dva=%dp"
,
pprint
->
age
(),
stream_dts
,
stream_dts
/
90
,
muxer
->
sequence_no
(),
muxer
->
ts_url
().
c_str
(),
...
...
trunk/src/app/srs_app_hls.hpp
查看文件 @
53e92a1
...
...
@@ -248,12 +248,12 @@ private:
/**
* the current audio codec, when open new muxer,
* 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
;
/**
* 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
;
public
:
...
...
@@ -295,7 +295,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
();
public
:
...
...
trunk/src/app/srs_app_http_hooks.cpp
查看文件 @
53e92a1
...
...
@@ -428,7 +428,7 @@ int SrsHttpHooks::do_post(std::string url, std::string req, int& code, string& r
}
// 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
)
{
return
ERROR_HTTP_STATUS_INVLIAD
;
}
...
...
trunk/src/app/srs_app_mpegts_udp.cpp
查看文件 @
53e92a1
...
...
@@ -461,7 +461,7 @@ int SrsMpegtsOverUdp::write_h264_ipb_frame(char* frame, int frame_size, u_int32_
int
ret
=
ERROR_SUCCESS
;
// when sps or pps not sent, ignore the packet.
// @see https://github.com/
winlinvip/simple-rtmp-server
/issues/203
// @see https://github.com/
simple-rtmp-server/srs
/issues/203
if
(
!
h264_sps_pps_sent
)
{
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,
// @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_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
);
// 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
)
{
...
...
trunk/src/app/srs_app_recv_thread.cpp
查看文件 @
53e92a1
...
...
@@ -119,8 +119,8 @@ void SrsRecvThread::on_thread_start()
// the multiple messages writev improve performance large,
// but the timeout recv will cause 33% sys call performance,
// to use isolate thread to recv, can improve about 33% performance.
// @see https://github.com/winlinvip/simple-rtmp-server/issues/194
// @see: https://github.com/winlinvip/simple-rtmp-server/issues/217
// @see https://github.com/simple-rtmp-server/srs/issues/194
// @see: https://github.com/simple-rtmp-server/srs/issues/217
rtmp
->
set_recv_timeout
(
ST_UTIME_NO_TIMEOUT
);
handler
->
on_thread_start
();
...
...
@@ -258,7 +258,7 @@ SrsPublishRecvThread::SrsPublishRecvThread(
mr_fd
=
mr_sock_fd
;
// 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_sleep
=
_srs_config
->
get_mr_sleep_ms
(
req
->
vhost
);
...
...
@@ -318,7 +318,7 @@ void SrsPublishRecvThread::on_thread_start()
set_socket_buffer
(
mr_sleep
);
// 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
);
}
#endif
...
...
@@ -330,13 +330,13 @@ void SrsPublishRecvThread::on_thread_stop()
// for we donot set to false yet.
// when thread stop, signal the conn thread which wait.
// @see https://github.com/
winlinvip/simple-rtmp-server
/issues/244
// @see https://github.com/
simple-rtmp-server/srs
/issues/244
st_cond_signal
(
error
);
#ifdef SRS_PERF_MERGED_READ
if
(
mr
)
{
// 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
);
}
#endif
...
...
@@ -373,7 +373,7 @@ void SrsPublishRecvThread::on_recv_error(int ret)
recv_error_code
=
ret
;
// when recv thread error, signal the conn thread to process it.
// @see https://github.com/
winlinvip/simple-rtmp-server
/issues/244
// @see https://github.com/
simple-rtmp-server/srs
/issues/244
st_cond_signal
(
error
);
}
...
...
@@ -392,7 +392,7 @@ void SrsPublishRecvThread::on_read(ssize_t nread)
* to improve read performance, merge some packets then read,
* when it on and read small bytes, we sleep to wait more data.,
* that is, we merge some data to read together.
* @see https://github.com/
winlinvip/simple-rtmp-server
/issues/241
* @see https://github.com/
simple-rtmp-server/srs
/issues/241
*/
if
(
nread
<
SRS_MR_SMALL_BYTES
)
{
st_usleep
(
mr_sleep
*
1000
);
...
...
@@ -409,7 +409,7 @@ int SrsPublishRecvThread::on_reload_vhost_mr(string vhost)
}
// 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
);
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
if
(
mr
&&
!
mr_enabled
)
{
// 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
);
}
// mr disabled=>enabled
if
(
!
mr
&&
mr_enabled
)
{
// 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
);
}
#endif
...
...
trunk/src/app/srs_app_recv_thread.hpp
查看文件 @
53e92a1
...
...
@@ -103,7 +103,7 @@ public:
* the recv thread used to replace the timeout recv,
* which hurt performance for the epoll_ctrl is frequently used.
* @see: SrsRtmpConn::playing
* @see: https://github.com/
winlinvip/simple-rtmp-server
/issues/217
* @see: https://github.com/
simple-rtmp-server/srs
/issues/217
*/
class
SrsQueueRecvThread
:
public
ISrsMessageHandler
{
...
...
@@ -136,7 +136,7 @@ public:
/**
* 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
#ifdef SRS_PERF_MERGED_READ
...
...
@@ -151,12 +151,12 @@ private:
// the msgs already got.
int64_t
_nb_msgs
;
// 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
;
int
mr_fd
;
int
mr_sleep
;
// for realtime
// @see https://github.com/
winlinvip/simple-rtmp-server
/issues/257
// @see https://github.com/
simple-rtmp-server/srs
/issues/257
bool
realtime
;
// the recv thread error code.
int
recv_error_code
;
...
...
@@ -166,7 +166,7 @@ private:
bool
_is_fmle
;
bool
_is_edge
;
// 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
;
public
:
SrsPublishRecvThread
(
SrsRtmpServer
*
rtmp_sdk
,
...
...
trunk/src/app/srs_app_reload.hpp
查看文件 @
53e92a1
...
...
@@ -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
{
...
...
trunk/src/app/srs_app_rtmp_conn.cpp
查看文件 @
53e92a1
...
...
@@ -295,7 +295,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
if
(
true
)
{
bool
vhost_is_edge
=
_srs_config
->
get_vhost_is_edge
(
req
->
vhost
);
bool
edge_traverse
=
_srs_config
->
get_vhost_edge_token_traverse
(
req
->
vhost
);
...
...
@@ -348,7 +348,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
);
...
...
@@ -582,7 +582,7 @@ int SrsRtmpConn::playing(SrsSource* source)
srs_verbose
(
"consumer created success."
);
// 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
);
// start isolate recv thread.
...
...
@@ -640,8 +640,8 @@ int SrsRtmpConn::do_playing(SrsSource* source, SrsConsumer* consumer, SrsQueueRe
pprint
->
elapse
();
// 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/winlinvip/simple-rtmp-server/issues/217
// @see: https://github.com/simple-rtmp-server/srs/issues/196
// @see: https://github.com/simple-rtmp-server/srs/issues/217
while
(
!
trd
->
empty
())
{
SrsCommonMessage
*
msg
=
trd
->
pump
();
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
);
// wait for message to incoming.
// @see https://github.com/winlinvip/simple-rtmp-server/issues/251
// @see https://github.com/winlinvip/simple-rtmp-server/issues/257
// @see https://github.com/simple-rtmp-server/srs/issues/251
// @see https://github.com/simple-rtmp-server/srs/issues/257
if
(
realtime
)
{
// for realtime, min required msgs is 0, send when got one+ msgs.
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.
// @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
;
...
...
@@ -775,7 +775,7 @@ int SrsRtmpConn::fmle_publishing(SrsSource* source)
}
// 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
,
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,
// @see: https://github.com/
winlinvip/simple-rtmp-server
/issues/237
// @see: https://github.com/
simple-rtmp-server/srs
/issues/237
SrsPublishRecvThread
trd
(
rtmp
,
req
,
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
);
// 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
;
...
...
@@ -1049,7 +1049,7 @@ int SrsRtmpConn::process_play_control_msg(SrsConsumer* consumer, SrsCommonMessag
// 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
)
{
...
...
trunk/src/app/srs_app_rtmp_conn.hpp
查看文件 @
53e92a1
...
...
@@ -70,7 +70,7 @@ private:
SrsSecurity
*
security
;
// 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
;
// the MR(merged-write) sleep time in ms.
...
...
@@ -78,7 +78,7 @@ private:
// the MR(merged-write) only enabled for play.
int
mw_enabled
;
// for realtime
// @see https://github.com/
winlinvip/simple-rtmp-server
/issues/257
// @see https://github.com/
simple-rtmp-server/srs
/issues/257
bool
realtime
;
public
:
SrsRtmpConn
(
SrsServer
*
srs_server
,
st_netfd_t
client_stfd
);
...
...
trunk/src/app/srs_app_rtsp.cpp
查看文件 @
53e92a1
...
...
@@ -723,7 +723,7 @@ int SrsRtspConn::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_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
);
// 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
)
{
...
...
trunk/src/app/srs_app_security.hpp
查看文件 @
53e92a1
...
...
@@ -38,7 +38,7 @@ class SrsConfDirective;
/**
* 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
{
...
...
trunk/src/app/srs_app_server.cpp
查看文件 @
53e92a1
...
...
@@ -55,7 +55,7 @@ using namespace std;
// for example, system-interval is x=1s(1000ms),
// then rusage can be 3*x, for instance, 3*1=3s,
// the meminfo canbe 6*x, for instance, 6*1=6s,
// for performance refine, @see: https://github.com/
winlinvip/simple-rtmp-server
/issues/194
// for performance refine, @see: https://github.com/
simple-rtmp-server/srs
/issues/194
// @remark, recomment to 1000ms.
#define SRS_SYS_CYCLE_INTERVAL 1000
...
...
trunk/src/app/srs_app_source.cpp
查看文件 @
53e92a1
...
...
@@ -382,7 +382,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
;
...
...
@@ -1422,7 +1422,7 @@ int SrsSource::on_audio_imp(SrsSharedPtrMessage* msg)
#ifdef SRS_AUTO_HLS
if
((
ret
=
hls
->
on_audio
(
msg
))
!=
ERROR_SUCCESS
)
{
// apply the error strategy for hls.
// @see https://github.com/
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
);
...
...
@@ -1586,7 +1586,7 @@ int SrsSource::on_video_imp(SrsSharedPtrMessage* msg)
#ifdef SRS_AUTO_HLS
if
((
ret
=
hls
->
on_video
(
msg
))
!=
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
);
...
...
@@ -1997,7 +1997,7 @@ int SrsSource::create_consumer(SrsConsumer*& consumer, bool ds, bool dm, bool dg
// copy sequence header
// copy audio sequence first, for hls to fast parse the "right" audio codec.
// @see https://github.com/
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
)
{
srs_error
(
"dispatch audio sequence header failed. ret=%d"
,
ret
);
return
ret
;
...
...
trunk/src/app/srs_app_source.hpp
查看文件 @
53e92a1
...
...
@@ -111,7 +111,7 @@ public:
/**
* to alloc and increase fixed space,
* 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
{
...
...
@@ -210,7 +210,7 @@ private:
bool
should_update_source_id
;
#ifdef SRS_PERF_QUEUE_COND_WAIT
// 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
;
bool
mw_waiting
;
int
mw_min_msgs
;
...
...
@@ -298,7 +298,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
;
/**
...
...
trunk/src/app/srs_app_st.cpp
查看文件 @
53e92a1
...
...
@@ -48,7 +48,7 @@ int srs_init_st()
#ifdef __linux__
// 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 on Linux. ret=%d"
,
ret
);
...
...
trunk/src/app/srs_app_st_socket.cpp
查看文件 @
53e92a1
...
...
@@ -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
;
}
...
...
trunk/src/app/srs_app_thread.cpp
查看文件 @
53e92a1
...
...
@@ -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,
// 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
;
}
...
...
@@ -204,7 +204,7 @@ failed:
}
// 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
)
{
st_usleep
(
cycle_interval_us
);
}
...
...
trunk/src/app/srs_app_thread.hpp
查看文件 @
53e92a1
...
...
@@ -157,12 +157,12 @@ 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
* @remark about st debug, see st-1.9/README, _st_iterate_threads_flag
*/
/**
* TODO: FIXME: maybe all thread must be reap by others threads,
* @see: https://github.com/
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
);
virtual
~
SrsThread
();
...
...
trunk/src/app/srs_app_utility.cpp
查看文件 @
53e92a1
...
...
@@ -1132,7 +1132,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
;
...
...
trunk/src/core/srs_core.hpp
查看文件 @
53e92a1
...
...
@@ -79,7 +79,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define __STDC_FORMAT_MACROS
#endif
// for srs-librtmp, @see https://github.com/
winlinvip/simple-rtmp-server
/issues/213
// for srs-librtmp, @see https://github.com/
simple-rtmp-server/srs
/issues/213
#ifndef _WIN32
#include <inttypes.h>
#endif
...
...
trunk/src/core/srs_core_performance.hpp
查看文件 @
53e92a1
...
...
@@ -40,12 +40,12 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
* that is, we merge some data to read together.
* @see SrsConfig::get_mr_enabled()
* @see SrsConfig::get_mr_sleep_ms()
* @see https://github.com/
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:
* 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:
* 1. Suppose the client network is ok. All algorithm go wrong when netowrk is not ok.
* 2. Suppose the client send each packet one by one. Although send some together, it's same.
...
...
@@ -71,7 +71,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
* @remark this largely improve performance, from 3.5k+ to 7.5k+.
* the latency+ when cache+.
* @remark the socket send buffer default to 185KB, it large enough.
* @see https://github.com/
winlinvip/simple-rtmp-server
/issues/194
* @see https://github.com/
simple-rtmp-server/srs
/issues/194
* @see SrsConfig::get_mw_sleep_ms()
* @remark the mw sleep and msgs to send, maybe:
* mw_sleep msgs iovs
...
...
@@ -106,24 +106,24 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
/**
* whether set the socket send buffer size.
* @see https://github.com/
winlinvip/simple-rtmp-server
/issues/251
* @see https://github.com/
simple-rtmp-server/srs
/issues/251
*/
#define SRS_PERF_MW_SO_SNDBUF
/**
* 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
/**
* 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
/**
* whether use cond wait to send messages.
* @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
#ifdef SRS_PERF_QUEUE_COND_WAIT
...
...
@@ -135,14 +135,14 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
* for min latence mode:
* 1. disable the mr for vhost.
* 2. use timeout for cond wait for consumer queue.
* @see https://github.com/
winlinvip/simple-rtmp-server
/issues/257
* @see https://github.com/
simple-rtmp-server/srs
/issues/257
*/
#define SRS_PERF_MIN_LATENCY_ENABLED false
/**
* how many chunk stream to cache, [0, N].
* to imporove about 10% performance when chunk size small, and 5% for large chunk.
* @see https://github.com/
winlinvip/simple-rtmp-server
/issues/249
* @see https://github.com/
simple-rtmp-server/srs
/issues/249
* @remark 0 to disable the chunk stream cache.
*/
#define SRS_PERF_CHUNK_STREAM_CACHE 16
...
...
@@ -158,21 +158,21 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
/**
* whether always use complex send algorithm.
* for some network does not support the complex send,
* @see https://github.com/
winlinvip/simple-rtmp-server
/issues/320
* @see https://github.com/
simple-rtmp-server/srs
/issues/320
*/
//#undef SRS_PERF_COMPLEX_SEND
#define SRS_PERF_COMPLEX_SEND
/**
* whether enable the TCP_NODELAY
* user maybe need send small tcp packet for some network.
* @see https://github.com/
winlinvip/simple-rtmp-server
/issues/320
* @see https://github.com/
simple-rtmp-server/srs
/issues/320
*/
//#define SRS_PERF_TCP_NODELAY
#undef SRS_PERF_TCP_NODELAY
/**
* set the socket send buffer,
* 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 only apply it when SRS_PERF_MW_SO_RCVBUF is defined.
*/
...
...
trunk/src/kernel/srs_kernel_aac.cpp
查看文件 @
53e92a1
...
...
@@ -23,7 +23,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#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
#include <unistd.h>
#endif
...
...
@@ -150,7 +150,7 @@ int SrsAacEncoder::write_audio(int64_t timestamp, char* data, int size)
// write the ADTS header.
// @see aac-mp4a-format-ISO_IEC_14496-3+2001.pdf, page 75,
// 1.A.2.2 Audio_Data_Transport_Stream frame, ADTS
// @see https://github.com/
winlinvip/simple-rtmp-server
/issues/212#issuecomment-64145885
// @see https://github.com/
simple-rtmp-server/srs
/issues/212#issuecomment-64145885
// byte_alignment()
// adts_fixed_header:
...
...
trunk/src/kernel/srs_kernel_codec.cpp
查看文件 @
53e92a1
...
...
@@ -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
// @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
...
...
@@ -626,7 +626,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
(
"video codec igone the info frame, ret=%d"
,
ret
);
return
ret
;
...
...
@@ -1152,7 +1152,7 @@ int SrsAvcAacCodec::avc_demux_ibmf_format(SrsStream* stream, SrsCodecSample* sam
}
// 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
)
{
ret
=
ERROR_HLS_DECODE_ERROR
;
srs_error
(
"maybe stream is AnnexB format. ret=%d"
,
ret
);
...
...
trunk/src/kernel/srs_kernel_codec.hpp
查看文件 @
53e92a1
...
...
@@ -426,7 +426,7 @@ enum SrsAvcPayloadFormat
/**
* 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
{
...
...
trunk/src/kernel/srs_kernel_consts.hpp
查看文件 @
53e92a1
...
...
@@ -100,7 +100,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
/**
* 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.
* 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)
...
...
@@ -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)
/**
* 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.
* each c0 <= 16byes, suppose the chunk size is 64k,
* each message send in a chunk which needs only a c0 header,
...
...
trunk/src/kernel/srs_kernel_error.hpp
查看文件 @
53e92a1
...
...
@@ -30,7 +30,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include <srs_core.hpp>
// for srs-librtmp, @see https://github.com/
winlinvip/simple-rtmp-server
/issues/213
// for srs-librtmp, @see https://github.com/
simple-rtmp-server/srs
/issues/213
#ifndef _WIN32
#define ERROR_SUCCESS 0
#endif
...
...
trunk/src/kernel/srs_kernel_file.cpp
查看文件 @
53e92a1
...
...
@@ -23,7 +23,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#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
#include <unistd.h>
#endif
...
...
trunk/src/kernel/srs_kernel_flv.cpp
查看文件 @
53e92a1
...
...
@@ -23,7 +23,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#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
#include <unistd.h>
#endif
...
...
trunk/src/kernel/srs_kernel_mp3.cpp
查看文件 @
53e92a1
...
...
@@ -23,7 +23,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#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
#include <unistd.h>
#endif
...
...
trunk/src/kernel/srs_kernel_ts.cpp
查看文件 @
53e92a1
...
...
@@ -23,7 +23,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#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
#include <unistd.h>
#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,
// @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
;
// TODO: FIXME: finger it why use discontinuity of msg.
...
...
@@ -956,7 +956,7 @@ int SrsTsAdaptationField::decode(SrsStream* stream)
pp
[
0
]
=
*
p
++
;
// @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
;
const1_value0
=
(
pcrv
>>
9
)
&
0x3F
;
program_clock_reference_base
=
(
pcrv
>>
15
)
&
0x1ffffffffLL
;
...
...
@@ -983,7 +983,7 @@ int SrsTsAdaptationField::decode(SrsStream* stream)
pp
[
0
]
=
*
p
++
;
// @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
;
const1_value2
=
(
opcrv
>>
9
)
&
0x3F
;
original_program_clock_reference_base
=
(
opcrv
>>
15
)
&
0x1ffffffffLL
;
...
...
@@ -1163,7 +1163,7 @@ int SrsTsAdaptationField::encode(SrsStream* stream)
stream
->
skip
(
6
);
// @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
;
pcrv
|=
(
const1_value0
<<
9
)
&
0x7E00
;
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,
// @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
;
}
...
...
trunk/src/kernel/srs_kernel_ts.hpp
查看文件 @
53e92a1
...
...
@@ -1568,7 +1568,7 @@ public:
* for user may need to update the acodec to mp3 or others,
* 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.
* @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
);
/**
...
...
trunk/src/kernel/srs_kernel_utility.cpp
查看文件 @
53e92a1
...
...
@@ -23,7 +23,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#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
#include <unistd.h>
#include <netdb.h>
...
...
@@ -121,7 +121,7 @@ int64_t srs_update_system_time_ms()
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.
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
)
{
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
;
}
...
...
请
注册
或
登录
后发表评论