diff --git a/README.md b/README.md
index 4b3c0a5ea..6fe596fae 100755
--- a/README.md
+++ b/README.md
@@ -1,10 +1,12 @@
#Simple-RTMP-Server
+[](https://circleci.com/gh/ossrs/srs/tree/develop)
+[](https://gitter.im/ossrs/srs?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
+
SRS/3.0, [OuXuli][release3]
[][donation1]
[][donation2]
-[](https://gitter.im/ossrs/srs?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
[](http://cn.linkedin.com/in/winlinvip)
SRS定位是运营级的互联网直播服务器集群,追求更好的概念完整性和最简单实现的代码。
diff --git a/circle.yml b/circle.yml
new file mode 100644
index 000000000..e033329ff
--- /dev/null
+++ b/circle.yml
@@ -0,0 +1,22 @@
+## filter branches.
+general:
+ branches:
+ only:
+ - 2.0release
+ - develop
+ - master
+ - bms
+ - /feature\/.*/
+ - /hotfix\/.*/
+ - /release\/.*/
+ - /pull\/.*/
+
+dependencies:
+ override:
+ - sudo apt-get install -y valgrind openssl
+
+test:
+ override:
+ - (cd trunk && ./configure --use-sys-ssl && make)
+ - (cd trunk && ./objs/srs_utest)
+
diff --git a/trunk/src/utest/srs_utest_config.cpp b/trunk/src/utest/srs_utest_config.cpp
index 167229398..51bafbd07 100644
--- a/trunk/src/utest/srs_utest_config.cpp
+++ b/trunk/src/utest/srs_utest_config.cpp
@@ -78,679 +78,11 @@ int MockSrsConfig::parse(string buf)
#ifdef ENABLE_UTEST_CONFIG
-// full.conf
-std::string _full_conf = ""
-"listen 1935; \n "
-"pid ./objs/srs.pid; \n "
-"chunk_size 60000; \n "
-"ff_log_dir ./objs; \n "
-"srs_log_tank file; \n "
-"srs_log_level trace; \n "
-"srs_log_file ./objs/srs.log; \n "
-"max_connections 1000; \n "
-"daemon on; \n "
-" \n "
-"heartbeat { \n "
-" enabled off; \n "
-" interval 9.3; \n "
-" url http://127.0.0.1:8085/api/v1/servers; \n "
-" device_id \"my-srs-device\"; \n "
-" summaries off; \n "
-"} \n "
-" \n "
-"stats { \n "
-" network 0; \n "
-" disk sda sdb xvda xvdb; \n "
-"} \n "
-" \n "
-"http_api { \n "
-" enabled on; \n "
-" listen 1985; \n "
-" crossdomain on; \n "
-"} \n "
-"http_server { \n "
-" enabled on; \n "
-" listen 8080; \n "
-" dir ./objs/nginx/html; \n "
-"} \n "
-" \n "
-"stream_caster { \n "
-" enabled off; \n "
-" caster mpegts_over_udp; \n "
-" output rtmp://127.0.0.1/live/livestream; \n "
-" listen 8935; \n "
-" rtp_port_min 57200; \n "
-" rtp_port_max 57300; \n "
-"} \n "
-"stream_caster { \n "
-" enabled off; \n "
-" caster mpegts_over_udp; \n "
-" output rtmp://127.0.0.1/live/livestream; \n "
-" listen 8935; \n "
-"} \n "
-"stream_caster { \n "
-" enabled off; \n "
-" caster rtsp; \n "
-" output rtmp://127.0.0.1/[app]/[stream]; \n "
-" listen 554; \n "
-" rtp_port_min 57200; \n "
-" rtp_port_max 57300; \n "
-"} \n "
-" \n "
-"vhost __defaultVhost__ { \n "
-"} \n "
-" \n "
-"vhost security.srs.com { \n "
-" security { \n "
-" enabled on; \n "
-" allow play all; \n "
-" allow publish all; \n "
-" } \n "
-"} \n "
-" \n "
-"vhost mrw.srs.com { \n "
-" min_latency off; \n "
-" mr { \n "
-" enabled on; \n "
-" latency 350; \n "
-" } \n "
-" mw_latency 350; \n "
-"} \n "
-" \n "
-"vhost same.edge.srs.com { \n "
-" mode remote; \n "
-" origin 127.0.0.1:1935 localhost:1935; \n "
-" token_traverse off; \n "
-"} \n "
-" \n "
-"vhost dvr.srs.com { \n "
-" dvr { \n "
-" enabled on; \n "
-" dvr_plan session; \n "
-" dvr_path ./objs/nginx/html; \n "
-" dvr_duration 30; \n "
-" dvr_wait_keyframe on; \n "
-" time_jitter full; \n "
-" \n "
-" } \n "
-"} \n "
-" \n "
-"vhost ingest.srs.com { \n "
-" ingest livestream { \n "
-" enabled on; \n "
-" input { \n "
-" type file; \n "
-" url ./doc/source.200kbps.768x320.flv; \n "
-" } \n "
-" ffmpeg ./objs/ffmpeg/bin/ffmpeg; \n "
-" engine { \n "
-" enabled off; \n "
-" output rtmp://127.0.0.1:[port]/live?vhost=[vhost]/livestream; \n "
-" } \n "
-" } \n "
-"} \n "
-" \n "
-"vhost http.static.srs.com { \n "
-" http { \n "
-" enabled on; \n "
-" mount [vhost]/hls; \n "
-" dir ./objs/nginx/html/hls; \n "
-" } \n "
-"} \n "
-" \n "
-"vhost http.remux.srs.com { \n "
-" http_remux { \n "
-" enabled on; \n "
-" fast_cache 30; \n "
-" mount [vhost]/[app]/[stream].flv; \n "
-" } \n "
-"} \n "
-" \n "
-"vhost with-hls.srs.com { \n "
-" hls { \n "
-" enabled on; \n "
-" hls_fragment 10; \n "
-" hls_td_ratio 1.5; \n "
-" hls_window 60; \n "
-" hls_on_error ignore; \n "
-" hls_storage disk; \n "
-" hls_path ./objs/nginx/html; \n "
-" hls_mount [vhost]/[app]/[stream].m3u8; \n "
-" hls_acodec aac; \n "
-" hls_vcodec h264; \n "
-" } \n "
-"} \n "
-"vhost no-hls.srs.com { \n "
-" hls { \n "
-" enabled off; \n "
-" } \n "
-"} \n "
-" \n "
-"vhost hooks.callback.srs.com { \n "
-" http_hooks { \n "
-" enabled on; \n "
-" on_connect http://127.0.0.1:8085/api/v1/clients http://localhost:8085/api/v1/clients; \n "
-" on_close http://127.0.0.1:8085/api/v1/clients http://localhost:8085/api/v1/clients; \n "
-" on_publish http://127.0.0.1:8085/api/v1/streams http://localhost:8085/api/v1/streams; \n "
-" on_unpublish http://127.0.0.1:8085/api/v1/streams http://localhost:8085/api/v1/streams; \n "
-" on_play http://127.0.0.1:8085/api/v1/sessions http://localhost:8085/api/v1/sessions; \n "
-" on_stop http://127.0.0.1:8085/api/v1/sessions http://localhost:8085/api/v1/sessions; \n "
-" on_dvr http://127.0.0.1:8085/api/v1/dvrs http://localhost:8085/api/v1/dvrs; \n "
-" } \n "
-"} \n "
-" \n "
-"vhost debug.srs.com { \n "
-" debug_srs_upnode on; \n "
-"} \n "
-" \n "
-"vhost min.delay.com { \n "
-" min_latency on; \n "
-" mr { \n "
-" enabled off; \n "
-" } \n "
-" mw_latency 100; \n "
-" gop_cache off; \n "
-" queue_length 10; \n "
-"} \n "
-" \n "
-"vhost refer.anti_suck.com { \n "
-" refer github.com github.io; \n "
-" refer_publish github.com github.io; \n "
-" refer_play github.com github.io; \n "
-"} \n "
-" \n "
-"vhost same.vhost.forward.srs.com { \n "
-" forward 127.0.0.1:1936 127.0.0.1:1937; \n "
-"} \n "
-" \n "
-"vhost example.transcode.srs.com { \n "
-" transcode { \n "
-" enabled on; \n "
-" ffmpeg ./objs/ffmpeg/bin/ffmpeg; \n "
-" engine example { \n "
-" enabled on; \n "
-" iformat flv; \n "
-" vfilter { \n "
-" i ./doc/ffmpeg-logo.png; \n "
-" filter_complex 'overlay=10:10'; \n "
-" } \n "
-" vcodec libx264; \n "
-" vbitrate 1500; \n "
-" vfps 25; \n "
-" vwidth 768; \n "
-" vheight 320; \n "
-" vthreads 12; \n "
-" vprofile main; \n "
-" vpreset medium; \n "
-" vparams { \n "
-" t 100; \n "
-" coder 1; \n "
-" b_strategy 2; \n "
-" bf 3; \n "
-" refs 10; \n "
-" } \n "
-" acodec libfdk_aac; \n "
-" abitrate 70; \n "
-" asample_rate 44100; \n "
-" achannels 2; \n "
-" aparams { \n "
-" profile:a aac_low; \n "
-" } \n "
-" oformat flv; \n "
-" output rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine]; \n "
-" } \n "
-" } \n "
-"} \n "
-"vhost mirror.transcode.srs.com { \n "
-" transcode { \n "
-" enabled on; \n "
-" ffmpeg ./objs/ffmpeg/bin/ffmpeg; \n "
-" engine mirror { \n "
-" enabled on; \n "
-" vfilter { \n "
-" vf 'split [main][tmp]; [tmp] crop=iw:ih/2:0:0, vflip [flip]; [main][flip] overlay=0:H/2'; \n "
-" } \n "
-" vcodec libx264; \n "
-" vbitrate 300; \n "
-" vfps 20; \n "
-" vwidth 768; \n "
-" vheight 320; \n "
-" vthreads 2; \n "
-" vprofile baseline; \n "
-" vpreset superfast; \n "
-" vparams { \n "
-" } \n "
-" acodec libfdk_aac; \n "
-" abitrate 45; \n "
-" asample_rate 44100; \n "
-" achannels 2; \n "
-" aparams { \n "
-" } \n "
-" output rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine]; \n "
-" } \n "
-" } \n "
-"} \n "
-"vhost crop.transcode.srs.com { \n "
-" transcode { \n "
-" enabled on; \n "
-" ffmpeg ./objs/ffmpeg/bin/ffmpeg; \n "
-" engine crop { \n "
-" enabled on; \n "
-" vfilter { \n "
-" vf 'crop=in_w-20:in_h-160:10:80'; \n "
-" } \n "
-" vcodec libx264; \n "
-" vbitrate 300; \n "
-" vfps 20; \n "
-" vwidth 768; \n "
-" vheight 320; \n "
-" vthreads 2; \n "
-" vprofile baseline; \n "
-" vpreset superfast; \n "
-" vparams { \n "
-" } \n "
-" acodec libfdk_aac; \n "
-" abitrate 45; \n "
-" asample_rate 44100; \n "
-" achannels 2; \n "
-" aparams { \n "
-" } \n "
-" output rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine]; \n "
-" } \n "
-" } \n "
-"} \n "
-"vhost logo.transcode.srs.com { \n "
-" transcode { \n "
-" enabled on; \n "
-" ffmpeg ./objs/ffmpeg/bin/ffmpeg; \n "
-" engine logo { \n "
-" enabled on; \n "
-" vfilter { \n "
-" i ./doc/ffmpeg-logo.png; \n "
-" filter_complex 'overlay=10:10'; \n "
-" } \n "
-" vcodec libx264; \n "
-" vbitrate 300; \n "
-" vfps 20; \n "
-" vwidth 768; \n "
-" vheight 320; \n "
-" vthreads 2; \n "
-" vprofile baseline; \n "
-" vpreset superfast; \n "
-" vparams { \n "
-" } \n "
-" acodec libfdk_aac; \n "
-" abitrate 45; \n "
-" asample_rate 44100; \n "
-" achannels 2; \n "
-" aparams { \n "
-" } \n "
-" output rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine]; \n "
-" } \n "
-" } \n "
-"} \n "
-"vhost audio.transcode.srs.com { \n "
-" transcode { \n "
-" enabled on; \n "
-" ffmpeg ./objs/ffmpeg/bin/ffmpeg; \n "
-" engine acodec { \n "
-" enabled on; \n "
-" vcodec copy; \n "
-" acodec libfdk_aac; \n "
-" abitrate 45; \n "
-" asample_rate 44100; \n "
-" achannels 2; \n "
-" aparams { \n "
-" } \n "
-" output rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine]; \n "
-" } \n "
-" } \n "
-"} \n "
-"vhost vn.transcode.srs.com { \n "
-" transcode { \n "
-" enabled on; \n "
-" ffmpeg ./objs/ffmpeg/bin/ffmpeg; \n "
-" engine vn { \n "
-" enabled on; \n "
-" vcodec vn; \n "
-" acodec libfdk_aac; \n "
-" abitrate 45; \n "
-" asample_rate 44100; \n "
-" achannels 2; \n "
-" aparams { \n "
-" } \n "
-" output rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine]; \n "
-" } \n "
-" } \n "
-"} \n "
-"vhost copy.transcode.srs.com { \n "
-" transcode { \n "
-" enabled on; \n "
-" ffmpeg ./objs/ffmpeg/bin/ffmpeg; \n "
-" engine copy { \n "
-" enabled on; \n "
-" vcodec copy; \n "
-" acodec copy; \n "
-" output rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine]; \n "
-" } \n "
-" } \n "
-"} \n "
-"vhost all.transcode.srs.com { \n "
-" transcode { \n "
-" enabled on; \n "
-" ffmpeg ./objs/ffmpeg/bin/ffmpeg; \n "
-" engine ffsuper { \n "
-" enabled on; \n "
-" iformat flv; \n "
-" vfilter { \n "
-" i ./doc/ffmpeg-logo.png; \n "
-" filter_complex 'overlay=10:10'; \n "
-" } \n "
-" vcodec libx264; \n "
-" vbitrate 1500; \n "
-" vfps 25; \n "
-" vwidth 768; \n "
-" vheight 320; \n "
-" vthreads 12; \n "
-" vprofile main; \n "
-" vpreset medium; \n "
-" vparams { \n "
-" t 100; \n "
-" coder 1; \n "
-" b_strategy 2; \n "
-" bf 3; \n "
-" refs 10; \n "
-" } \n "
-" acodec libfdk_aac; \n "
-" abitrate 70; \n "
-" asample_rate 44100; \n "
-" achannels 2; \n "
-" aparams { \n "
-" profile:a aac_low; \n "
-" } \n "
-" oformat flv; \n "
-" output rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine]; \n "
-" } \n "
-" engine ffhd { \n "
-" enabled on; \n "
-" vcodec libx264; \n "
-" vbitrate 1200; \n "
-" vfps 25; \n "
-" vwidth 1382; \n "
-" vheight 576; \n "
-" vthreads 6; \n "
-" vprofile main; \n "
-" vpreset medium; \n "
-" vparams { \n "
-" } \n "
-" acodec libfdk_aac; \n "
-" abitrate 70; \n "
-" asample_rate 44100; \n "
-" achannels 2; \n "
-" aparams { \n "
-" } \n "
-" output rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine]; \n "
-" } \n "
-" engine ffsd { \n "
-" enabled on; \n "
-" vcodec libx264; \n "
-" vbitrate 800; \n "
-" vfps 25; \n "
-" vwidth 1152; \n "
-" vheight 480; \n "
-" vthreads 4; \n "
-" vprofile main; \n "
-" vpreset fast; \n "
-" vparams { \n "
-" } \n "
-" acodec libfdk_aac; \n "
-" abitrate 60; \n "
-" asample_rate 44100; \n "
-" achannels 2; \n "
-" aparams { \n "
-" } \n "
-" output rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine]; \n "
-" } \n "
-" engine fffast { \n "
-" enabled on; \n "
-" vcodec libx264; \n "
-" vbitrate 300; \n "
-" vfps 20; \n "
-" vwidth 768; \n "
-" vheight 320; \n "
-" vthreads 2; \n "
-" vprofile baseline; \n "
-" vpreset superfast; \n "
-" vparams { \n "
-" } \n "
-" acodec libfdk_aac; \n "
-" abitrate 45; \n "
-" asample_rate 44100; \n "
-" achannels 2; \n "
-" aparams { \n "
-" } \n "
-" output rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine]; \n "
-" } \n "
-" engine vcopy { \n "
-" enabled on; \n "
-" vcodec copy; \n "
-" acodec libfdk_aac; \n "
-" abitrate 45; \n "
-" asample_rate 44100; \n "
-" achannels 2; \n "
-" aparams { \n "
-" } \n "
-" output rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine]; \n "
-" } \n "
-" engine acopy { \n "
-" enabled on; \n "
-" vcodec libx264; \n "
-" vbitrate 300; \n "
-" vfps 20; \n "
-" vwidth 768; \n "
-" vheight 320; \n "
-" vthreads 2; \n "
-" vprofile baseline; \n "
-" vpreset superfast; \n "
-" vparams { \n "
-" } \n "
-" acodec copy; \n "
-" output rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine]; \n "
-" } \n "
-" engine copy { \n "
-" enabled on; \n "
-" vcodec copy; \n "
-" acodec copy; \n "
-" output rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine]; \n "
-" } \n "
-" } \n "
-"} \n "
-"vhost ffempty.transcode.srs.com { \n "
-" transcode { \n "
-" enabled on; \n "
-" ffmpeg ./objs/research/ffempty; \n "
-" engine empty { \n "
-" enabled on; \n "
-" vcodec libx264; \n "
-" vbitrate 300; \n "
-" vfps 20; \n "
-" vwidth 768; \n "
-" vheight 320; \n "
-" vthreads 2; \n "
-" vprofile baseline; \n "
-" vpreset superfast; \n "
-" vparams { \n "
-" } \n "
-" acodec libfdk_aac; \n "
-" abitrate 45; \n "
-" asample_rate 44100; \n "
-" achannels 2; \n "
-" aparams { \n "
-" } \n "
-" output rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine]; \n "
-" } \n "
-" } \n "
-"} \n "
-"vhost app.transcode.srs.com { \n "
-" transcode live { \n "
-" enabled on; \n "
-" ffmpeg ./objs/ffmpeg/bin/ffmpeg; \n "
-" engine { \n "
-" enabled off; \n "
-" } \n "
-" } \n "
-"} \n "
-"vhost stream.transcode.srs.com { \n "
-" transcode live/livestream { \n "
-" enabled on; \n "
-" ffmpeg ./objs/ffmpeg/bin/ffmpeg; \n "
-" engine { \n "
-" enabled off; \n "
-" } \n "
-" } \n "
-"} \n "
-" \n "
-"vhost bandcheck.srs.com { \n "
-" enabled on; \n "
-" chunk_size 65000; \n "
-" bandcheck { \n "
-" enabled on; \n "
-" key \"35c9b402c12a7246868752e2878f7e0e\"; \n "
-" interval 30; \n "
-" limit_kbps 4000; \n "
-" } \n "
-"} \n "
-" \n "
-"vhost chunksize.srs.com { \n "
-" chunk_size 128; \n "
-"} \n "
-" \n "
-"vhost jitter.srs.com { \n "
-" time_jitter full; \n "
-"} \n "
-" \n "
-"vhost atc.srs.com { \n "
-" atc on; \n "
-" atc_auto on; \n "
-"} \n "
-" \n "
-"vhost removed.srs.com { \n "
-" enabled off; \n "
-"} \n "
-" \n "
-"pithy_print_ms 10000; \n "
-;
-
VOID TEST(ConfigTest, CheckMacros)
{
#ifndef SRS_CONSTS_LOCALHOST
EXPECT_TRUE(false);
#endif
-#ifndef SRS_CONF_DEFAULT_PID_FILE
- EXPECT_TRUE(false);
-#endif
-#ifndef SRS_CONF_DEFAULT_COFNIG_FILE
- EXPECT_TRUE(false);
-#endif
-#ifndef SRS_CONF_DEFAULT_MAX_CONNECTIONS
- EXPECT_TRUE(false);
-#endif
-#ifndef SRS_CONF_DEFAULT_HLS_PATH
- EXPECT_TRUE(false);
-#endif
-#ifndef SRS_CONF_DEFAULT_HLS_FRAGMENT
- EXPECT_TRUE(false);
-#endif
-#ifndef SRS_CONF_DEFAULT_HLS_WINDOW
- EXPECT_TRUE(false);
-#endif
-#ifndef SRS_CONF_DEFAULT_DVR_PATH
- EXPECT_TRUE(false);
-#endif
-#ifndef SRS_CONF_DEFAULT_DVR_PLAN_SESSION
- EXPECT_TRUE(false);
-#endif
-#ifndef SRS_CONF_DEFAULT_DVR_PLAN_SEGMENT
- EXPECT_TRUE(false);
-#endif
-#ifndef SRS_CONF_DEFAULT_DVR_PLAN
- EXPECT_TRUE(false);
-#endif
-#ifndef SRS_CONF_DEFAULT_DVR_DURATION
- EXPECT_TRUE(false);
-#endif
-#ifndef SRS_CONF_DEFAULT_TIME_JITTER
- EXPECT_TRUE(false);
-#endif
-#ifndef SRS_PERF_PLAY_QUEUE
- EXPECT_TRUE(false);
-#endif
-#ifndef SRS_CONF_DEFAULT_PAUSED_LENGTH
- EXPECT_TRUE(false);
-#endif
-#ifndef SRS_CONF_DEFAULT_BANDWIDTH_INTERVAL
- EXPECT_TRUE(false);
-#endif
-#ifndef SRS_CONF_DEFAULT_BANDWIDTH_LIMIT_KBPS
- EXPECT_TRUE(false);
-#endif
-#ifndef SRS_CONF_DEFAULT_HTTP_MOUNT
- EXPECT_TRUE(false);
-#endif
-#ifndef SRS_CONF_DEFAULT_HTTP_DIR
- EXPECT_TRUE(false);
-#endif
-#ifndef SRS_CONF_DEFAULT_HTTP_STREAM_PORT
- EXPECT_TRUE(false);
-#endif
-#ifndef SRS_CONF_DEFAULT_HTTP_API_PORT
- EXPECT_TRUE(false);
-#endif
-#ifndef SRS_CONF_DEFAULT_HTTP_HEAETBEAT_ENABLED
- EXPECT_TRUE(false);
-#endif
-#ifndef SRS_CONF_DEFAULT_HTTP_HEAETBEAT_INTERVAL
- EXPECT_TRUE(false);
-#endif
-#ifndef SRS_CONF_DEFAULT_HTTP_HEAETBEAT_URL
- EXPECT_TRUE(false);
-#endif
-#ifndef SRS_CONF_DEFAULT_HTTP_HEAETBEAT_SUMMARIES
- EXPECT_TRUE(false);
-#endif
-#ifndef SRS_CONF_DEFAULT_STATS_NETWORK_DEVICE_INDEX
- EXPECT_TRUE(false);
-#endif
-#ifndef SRS_CONF_DEFAULT_PITHY_PRINT_MS
- EXPECT_TRUE(false);
-#endif
-#ifndef SRS_CONF_DEFAULT_INGEST_TYPE_FILE
- EXPECT_TRUE(false);
-#endif
-#ifndef SRS_CONF_DEFAULT_INGEST_TYPE_STREAM
- EXPECT_TRUE(false);
-#endif
-#ifndef SRS_CONF_DEFAULT_TRANSCODE_IFORMAT
- EXPECT_TRUE(false);
-#endif
-#ifndef SRS_CONF_DEFAULT_TRANSCODE_OFORMAT
- EXPECT_TRUE(false);
-#endif
-#ifndef SRS_CONF_DEFAULT_LOG_FILE
- EXPECT_TRUE(false);
-#endif
-#ifndef SRS_CONSTS_NULL_FILE
- EXPECT_TRUE(false);
-#endif
-#ifndef SRS_CONF_DEFAULT_FF_LOG_DIR
- EXPECT_TRUE(false);
-#endif
-#ifndef SRS_CONF_DEFAULT_LOG_LEVEL
- EXPECT_TRUE(false);
-#endif
-#ifndef SRS_CONF_DEFAULT_LOG_TANK_CONSOLE
- EXPECT_TRUE(false);
-#endif
}
VOID TEST(ConfigDirectiveTest, ParseEmpty)
@@ -1374,2561 +706,6 @@ VOID TEST(ConfigMainTest, ParseInvalidDirective2)
EXPECT_TRUE(ERROR_SUCCESS != conf.parse("chunk_size 4096;"));
}
-VOID TEST(ConfigMainTest, ParseFullConf)
-{
- MockSrsConfig conf;
- EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
-
- vector listens = conf.get_listens();
- EXPECT_EQ(1, (int)listens.size());
- EXPECT_STREQ("1935", listens.at(0).c_str());
-
- EXPECT_STREQ("./objs/srs.pid", conf.get_pid_file().c_str());
- EXPECT_EQ(60000, conf.get_chunk_size(""));
- EXPECT_STREQ("./objs", conf.get_ffmpeg_log_dir().c_str());
- EXPECT_TRUE(conf.get_log_tank_file());
- EXPECT_STREQ("trace", conf.get_log_level().c_str());
- EXPECT_STREQ("./objs/srs.log", conf.get_log_file().c_str());
- EXPECT_EQ(1000, conf.get_max_connections());
- EXPECT_TRUE(conf.get_deamon());
-
- EXPECT_FALSE(conf.get_heartbeat_enabled());
- EXPECT_EQ(9300, conf.get_heartbeat_interval());
- EXPECT_STREQ("http://127.0.0.1:8085/api/v1/servers", conf.get_heartbeat_url().c_str());
- EXPECT_STREQ("my-srs-device", conf.get_heartbeat_device_id().c_str());
- EXPECT_FALSE(conf.get_heartbeat_summaries());
-
- EXPECT_EQ(0, conf.get_stats_network());
- ASSERT_TRUE(conf.get_stats_disk_device() != NULL);
- EXPECT_EQ(4, (int)conf.get_stats_disk_device()->args.size());
-
- EXPECT_TRUE(conf.get_http_api_enabled());
- EXPECT_STREQ("1985", conf.get_http_api_listen().c_str());
-
- EXPECT_TRUE(conf.get_http_stream_enabled());
- EXPECT_STREQ("8080", conf.get_http_stream_listen().c_str());
- EXPECT_STREQ("./objs/nginx/html", conf.get_http_stream_dir().c_str());
-
- EXPECT_EQ(10000, conf.get_pithy_print_ms());
-
- EXPECT_TRUE(NULL != conf.get_vhost("__defaultVhost__"));
- EXPECT_TRUE(NULL != conf.get_vhost("same.edge.srs.com"));
- EXPECT_TRUE(NULL != conf.get_vhost("change.edge.srs.com"));
- EXPECT_TRUE(NULL != conf.get_vhost("dvr.srs.com"));
- EXPECT_TRUE(NULL != conf.get_vhost("ingest.srs.com"));
- EXPECT_TRUE(NULL != conf.get_vhost("http.srs.com"));
- EXPECT_TRUE(NULL != conf.get_vhost("with-hls.srs.com"));
- EXPECT_TRUE(NULL != conf.get_vhost("no-hls.srs.com"));
- EXPECT_TRUE(NULL != conf.get_vhost("hooks.callback.srs.com"));
- EXPECT_TRUE(NULL != conf.get_vhost("min.delay.com"));
- EXPECT_TRUE(NULL != conf.get_vhost("refer.anti_suck.com"));
- EXPECT_TRUE(NULL != conf.get_vhost("same.vhost.forward.srs.com"));
- EXPECT_TRUE(NULL != conf.get_vhost("change.vhost.forward.srs.com"));
- EXPECT_TRUE(NULL != conf.get_vhost("mirror.transcode.srs.com"));
- EXPECT_TRUE(NULL != conf.get_vhost("crop.transcode.srs.com"));
- EXPECT_TRUE(NULL != conf.get_vhost("logo.transcode.srs.com"));
- EXPECT_TRUE(NULL != conf.get_vhost("audio.transcode.srs.com"));
- EXPECT_TRUE(NULL != conf.get_vhost("vn.transcode.srs.com"));
- EXPECT_TRUE(NULL != conf.get_vhost("copy.transcode.srs.com"));
- EXPECT_TRUE(NULL != conf.get_vhost("all.transcode.srs.com"));
- EXPECT_TRUE(NULL != conf.get_vhost("ffempty.transcode.srs.com"));
- EXPECT_TRUE(NULL != conf.get_vhost("app.transcode.srs.com"));
- EXPECT_TRUE(NULL != conf.get_vhost("stream.transcode.srs.com"));
- EXPECT_TRUE(NULL != conf.get_vhost("bandcheck.srs.com"));
- EXPECT_TRUE(NULL != conf.get_vhost("chunksize.srs.com"));
- EXPECT_TRUE(NULL != conf.get_vhost("jitter.srs.com"));
- EXPECT_TRUE(NULL != conf.get_vhost("atc.srs.com"));
- EXPECT_TRUE(NULL != conf.get_vhost("removed.srs.com"));
-
- string vhost;
-
- ////////////////////////////////////////////////////////////////
- // default vhost template.
- ////////////////////////////////////////////////////////////////
- vhost = "__defaultVhost__";
- EXPECT_TRUE(conf.get_vhost_enabled(vhost));
- EXPECT_TRUE(conf.get_vhost_enabled(conf.get_vhost(vhost)));
- EXPECT_TRUE(conf.get_gop_cache(vhost));
- EXPECT_TRUE(conf.get_debug_srs_upnode(vhost));
- EXPECT_FALSE(conf.get_atc(vhost));
- EXPECT_TRUE(conf.get_atc_auto(vhost));
- EXPECT_TRUE(conf.get_time_jitter(vhost) == SrsRtmpJitterAlgorithmFULL);
- EXPECT_FLOAT_EQ(30, conf.get_queue_length(vhost));
- EXPECT_TRUE(!conf.get_refer_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_play(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_publish(vhost));
- EXPECT_EQ(60000, conf.get_chunk_size(vhost));
- EXPECT_TRUE(!conf.get_forward_enabled(vhost));
- EXPECT_FALSE(conf.get_vhost_http_hooks_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_connect(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_close(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_publish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_unpublish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_play(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_stop(vhost));
- EXPECT_FALSE(conf.get_bw_check_enabled(vhost));
- EXPECT_TRUE(conf.get_bw_check_key(vhost).empty());
- EXPECT_EQ(30000, conf.get_bw_check_interval_ms(vhost));
- EXPECT_EQ(1000, conf.get_bw_check_limit_kbps(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(conf.get_vhost(vhost)));
- EXPECT_TRUE(NULL == conf.get_vhost_edge_origin(vhost));
- EXPECT_FALSE(conf.get_vhost_edge_token_traverse(vhost));
- EXPECT_TRUE(NULL == conf.get_transcode(vhost, ""));
- EXPECT_FALSE(conf.get_transcode_enabled(NULL));
- EXPECT_TRUE(conf.get_transcode_ffmpeg(NULL).empty());
- EXPECT_TRUE(conf.get_transcode_engines(NULL).size() == 0);
- EXPECT_FALSE(conf.get_engine_enabled(NULL));
- EXPECT_STREQ("flv", conf.get_engine_iformat(NULL).c_str());
- EXPECT_TRUE(conf.get_engine_vfilter(NULL).size() == 0);
- EXPECT_TRUE(conf.get_engine_vcodec(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vbitrate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vfps(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vwidth(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vheight(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vthreads(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vprofile(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vpreset(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vparams(NULL).size() == 0);
- EXPECT_TRUE(conf.get_engine_acodec(NULL).empty());
- EXPECT_TRUE(conf.get_engine_abitrate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_asample_rate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_achannels(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_aparams(NULL).size() == 0);
- EXPECT_STREQ("flv", conf.get_engine_oformat(NULL).c_str());
- EXPECT_TRUE(conf.get_engine_output(NULL).empty());
- EXPECT_TRUE(conf.get_ingesters(vhost).size() == 0);
- EXPECT_TRUE(NULL == conf.get_ingest_by_id(vhost, ""));
- EXPECT_FALSE(conf.get_ingest_enabled(NULL));
- EXPECT_TRUE(conf.get_ingest_ffmpeg(NULL).empty());
- EXPECT_STREQ("file", conf.get_ingest_input_type(NULL).c_str());
- EXPECT_TRUE(conf.get_ingest_input_url(NULL).empty());
- EXPECT_FALSE(conf.get_hls_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_hls_path(vhost).c_str());
- EXPECT_EQ(10, conf.get_hls_fragment(vhost));
- EXPECT_EQ(60, conf.get_hls_window(vhost));
- EXPECT_FALSE(conf.get_dvr_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_dvr_path(vhost).c_str());
- EXPECT_STREQ("session", conf.get_dvr_plan(vhost).c_str());
- EXPECT_EQ(30, conf.get_dvr_duration(vhost));
- EXPECT_TRUE(conf.get_dvr_wait_keyframe(vhost));
- EXPECT_TRUE(SrsRtmpJitterAlgorithmFULL == conf.get_dvr_time_jitter(vhost));
- EXPECT_FALSE(conf.get_vhost_http_enabled(vhost));
- EXPECT_STREQ("[vhost]/", conf.get_vhost_http_mount(vhost).c_str());
- EXPECT_STREQ("./objs/nginx/html", conf.get_vhost_http_dir(vhost).c_str());
- ////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////
-}
-
-VOID TEST(ConfigMainTest, ParseFullConf_same_edge)
-{
- string vhost;
- MockSrsConfig conf;
- EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
-
- vhost = "same.edge.srs.com";
- EXPECT_TRUE(conf.get_vhost_enabled(vhost));
- EXPECT_TRUE(conf.get_vhost_enabled(conf.get_vhost(vhost)));
- EXPECT_TRUE(conf.get_gop_cache(vhost));
- EXPECT_TRUE(conf.get_debug_srs_upnode(vhost));
- EXPECT_FALSE(conf.get_atc(vhost));
- EXPECT_TRUE(conf.get_atc_auto(vhost));
- EXPECT_TRUE(conf.get_time_jitter(vhost) == SrsRtmpJitterAlgorithmFULL);
- EXPECT_FLOAT_EQ(30, conf.get_queue_length(vhost));
- EXPECT_TRUE(!conf.get_refer_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_play(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_publish(vhost));
- EXPECT_EQ(60000, conf.get_chunk_size(vhost));
- EXPECT_TRUE(!conf.get_forward_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_connect(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_close(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_publish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_unpublish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_play(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_stop(vhost));
- EXPECT_FALSE(conf.get_bw_check_enabled(vhost));
- EXPECT_TRUE(conf.get_bw_check_key(vhost).empty());
- EXPECT_EQ(30000, conf.get_bw_check_interval_ms(vhost));
- EXPECT_EQ(1000, conf.get_bw_check_limit_kbps(vhost));
- EXPECT_TRUE(conf.get_vhost_is_edge(vhost));
- EXPECT_TRUE(conf.get_vhost_is_edge(conf.get_vhost(vhost)));
- EXPECT_TRUE(NULL != conf.get_vhost_edge_origin(vhost));
- if (true) {
- SrsConfDirective* edge = conf.get_vhost_edge_origin(vhost);
- EXPECT_STREQ("127.0.0.1:1935", edge->arg0().c_str());
- EXPECT_STREQ("localhost:1935", edge->arg1().c_str());
- }
- EXPECT_FALSE(conf.get_vhost_edge_token_traverse(vhost));
- EXPECT_TRUE(NULL == conf.get_transcode(vhost, ""));
- EXPECT_FALSE(conf.get_transcode_enabled(NULL));
- EXPECT_TRUE(conf.get_transcode_ffmpeg(NULL).empty());
- EXPECT_TRUE(conf.get_transcode_engines(NULL).size() == 0);
- EXPECT_FALSE(conf.get_engine_enabled(NULL));
- EXPECT_STREQ("flv", conf.get_engine_iformat(NULL).c_str());
- EXPECT_TRUE(conf.get_engine_vfilter(NULL).size() == 0);
- EXPECT_TRUE(conf.get_engine_vcodec(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vbitrate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vfps(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vwidth(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vheight(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vthreads(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vprofile(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vpreset(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vparams(NULL).size() == 0);
- EXPECT_TRUE(conf.get_engine_acodec(NULL).empty());
- EXPECT_TRUE(conf.get_engine_abitrate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_asample_rate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_achannels(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_aparams(NULL).size() == 0);
- EXPECT_STREQ("flv", conf.get_engine_oformat(NULL).c_str());
- EXPECT_TRUE(conf.get_engine_output(NULL).empty());
- EXPECT_TRUE(conf.get_ingesters(vhost).size() == 0);
- EXPECT_TRUE(NULL == conf.get_ingest_by_id(vhost, ""));
- EXPECT_FALSE(conf.get_ingest_enabled(NULL));
- EXPECT_TRUE(conf.get_ingest_ffmpeg(NULL).empty());
- EXPECT_STREQ("file", conf.get_ingest_input_type(NULL).c_str());
- EXPECT_TRUE(conf.get_ingest_input_url(NULL).empty());
- EXPECT_FALSE(conf.get_hls_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_hls_path(vhost).c_str());
- EXPECT_EQ(10, conf.get_hls_fragment(vhost));
- EXPECT_EQ(60, conf.get_hls_window(vhost));
- EXPECT_FALSE(conf.get_dvr_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_dvr_path(vhost).c_str());
- EXPECT_STREQ("session", conf.get_dvr_plan(vhost).c_str());
- EXPECT_EQ(30, conf.get_dvr_duration(vhost));
- EXPECT_TRUE(conf.get_dvr_wait_keyframe(vhost));
- EXPECT_TRUE(SrsRtmpJitterAlgorithmFULL == conf.get_dvr_time_jitter(vhost));
-}
-
-VOID TEST(ConfigMainTest, ParseFullConf_change_edge)
-{
- string vhost;
- MockSrsConfig conf;
- EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
-
- vhost = "change.edge.srs.com";
- // TODO: FIXME: implements it.
- /*EXPECT_TRUE(conf.get_vhost_enabled(vhost));
- EXPECT_TRUE(conf.get_vhost_enabled(conf.get_vhost(vhost)));
- EXPECT_TRUE(conf.get_gop_cache(vhost));
- EXPECT_TRUE(conf.get_debug_srs_upnode(vhost));
- EXPECT_FALSE(conf.get_atc(vhost));
- EXPECT_TRUE(conf.get_atc_auto(vhost));
- EXPECT_TRUE(conf.get_time_jitter(vhost) == SrsRtmpJitterAlgorithmFULL);
- EXPECT_FLOAT_EQ(30, conf.get_queue_length(vhost));
- EXPECT_TRUE(!conf.get_refer_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_play(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_publish(vhost));
- EXPECT_EQ(60000, conf.get_chunk_size(vhost));
- EXPECT_TRUE(!conf.get_forward_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_connect(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_close(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_publish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_unpublish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_play(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_stop(vhost));
- EXPECT_FALSE(conf.get_bw_check_enabled(vhost));
- EXPECT_TRUE(conf.get_bw_check_key(vhost).empty());
- EXPECT_EQ(30000, conf.get_bw_check_interval_ms(vhost));
- EXPECT_EQ(1000, conf.get_bw_check_limit_kbps(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(conf.get_vhost(vhost)));
- EXPECT_TRUE(NULL == conf.get_vhost_edge_origin(vhost));
- EXPECT_FALSE(conf.get_vhost_edge_token_traverse(vhost));
- EXPECT_TRUE(NULL == conf.get_transcode(vhost, ""));
- EXPECT_FALSE(conf.get_transcode_enabled(NULL));
- EXPECT_TRUE(conf.get_transcode_ffmpeg(NULL).empty());
- EXPECT_TRUE(conf.get_transcode_engines(NULL).size() == 0);
- EXPECT_FALSE(conf.get_engine_enabled(NULL));
- EXPECT_STREQ("flv", conf.get_engine_iformat(NULL).c_str());
- EXPECT_TRUE(conf.get_engine_vfilter(NULL).size() == 0);
- EXPECT_TRUE(conf.get_engine_vcodec(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vbitrate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vfps(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vwidth(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vheight(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vthreads(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vprofile(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vpreset(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vparams(NULL).size() == 0);
- EXPECT_TRUE(conf.get_engine_acodec(NULL).empty());
- EXPECT_TRUE(conf.get_engine_abitrate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_asample_rate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_achannels(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_aparams(NULL).size() == 0);
- EXPECT_STREQ("flv", conf.get_engine_oformat(NULL).c_str());
- EXPECT_TRUE(conf.get_engine_output(NULL).empty());
- EXPECT_TRUE(conf.get_ingesters(vhost).size() == 0);
- EXPECT_TRUE(NULL == conf.get_ingest_by_id(vhost, ""));
- EXPECT_FALSE(conf.get_ingest_enabled(NULL));
- EXPECT_TRUE(conf.get_ingest_ffmpeg(NULL).empty());
- EXPECT_STREQ("file", conf.get_ingest_input_type(NULL).c_str());
- EXPECT_TRUE(conf.get_ingest_input_url(NULL).empty());
- EXPECT_FALSE(conf.get_hls_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_hls_path(vhost).c_str());
- EXPECT_EQ(10, conf.get_hls_fragment(vhost));
- EXPECT_EQ(60, conf.get_hls_window(vhost));
- EXPECT_FALSE(conf.get_dvr_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_dvr_path(vhost).c_str());
- EXPECT_STREQ("session", conf.get_dvr_plan(vhost).c_str());
- EXPECT_EQ(30, conf.get_dvr_duration(vhost));
- EXPECT_TRUE(conf.get_dvr_wait_keyframe(vhost));
- EXPECT_TRUE(SrsRtmpJitterAlgorithmFULL == conf.get_dvr_time_jitter(vhost));*/
-}
-
-VOID TEST(ConfigMainTest, ParseFullConf_dvr)
-{
- string vhost;
- MockSrsConfig conf;
- EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
-
- vhost = "dvr.srs.com";
- EXPECT_TRUE(conf.get_vhost_enabled(vhost));
- EXPECT_TRUE(conf.get_vhost_enabled(conf.get_vhost(vhost)));
- EXPECT_TRUE(conf.get_gop_cache(vhost));
- EXPECT_TRUE(conf.get_debug_srs_upnode(vhost));
- EXPECT_FALSE(conf.get_atc(vhost));
- EXPECT_TRUE(conf.get_atc_auto(vhost));
- EXPECT_TRUE(conf.get_time_jitter(vhost) == SrsRtmpJitterAlgorithmFULL);
- EXPECT_FLOAT_EQ(30, conf.get_queue_length(vhost));
- EXPECT_TRUE(!conf.get_refer_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_play(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_publish(vhost));
- EXPECT_EQ(60000, conf.get_chunk_size(vhost));
- EXPECT_TRUE(!conf.get_forward_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_connect(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_close(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_publish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_unpublish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_play(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_stop(vhost));
- EXPECT_FALSE(conf.get_bw_check_enabled(vhost));
- EXPECT_TRUE(conf.get_bw_check_key(vhost).empty());
- EXPECT_EQ(30000, conf.get_bw_check_interval_ms(vhost));
- EXPECT_EQ(1000, conf.get_bw_check_limit_kbps(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(conf.get_vhost(vhost)));
- EXPECT_TRUE(NULL == conf.get_vhost_edge_origin(vhost));
- EXPECT_FALSE(conf.get_vhost_edge_token_traverse(vhost));
- EXPECT_TRUE(NULL == conf.get_transcode(vhost, ""));
- EXPECT_FALSE(conf.get_transcode_enabled(NULL));
- EXPECT_TRUE(conf.get_transcode_ffmpeg(NULL).empty());
- EXPECT_TRUE(conf.get_transcode_engines(NULL).size() == 0);
- EXPECT_FALSE(conf.get_engine_enabled(NULL));
- EXPECT_STREQ("flv", conf.get_engine_iformat(NULL).c_str());
- EXPECT_TRUE(conf.get_engine_vfilter(NULL).size() == 0);
- EXPECT_TRUE(conf.get_engine_vcodec(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vbitrate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vfps(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vwidth(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vheight(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vthreads(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vprofile(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vpreset(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vparams(NULL).size() == 0);
- EXPECT_TRUE(conf.get_engine_acodec(NULL).empty());
- EXPECT_TRUE(conf.get_engine_abitrate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_asample_rate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_achannels(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_aparams(NULL).size() == 0);
- EXPECT_STREQ("flv", conf.get_engine_oformat(NULL).c_str());
- EXPECT_TRUE(conf.get_engine_output(NULL).empty());
- EXPECT_TRUE(conf.get_ingesters(vhost).size() == 0);
- EXPECT_TRUE(NULL == conf.get_ingest_by_id(vhost, ""));
- EXPECT_FALSE(conf.get_ingest_enabled(NULL));
- EXPECT_TRUE(conf.get_ingest_ffmpeg(NULL).empty());
- EXPECT_STREQ("file", conf.get_ingest_input_type(NULL).c_str());
- EXPECT_TRUE(conf.get_ingest_input_url(NULL).empty());
- EXPECT_FALSE(conf.get_hls_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_hls_path(vhost).c_str());
- EXPECT_EQ(10, conf.get_hls_fragment(vhost));
- EXPECT_EQ(60, conf.get_hls_window(vhost));
- EXPECT_TRUE(conf.get_dvr_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_dvr_path(vhost).c_str());
- EXPECT_STREQ("session", conf.get_dvr_plan(vhost).c_str());
- EXPECT_EQ(30, conf.get_dvr_duration(vhost));
- EXPECT_TRUE(conf.get_dvr_wait_keyframe(vhost));
- EXPECT_TRUE(SrsRtmpJitterAlgorithmFULL == conf.get_dvr_time_jitter(vhost));
-}
-
-VOID TEST(ConfigMainTest, ParseFullConf_ingest)
-{
- string vhost;
- MockSrsConfig conf;
- EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
-
- vhost = "ingest.srs.com";
- EXPECT_TRUE(conf.get_vhost_enabled(vhost));
- EXPECT_TRUE(conf.get_vhost_enabled(conf.get_vhost(vhost)));
- EXPECT_TRUE(conf.get_gop_cache(vhost));
- EXPECT_TRUE(conf.get_debug_srs_upnode(vhost));
- EXPECT_FALSE(conf.get_atc(vhost));
- EXPECT_TRUE(conf.get_atc_auto(vhost));
- EXPECT_TRUE(conf.get_time_jitter(vhost) == SrsRtmpJitterAlgorithmFULL);
- EXPECT_FLOAT_EQ(30, conf.get_queue_length(vhost));
- EXPECT_TRUE(!conf.get_refer_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_play(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_publish(vhost));
- EXPECT_EQ(60000, conf.get_chunk_size(vhost));
- EXPECT_TRUE(!conf.get_forward_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_connect(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_close(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_publish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_unpublish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_play(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_stop(vhost));
- EXPECT_FALSE(conf.get_bw_check_enabled(vhost));
- EXPECT_TRUE(conf.get_bw_check_key(vhost).empty());
- EXPECT_EQ(30000, conf.get_bw_check_interval_ms(vhost));
- EXPECT_EQ(1000, conf.get_bw_check_limit_kbps(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(conf.get_vhost(vhost)));
- EXPECT_TRUE(NULL == conf.get_vhost_edge_origin(vhost));
- EXPECT_FALSE(conf.get_vhost_edge_token_traverse(vhost));
- EXPECT_TRUE(NULL == conf.get_transcode(vhost, ""));
- EXPECT_FALSE(conf.get_transcode_enabled(NULL));
- EXPECT_TRUE(conf.get_transcode_ffmpeg(NULL).empty());
- EXPECT_TRUE(conf.get_transcode_engines(NULL).size() == 0);
- EXPECT_FALSE(conf.get_engine_enabled(NULL));
- EXPECT_STREQ("flv", conf.get_engine_iformat(NULL).c_str());
- EXPECT_TRUE(conf.get_engine_vfilter(NULL).size() == 0);
- EXPECT_TRUE(conf.get_engine_vcodec(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vbitrate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vfps(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vwidth(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vheight(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vthreads(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vprofile(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vpreset(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vparams(NULL).size() == 0);
- EXPECT_TRUE(conf.get_engine_acodec(NULL).empty());
- EXPECT_TRUE(conf.get_engine_abitrate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_asample_rate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_achannels(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_aparams(NULL).size() == 0);
- EXPECT_STREQ("flv", conf.get_engine_oformat(NULL).c_str());
- EXPECT_TRUE(conf.get_engine_output(NULL).empty());
- ASSERT_TRUE(conf.get_ingesters(vhost).size() == 1);
- if (true) {
- SrsConfDirective* ingest = conf.get_ingesters(vhost).at(0);
- EXPECT_STREQ("livestream", ingest->arg0().c_str());
-
- EXPECT_TRUE(ingest == conf.get_ingest_by_id(vhost, "livestream"));
- EXPECT_TRUE(conf.get_ingest_enabled(ingest));
- EXPECT_STREQ(
- "./objs/ffmpeg/bin/ffmpeg",
- conf.get_ingest_ffmpeg(ingest).c_str()
- );
- EXPECT_STREQ("file", conf.get_ingest_input_type(ingest).c_str());
- EXPECT_STREQ(
- "./doc/source.200kbps.768x320.flv",
- conf.get_ingest_input_url(ingest).c_str()
- );
-
- vector engines = conf.get_transcode_engines(ingest);
- ASSERT_EQ(1, (int)engines.size());
-
- SrsConfDirective* transcode = engines.at(0);
- EXPECT_FALSE(conf.get_transcode_enabled(transcode));
- EXPECT_STREQ(
- "rtmp://127.0.0.1:[port]/live?vhost=[vhost]/livestream",
- conf.get_engine_output(transcode).c_str()
- );
- }
- EXPECT_FALSE(conf.get_hls_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_hls_path(vhost).c_str());
- EXPECT_EQ(10, conf.get_hls_fragment(vhost));
- EXPECT_EQ(60, conf.get_hls_window(vhost));
- EXPECT_FALSE(conf.get_dvr_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_dvr_path(vhost).c_str());
- EXPECT_STREQ("session", conf.get_dvr_plan(vhost).c_str());
- EXPECT_EQ(30, conf.get_dvr_duration(vhost));
- EXPECT_TRUE(conf.get_dvr_wait_keyframe(vhost));
- EXPECT_TRUE(SrsRtmpJitterAlgorithmFULL == conf.get_dvr_time_jitter(vhost));
-}
-
-VOID TEST(ConfigMainTest, ParseFullConf_http)
-{
- string vhost;
- MockSrsConfig conf;
- EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
-
- vhost = "http.srs.com";
- EXPECT_TRUE(conf.get_vhost_enabled(vhost));
- EXPECT_TRUE(conf.get_vhost_enabled(conf.get_vhost(vhost)));
- EXPECT_TRUE(conf.get_gop_cache(vhost));
- EXPECT_TRUE(conf.get_debug_srs_upnode(vhost));
- EXPECT_FALSE(conf.get_atc(vhost));
- EXPECT_TRUE(conf.get_atc_auto(vhost));
- EXPECT_TRUE(conf.get_time_jitter(vhost) == SrsRtmpJitterAlgorithmFULL);
- EXPECT_FLOAT_EQ(30, conf.get_queue_length(vhost));
- EXPECT_TRUE(!conf.get_refer_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_play(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_publish(vhost));
- EXPECT_EQ(60000, conf.get_chunk_size(vhost));
- EXPECT_TRUE(!conf.get_forward_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_connect(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_close(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_publish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_unpublish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_play(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_stop(vhost));
- EXPECT_FALSE(conf.get_bw_check_enabled(vhost));
- EXPECT_TRUE(conf.get_bw_check_key(vhost).empty());
- EXPECT_EQ(30000, conf.get_bw_check_interval_ms(vhost));
- EXPECT_EQ(1000, conf.get_bw_check_limit_kbps(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(conf.get_vhost(vhost)));
- EXPECT_TRUE(NULL == conf.get_vhost_edge_origin(vhost));
- EXPECT_FALSE(conf.get_vhost_edge_token_traverse(vhost));
- EXPECT_TRUE(NULL == conf.get_transcode(vhost, ""));
- EXPECT_FALSE(conf.get_transcode_enabled(NULL));
- EXPECT_TRUE(conf.get_transcode_ffmpeg(NULL).empty());
- EXPECT_TRUE(conf.get_transcode_engines(NULL).size() == 0);
- EXPECT_FALSE(conf.get_engine_enabled(NULL));
- EXPECT_STREQ("flv", conf.get_engine_iformat(NULL).c_str());
- EXPECT_TRUE(conf.get_engine_vfilter(NULL).size() == 0);
- EXPECT_TRUE(conf.get_engine_vcodec(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vbitrate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vfps(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vwidth(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vheight(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vthreads(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vprofile(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vpreset(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vparams(NULL).size() == 0);
- EXPECT_TRUE(conf.get_engine_acodec(NULL).empty());
- EXPECT_TRUE(conf.get_engine_abitrate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_asample_rate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_achannels(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_aparams(NULL).size() == 0);
- EXPECT_STREQ("flv", conf.get_engine_oformat(NULL).c_str());
- EXPECT_TRUE(conf.get_engine_output(NULL).empty());
- EXPECT_TRUE(conf.get_ingesters(vhost).size() == 0);
- EXPECT_TRUE(NULL == conf.get_ingest_by_id(vhost, ""));
- EXPECT_FALSE(conf.get_ingest_enabled(NULL));
- EXPECT_TRUE(conf.get_ingest_ffmpeg(NULL).empty());
- EXPECT_STREQ("file", conf.get_ingest_input_type(NULL).c_str());
- EXPECT_TRUE(conf.get_ingest_input_url(NULL).empty());
- EXPECT_FALSE(conf.get_hls_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_hls_path(vhost).c_str());
- EXPECT_EQ(10, conf.get_hls_fragment(vhost));
- EXPECT_EQ(60, conf.get_hls_window(vhost));
- EXPECT_FALSE(conf.get_dvr_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_dvr_path(vhost).c_str());
- EXPECT_STREQ("session", conf.get_dvr_plan(vhost).c_str());
- EXPECT_EQ(30, conf.get_dvr_duration(vhost));
- EXPECT_TRUE(conf.get_dvr_wait_keyframe(vhost));
- EXPECT_TRUE(SrsRtmpJitterAlgorithmFULL == conf.get_dvr_time_jitter(vhost));
- EXPECT_FALSE(conf.get_vhost_http_enabled(vhost));
- EXPECT_STREQ("[vhost]/", conf.get_vhost_http_mount(vhost).c_str());
- EXPECT_STREQ("./objs/nginx/html", conf.get_vhost_http_dir(vhost).c_str());
-}
-
-VOID TEST(ConfigMainTest, ParseFullConf_hls_enabled)
-{
- string vhost;
- MockSrsConfig conf;
- EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
-
- vhost = "with-hls.srs.com";
- EXPECT_TRUE(conf.get_vhost_enabled(vhost));
- EXPECT_TRUE(conf.get_vhost_enabled(conf.get_vhost(vhost)));
- EXPECT_TRUE(conf.get_gop_cache(vhost));
- EXPECT_TRUE(conf.get_debug_srs_upnode(vhost));
- EXPECT_FALSE(conf.get_atc(vhost));
- EXPECT_TRUE(conf.get_atc_auto(vhost));
- EXPECT_TRUE(conf.get_time_jitter(vhost) == SrsRtmpJitterAlgorithmFULL);
- EXPECT_FLOAT_EQ(30, conf.get_queue_length(vhost));
- EXPECT_TRUE(!conf.get_refer_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_play(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_publish(vhost));
- EXPECT_EQ(60000, conf.get_chunk_size(vhost));
- EXPECT_TRUE(!conf.get_forward_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_connect(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_close(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_publish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_unpublish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_play(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_stop(vhost));
- EXPECT_FALSE(conf.get_bw_check_enabled(vhost));
- EXPECT_TRUE(conf.get_bw_check_key(vhost).empty());
- EXPECT_EQ(30000, conf.get_bw_check_interval_ms(vhost));
- EXPECT_EQ(1000, conf.get_bw_check_limit_kbps(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(conf.get_vhost(vhost)));
- EXPECT_TRUE(NULL == conf.get_vhost_edge_origin(vhost));
- EXPECT_FALSE(conf.get_vhost_edge_token_traverse(vhost));
- EXPECT_TRUE(NULL == conf.get_transcode(vhost, ""));
- EXPECT_FALSE(conf.get_transcode_enabled(NULL));
- EXPECT_TRUE(conf.get_transcode_ffmpeg(NULL).empty());
- EXPECT_TRUE(conf.get_transcode_engines(NULL).size() == 0);
- EXPECT_FALSE(conf.get_engine_enabled(NULL));
- EXPECT_STREQ("flv", conf.get_engine_iformat(NULL).c_str());
- EXPECT_TRUE(conf.get_engine_vfilter(NULL).size() == 0);
- EXPECT_TRUE(conf.get_engine_vcodec(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vbitrate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vfps(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vwidth(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vheight(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vthreads(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vprofile(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vpreset(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vparams(NULL).size() == 0);
- EXPECT_TRUE(conf.get_engine_acodec(NULL).empty());
- EXPECT_TRUE(conf.get_engine_abitrate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_asample_rate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_achannels(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_aparams(NULL).size() == 0);
- EXPECT_STREQ("flv", conf.get_engine_oformat(NULL).c_str());
- EXPECT_TRUE(conf.get_engine_output(NULL).empty());
- EXPECT_TRUE(conf.get_ingesters(vhost).size() == 0);
- EXPECT_TRUE(NULL == conf.get_ingest_by_id(vhost, ""));
- EXPECT_FALSE(conf.get_ingest_enabled(NULL));
- EXPECT_TRUE(conf.get_ingest_ffmpeg(NULL).empty());
- EXPECT_STREQ("file", conf.get_ingest_input_type(NULL).c_str());
- EXPECT_TRUE(conf.get_ingest_input_url(NULL).empty());
- EXPECT_TRUE(conf.get_hls_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_hls_path(vhost).c_str());
- EXPECT_EQ(10, conf.get_hls_fragment(vhost));
- EXPECT_EQ(60, conf.get_hls_window(vhost));
- EXPECT_FALSE(conf.get_dvr_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_dvr_path(vhost).c_str());
- EXPECT_STREQ("session", conf.get_dvr_plan(vhost).c_str());
- EXPECT_EQ(30, conf.get_dvr_duration(vhost));
- EXPECT_TRUE(conf.get_dvr_wait_keyframe(vhost));
- EXPECT_TRUE(SrsRtmpJitterAlgorithmFULL == conf.get_dvr_time_jitter(vhost));
- EXPECT_FALSE(conf.get_vhost_http_enabled(vhost));
- EXPECT_STREQ("[vhost]/", conf.get_vhost_http_mount(vhost).c_str());
- EXPECT_STREQ("./objs/nginx/html", conf.get_vhost_http_dir(vhost).c_str());
-}
-
-VOID TEST(ConfigMainTest, ParseFullConf_hls_disabled)
-{
- string vhost;
- MockSrsConfig conf;
- EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
-
- vhost = "no-hls.srs.com";
- EXPECT_TRUE(conf.get_vhost_enabled(vhost));
- EXPECT_TRUE(conf.get_vhost_enabled(conf.get_vhost(vhost)));
- EXPECT_TRUE(conf.get_gop_cache(vhost));
- EXPECT_TRUE(conf.get_debug_srs_upnode(vhost));
- EXPECT_FALSE(conf.get_atc(vhost));
- EXPECT_TRUE(conf.get_atc_auto(vhost));
- EXPECT_TRUE(conf.get_time_jitter(vhost) == SrsRtmpJitterAlgorithmFULL);
- EXPECT_FLOAT_EQ(30, conf.get_queue_length(vhost));
- EXPECT_TRUE(!conf.get_refer_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_play(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_publish(vhost));
- EXPECT_EQ(60000, conf.get_chunk_size(vhost));
- EXPECT_TRUE(!conf.get_forward_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_connect(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_close(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_publish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_unpublish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_play(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_stop(vhost));
- EXPECT_FALSE(conf.get_bw_check_enabled(vhost));
- EXPECT_TRUE(conf.get_bw_check_key(vhost).empty());
- EXPECT_EQ(30000, conf.get_bw_check_interval_ms(vhost));
- EXPECT_EQ(1000, conf.get_bw_check_limit_kbps(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(conf.get_vhost(vhost)));
- EXPECT_TRUE(NULL == conf.get_vhost_edge_origin(vhost));
- EXPECT_FALSE(conf.get_vhost_edge_token_traverse(vhost));
- EXPECT_TRUE(NULL == conf.get_transcode(vhost, ""));
- EXPECT_FALSE(conf.get_transcode_enabled(NULL));
- EXPECT_TRUE(conf.get_transcode_ffmpeg(NULL).empty());
- EXPECT_TRUE(conf.get_transcode_engines(NULL).size() == 0);
- EXPECT_FALSE(conf.get_engine_enabled(NULL));
- EXPECT_STREQ("flv", conf.get_engine_iformat(NULL).c_str());
- EXPECT_TRUE(conf.get_engine_vfilter(NULL).size() == 0);
- EXPECT_TRUE(conf.get_engine_vcodec(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vbitrate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vfps(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vwidth(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vheight(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vthreads(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vprofile(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vpreset(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vparams(NULL).size() == 0);
- EXPECT_TRUE(conf.get_engine_acodec(NULL).empty());
- EXPECT_TRUE(conf.get_engine_abitrate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_asample_rate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_achannels(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_aparams(NULL).size() == 0);
- EXPECT_STREQ("flv", conf.get_engine_oformat(NULL).c_str());
- EXPECT_TRUE(conf.get_engine_output(NULL).empty());
- EXPECT_TRUE(conf.get_ingesters(vhost).size() == 0);
- EXPECT_TRUE(NULL == conf.get_ingest_by_id(vhost, ""));
- EXPECT_FALSE(conf.get_ingest_enabled(NULL));
- EXPECT_TRUE(conf.get_ingest_ffmpeg(NULL).empty());
- EXPECT_STREQ("file", conf.get_ingest_input_type(NULL).c_str());
- EXPECT_TRUE(conf.get_ingest_input_url(NULL).empty());
- EXPECT_FALSE(conf.get_hls_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_hls_path(vhost).c_str());
- EXPECT_EQ(10, conf.get_hls_fragment(vhost));
- EXPECT_EQ(60, conf.get_hls_window(vhost));
- EXPECT_FALSE(conf.get_dvr_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_dvr_path(vhost).c_str());
- EXPECT_STREQ("session", conf.get_dvr_plan(vhost).c_str());
- EXPECT_EQ(30, conf.get_dvr_duration(vhost));
- EXPECT_TRUE(conf.get_dvr_wait_keyframe(vhost));
- EXPECT_TRUE(SrsRtmpJitterAlgorithmFULL == conf.get_dvr_time_jitter(vhost));
- EXPECT_FALSE(conf.get_vhost_http_enabled(vhost));
- EXPECT_STREQ("[vhost]/", conf.get_vhost_http_mount(vhost).c_str());
- EXPECT_STREQ("./objs/nginx/html", conf.get_vhost_http_dir(vhost).c_str());
-}
-
-VOID TEST(ConfigMainTest, ParseFullConf_http_hooks)
-{
- string vhost;
- MockSrsConfig conf;
- EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
-
- vhost = "hooks.callback.srs.com";
- EXPECT_TRUE(conf.get_vhost_enabled(vhost));
- EXPECT_TRUE(conf.get_vhost_enabled(conf.get_vhost(vhost)));
- EXPECT_TRUE(conf.get_gop_cache(vhost));
- EXPECT_TRUE(conf.get_debug_srs_upnode(vhost));
- EXPECT_FALSE(conf.get_atc(vhost));
- EXPECT_TRUE(conf.get_atc_auto(vhost));
- EXPECT_TRUE(conf.get_time_jitter(vhost) == SrsRtmpJitterAlgorithmFULL);
- EXPECT_FLOAT_EQ(30, conf.get_queue_length(vhost));
- EXPECT_TRUE(!conf.get_refer_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_play(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_publish(vhost));
- EXPECT_EQ(60000, conf.get_chunk_size(vhost));
- EXPECT_TRUE(!conf.get_forward_enabled(vhost));
- EXPECT_TRUE(conf.get_vhost_http_hooks_enabled(vhost));
- EXPECT_TRUE(NULL != conf.get_vhost_on_connect(vhost));
- if (true) {
- SrsConfDirective* callback = conf.get_vhost_on_connect(vhost);
- EXPECT_STREQ("http://127.0.0.1:8085/api/v1/clients", callback->arg0().c_str());
- EXPECT_STREQ("http://localhost:8085/api/v1/clients", callback->arg1().c_str());
- }
- EXPECT_TRUE(NULL != conf.get_vhost_on_close(vhost));
- if (true) {
- SrsConfDirective* callback = conf.get_vhost_on_close(vhost);
- EXPECT_STREQ("http://127.0.0.1:8085/api/v1/clients", callback->arg0().c_str());
- EXPECT_STREQ("http://localhost:8085/api/v1/clients", callback->arg1().c_str());
- }
- EXPECT_TRUE(NULL != conf.get_vhost_on_publish(vhost));
- if (true) {
- SrsConfDirective* callback = conf.get_vhost_on_publish(vhost);
- EXPECT_STREQ("http://127.0.0.1:8085/api/v1/streams", callback->arg0().c_str());
- EXPECT_STREQ("http://localhost:8085/api/v1/streams", callback->arg1().c_str());
- }
- EXPECT_TRUE(NULL != conf.get_vhost_on_unpublish(vhost));
- if (true) {
- SrsConfDirective* callback = conf.get_vhost_on_unpublish(vhost);
- EXPECT_STREQ("http://127.0.0.1:8085/api/v1/streams", callback->arg0().c_str());
- EXPECT_STREQ("http://localhost:8085/api/v1/streams", callback->arg1().c_str());
- }
- EXPECT_TRUE(NULL != conf.get_vhost_on_play(vhost));
- if (true) {
- SrsConfDirective* callback = conf.get_vhost_on_play(vhost);
- EXPECT_STREQ("http://127.0.0.1:8085/api/v1/sessions", callback->arg0().c_str());
- EXPECT_STREQ("http://localhost:8085/api/v1/sessions", callback->arg1().c_str());
- }
- EXPECT_TRUE(NULL != conf.get_vhost_on_stop(vhost));
- if (true) {
- SrsConfDirective* callback = conf.get_vhost_on_stop(vhost);
- EXPECT_STREQ("http://127.0.0.1:8085/api/v1/sessions", callback->arg0().c_str());
- EXPECT_STREQ("http://localhost:8085/api/v1/sessions", callback->arg1().c_str());
- }
- EXPECT_FALSE(conf.get_bw_check_enabled(vhost));
- EXPECT_TRUE(conf.get_bw_check_key(vhost).empty());
- EXPECT_EQ(30000, conf.get_bw_check_interval_ms(vhost));
- EXPECT_EQ(1000, conf.get_bw_check_limit_kbps(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(conf.get_vhost(vhost)));
- EXPECT_TRUE(NULL == conf.get_vhost_edge_origin(vhost));
- EXPECT_FALSE(conf.get_vhost_edge_token_traverse(vhost));
- EXPECT_TRUE(NULL == conf.get_transcode(vhost, ""));
- EXPECT_FALSE(conf.get_transcode_enabled(NULL));
- EXPECT_TRUE(conf.get_transcode_ffmpeg(NULL).empty());
- EXPECT_TRUE(conf.get_transcode_engines(NULL).size() == 0);
- EXPECT_FALSE(conf.get_engine_enabled(NULL));
- EXPECT_STREQ("flv", conf.get_engine_iformat(NULL).c_str());
- EXPECT_TRUE(conf.get_engine_vfilter(NULL).size() == 0);
- EXPECT_TRUE(conf.get_engine_vcodec(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vbitrate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vfps(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vwidth(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vheight(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vthreads(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vprofile(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vpreset(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vparams(NULL).size() == 0);
- EXPECT_TRUE(conf.get_engine_acodec(NULL).empty());
- EXPECT_TRUE(conf.get_engine_abitrate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_asample_rate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_achannels(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_aparams(NULL).size() == 0);
- EXPECT_STREQ("flv", conf.get_engine_oformat(NULL).c_str());
- EXPECT_TRUE(conf.get_engine_output(NULL).empty());
- EXPECT_TRUE(conf.get_ingesters(vhost).size() == 0);
- EXPECT_TRUE(NULL == conf.get_ingest_by_id(vhost, ""));
- EXPECT_FALSE(conf.get_ingest_enabled(NULL));
- EXPECT_TRUE(conf.get_ingest_ffmpeg(NULL).empty());
- EXPECT_STREQ("file", conf.get_ingest_input_type(NULL).c_str());
- EXPECT_TRUE(conf.get_ingest_input_url(NULL).empty());
- EXPECT_FALSE(conf.get_hls_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_hls_path(vhost).c_str());
- EXPECT_EQ(10, conf.get_hls_fragment(vhost));
- EXPECT_EQ(60, conf.get_hls_window(vhost));
- EXPECT_FALSE(conf.get_dvr_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_dvr_path(vhost).c_str());
- EXPECT_STREQ("session", conf.get_dvr_plan(vhost).c_str());
- EXPECT_EQ(30, conf.get_dvr_duration(vhost));
- EXPECT_TRUE(conf.get_dvr_wait_keyframe(vhost));
- EXPECT_TRUE(SrsRtmpJitterAlgorithmFULL == conf.get_dvr_time_jitter(vhost));
- EXPECT_FALSE(conf.get_vhost_http_enabled(vhost));
- EXPECT_STREQ("[vhost]/", conf.get_vhost_http_mount(vhost).c_str());
- EXPECT_STREQ("./objs/nginx/html", conf.get_vhost_http_dir(vhost).c_str());
-}
-
-VOID TEST(ConfigMainTest, ParseFullConf_min_delay)
-{
- string vhost;
- MockSrsConfig conf;
- EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
-
- vhost = "min.delay.com";
- EXPECT_TRUE(conf.get_vhost_enabled(vhost));
- EXPECT_TRUE(conf.get_vhost_enabled(conf.get_vhost(vhost)));
- EXPECT_FALSE(conf.get_gop_cache(vhost));
- EXPECT_TRUE(conf.get_debug_srs_upnode(vhost));
- EXPECT_FALSE(conf.get_atc(vhost));
- EXPECT_TRUE(conf.get_atc_auto(vhost));
- EXPECT_TRUE(conf.get_time_jitter(vhost) == SrsRtmpJitterAlgorithmFULL);
- EXPECT_FLOAT_EQ(10, conf.get_queue_length(vhost));
- EXPECT_TRUE(!conf.get_refer_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_play(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_publish(vhost));
- EXPECT_EQ(60000, conf.get_chunk_size(vhost));
- EXPECT_TRUE(!conf.get_forward_enabled(vhost));
- EXPECT_FALSE(conf.get_vhost_http_hooks_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_connect(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_close(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_publish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_unpublish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_play(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_stop(vhost));
- EXPECT_FALSE(conf.get_bw_check_enabled(vhost));
- EXPECT_TRUE(conf.get_bw_check_key(vhost).empty());
- EXPECT_EQ(30000, conf.get_bw_check_interval_ms(vhost));
- EXPECT_EQ(1000, conf.get_bw_check_limit_kbps(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(conf.get_vhost(vhost)));
- EXPECT_TRUE(NULL == conf.get_vhost_edge_origin(vhost));
- EXPECT_FALSE(conf.get_vhost_edge_token_traverse(vhost));
- EXPECT_TRUE(NULL == conf.get_transcode(vhost, ""));
- EXPECT_FALSE(conf.get_transcode_enabled(NULL));
- EXPECT_TRUE(conf.get_transcode_ffmpeg(NULL).empty());
- EXPECT_TRUE(conf.get_transcode_engines(NULL).size() == 0);
- EXPECT_FALSE(conf.get_engine_enabled(NULL));
- EXPECT_STREQ("flv", conf.get_engine_iformat(NULL).c_str());
- EXPECT_TRUE(conf.get_engine_vfilter(NULL).size() == 0);
- EXPECT_TRUE(conf.get_engine_vcodec(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vbitrate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vfps(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vwidth(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vheight(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vthreads(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vprofile(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vpreset(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vparams(NULL).size() == 0);
- EXPECT_TRUE(conf.get_engine_acodec(NULL).empty());
- EXPECT_TRUE(conf.get_engine_abitrate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_asample_rate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_achannels(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_aparams(NULL).size() == 0);
- EXPECT_STREQ("flv", conf.get_engine_oformat(NULL).c_str());
- EXPECT_TRUE(conf.get_engine_output(NULL).empty());
- EXPECT_TRUE(conf.get_ingesters(vhost).size() == 0);
- EXPECT_TRUE(NULL == conf.get_ingest_by_id(vhost, ""));
- EXPECT_FALSE(conf.get_ingest_enabled(NULL));
- EXPECT_TRUE(conf.get_ingest_ffmpeg(NULL).empty());
- EXPECT_STREQ("file", conf.get_ingest_input_type(NULL).c_str());
- EXPECT_TRUE(conf.get_ingest_input_url(NULL).empty());
- EXPECT_FALSE(conf.get_hls_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_hls_path(vhost).c_str());
- EXPECT_EQ(10, conf.get_hls_fragment(vhost));
- EXPECT_EQ(60, conf.get_hls_window(vhost));
- EXPECT_FALSE(conf.get_dvr_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_dvr_path(vhost).c_str());
- EXPECT_STREQ("session", conf.get_dvr_plan(vhost).c_str());
- EXPECT_EQ(30, conf.get_dvr_duration(vhost));
- EXPECT_TRUE(conf.get_dvr_wait_keyframe(vhost));
- EXPECT_TRUE(SrsRtmpJitterAlgorithmFULL == conf.get_dvr_time_jitter(vhost));
- EXPECT_FALSE(conf.get_vhost_http_enabled(vhost));
- EXPECT_STREQ("[vhost]/", conf.get_vhost_http_mount(vhost).c_str());
- EXPECT_STREQ("./objs/nginx/html", conf.get_vhost_http_dir(vhost).c_str());
-}
-
-VOID TEST(ConfigMainTest, ParseFullConf_refer_anti_suck)
-{
- string vhost;
- MockSrsConfig conf;
- EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
-
- vhost = "refer.anti_suck.com";
- EXPECT_TRUE(conf.get_vhost_enabled(vhost));
- EXPECT_TRUE(conf.get_vhost_enabled(conf.get_vhost(vhost)));
- EXPECT_TRUE(conf.get_gop_cache(vhost));
- EXPECT_TRUE(conf.get_debug_srs_upnode(vhost));
- EXPECT_FALSE(conf.get_atc(vhost));
- EXPECT_TRUE(conf.get_atc_auto(vhost));
- EXPECT_TRUE(conf.get_time_jitter(vhost) == SrsRtmpJitterAlgorithmFULL);
- EXPECT_FLOAT_EQ(30, conf.get_queue_length(vhost));
- EXPECT_TRUE(conf.get_refer_enabled(vhost));
- if (true) {
- SrsConfDirective* refer = conf.get_refer_all(vhost);
- EXPECT_STREQ("github.com", refer->arg0().c_str());
- EXPECT_STREQ("github.io", refer->arg1().c_str());
- }
- EXPECT_TRUE(NULL != conf.get_refer_play(vhost));
- if (true) {
- SrsConfDirective* refer = conf.get_refer_play(vhost);
- EXPECT_STREQ("github.com", refer->arg0().c_str());
- EXPECT_STREQ("github.io", refer->arg1().c_str());
- }
- EXPECT_TRUE(NULL != conf.get_refer_publish(vhost));
- if (true) {
- SrsConfDirective* refer = conf.get_refer_publish(vhost);
- EXPECT_STREQ("github.com", refer->arg0().c_str());
- EXPECT_STREQ("github.io", refer->arg1().c_str());
- }
- EXPECT_EQ(60000, conf.get_chunk_size(vhost));
- EXPECT_TRUE(!conf.get_forward_enabled(vhost));
- EXPECT_FALSE(conf.get_vhost_http_hooks_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_connect(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_close(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_publish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_unpublish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_play(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_stop(vhost));
- EXPECT_FALSE(conf.get_bw_check_enabled(vhost));
- EXPECT_TRUE(conf.get_bw_check_key(vhost).empty());
- EXPECT_EQ(30000, conf.get_bw_check_interval_ms(vhost));
- EXPECT_EQ(1000, conf.get_bw_check_limit_kbps(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(conf.get_vhost(vhost)));
- EXPECT_TRUE(NULL == conf.get_vhost_edge_origin(vhost));
- EXPECT_FALSE(conf.get_vhost_edge_token_traverse(vhost));
- EXPECT_TRUE(NULL == conf.get_transcode(vhost, ""));
- EXPECT_FALSE(conf.get_transcode_enabled(NULL));
- EXPECT_TRUE(conf.get_transcode_ffmpeg(NULL).empty());
- EXPECT_TRUE(conf.get_transcode_engines(NULL).size() == 0);
- EXPECT_FALSE(conf.get_engine_enabled(NULL));
- EXPECT_STREQ("flv", conf.get_engine_iformat(NULL).c_str());
- EXPECT_TRUE(conf.get_engine_vfilter(NULL).size() == 0);
- EXPECT_TRUE(conf.get_engine_vcodec(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vbitrate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vfps(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vwidth(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vheight(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vthreads(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vprofile(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vpreset(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vparams(NULL).size() == 0);
- EXPECT_TRUE(conf.get_engine_acodec(NULL).empty());
- EXPECT_TRUE(conf.get_engine_abitrate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_asample_rate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_achannels(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_aparams(NULL).size() == 0);
- EXPECT_STREQ("flv", conf.get_engine_oformat(NULL).c_str());
- EXPECT_TRUE(conf.get_engine_output(NULL).empty());
- EXPECT_TRUE(conf.get_ingesters(vhost).size() == 0);
- EXPECT_TRUE(NULL == conf.get_ingest_by_id(vhost, ""));
- EXPECT_FALSE(conf.get_ingest_enabled(NULL));
- EXPECT_TRUE(conf.get_ingest_ffmpeg(NULL).empty());
- EXPECT_STREQ("file", conf.get_ingest_input_type(NULL).c_str());
- EXPECT_TRUE(conf.get_ingest_input_url(NULL).empty());
- EXPECT_FALSE(conf.get_hls_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_hls_path(vhost).c_str());
- EXPECT_EQ(10, conf.get_hls_fragment(vhost));
- EXPECT_EQ(60, conf.get_hls_window(vhost));
- EXPECT_FALSE(conf.get_dvr_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_dvr_path(vhost).c_str());
- EXPECT_STREQ("session", conf.get_dvr_plan(vhost).c_str());
- EXPECT_EQ(30, conf.get_dvr_duration(vhost));
- EXPECT_TRUE(conf.get_dvr_wait_keyframe(vhost));
- EXPECT_TRUE(SrsRtmpJitterAlgorithmFULL == conf.get_dvr_time_jitter(vhost));
- EXPECT_FALSE(conf.get_vhost_http_enabled(vhost));
- EXPECT_STREQ("[vhost]/", conf.get_vhost_http_mount(vhost).c_str());
- EXPECT_STREQ("./objs/nginx/html", conf.get_vhost_http_dir(vhost).c_str());
-}
-
-VOID TEST(ConfigMainTest, ParseFullConf_forward_same_vhost)
-{
- string vhost;
- MockSrsConfig conf;
- EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
-
- vhost = "same.vhost.forward.srs.com";
- EXPECT_TRUE(conf.get_vhost_enabled(vhost));
- EXPECT_TRUE(conf.get_vhost_enabled(conf.get_vhost(vhost)));
- EXPECT_TRUE(conf.get_gop_cache(vhost));
- EXPECT_TRUE(conf.get_debug_srs_upnode(vhost));
- EXPECT_FALSE(conf.get_atc(vhost));
- EXPECT_TRUE(conf.get_atc_auto(vhost));
- EXPECT_TRUE(conf.get_time_jitter(vhost) == SrsRtmpJitterAlgorithmFULL);
- EXPECT_FLOAT_EQ(30, conf.get_queue_length(vhost));
- EXPECT_TRUE(!conf.get_refer_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_play(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_publish(vhost));
- EXPECT_EQ(60000, conf.get_chunk_size(vhost));
- EXPECT_TRUE(conf.get_forward_enabled(vhost));
- if (true) {
- SrsConfDirective* forward = conf.get_forwards(vhost);
- EXPECT_STREQ("127.0.0.1:1936", forward->arg0().c_str());
- EXPECT_STREQ("127.0.0.1:1937", forward->arg1().c_str());
- }
- EXPECT_FALSE(conf.get_vhost_http_hooks_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_connect(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_close(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_publish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_unpublish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_play(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_stop(vhost));
- EXPECT_FALSE(conf.get_bw_check_enabled(vhost));
- EXPECT_TRUE(conf.get_bw_check_key(vhost).empty());
- EXPECT_EQ(30000, conf.get_bw_check_interval_ms(vhost));
- EXPECT_EQ(1000, conf.get_bw_check_limit_kbps(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(conf.get_vhost(vhost)));
- EXPECT_TRUE(NULL == conf.get_vhost_edge_origin(vhost));
- EXPECT_FALSE(conf.get_vhost_edge_token_traverse(vhost));
- EXPECT_TRUE(NULL == conf.get_transcode(vhost, ""));
- EXPECT_FALSE(conf.get_transcode_enabled(NULL));
- EXPECT_TRUE(conf.get_transcode_ffmpeg(NULL).empty());
- EXPECT_TRUE(conf.get_transcode_engines(NULL).size() == 0);
- EXPECT_FALSE(conf.get_engine_enabled(NULL));
- EXPECT_STREQ("flv", conf.get_engine_iformat(NULL).c_str());
- EXPECT_TRUE(conf.get_engine_vfilter(NULL).size() == 0);
- EXPECT_TRUE(conf.get_engine_vcodec(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vbitrate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vfps(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vwidth(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vheight(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vthreads(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vprofile(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vpreset(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vparams(NULL).size() == 0);
- EXPECT_TRUE(conf.get_engine_acodec(NULL).empty());
- EXPECT_TRUE(conf.get_engine_abitrate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_asample_rate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_achannels(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_aparams(NULL).size() == 0);
- EXPECT_STREQ("flv", conf.get_engine_oformat(NULL).c_str());
- EXPECT_TRUE(conf.get_engine_output(NULL).empty());
- EXPECT_TRUE(conf.get_ingesters(vhost).size() == 0);
- EXPECT_TRUE(NULL == conf.get_ingest_by_id(vhost, ""));
- EXPECT_FALSE(conf.get_ingest_enabled(NULL));
- EXPECT_TRUE(conf.get_ingest_ffmpeg(NULL).empty());
- EXPECT_STREQ("file", conf.get_ingest_input_type(NULL).c_str());
- EXPECT_TRUE(conf.get_ingest_input_url(NULL).empty());
- EXPECT_FALSE(conf.get_hls_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_hls_path(vhost).c_str());
- EXPECT_EQ(10, conf.get_hls_fragment(vhost));
- EXPECT_EQ(60, conf.get_hls_window(vhost));
- EXPECT_FALSE(conf.get_dvr_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_dvr_path(vhost).c_str());
- EXPECT_STREQ("session", conf.get_dvr_plan(vhost).c_str());
- EXPECT_EQ(30, conf.get_dvr_duration(vhost));
- EXPECT_TRUE(conf.get_dvr_wait_keyframe(vhost));
- EXPECT_TRUE(SrsRtmpJitterAlgorithmFULL == conf.get_dvr_time_jitter(vhost));
- EXPECT_FALSE(conf.get_vhost_http_enabled(vhost));
- EXPECT_STREQ("[vhost]/", conf.get_vhost_http_mount(vhost).c_str());
- EXPECT_STREQ("./objs/nginx/html", conf.get_vhost_http_dir(vhost).c_str());
-}
-
-VOID TEST(ConfigMainTest, ParseFullConf_forward_change_vhost)
-{
- string vhost;
- MockSrsConfig conf;
- EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
-
- vhost = "change.vhost.forward.srs.com";
- // TODO: FIXME: implements it.
- /*EXPECT_TRUE(conf.get_vhost_enabled(vhost));
- EXPECT_TRUE(conf.get_vhost_enabled(conf.get_vhost(vhost)));
- EXPECT_TRUE(conf.get_gop_cache(vhost));
- EXPECT_TRUE(conf.get_debug_srs_upnode(vhost));
- EXPECT_FALSE(conf.get_atc(vhost));
- EXPECT_TRUE(conf.get_atc_auto(vhost));
- EXPECT_TRUE(conf.get_time_jitter(vhost) == SrsRtmpJitterAlgorithmFULL);
- EXPECT_FLOAT_EQ(30, conf.get_queue_length(vhost));
- EXPECT_TRUE(!conf.get_refer_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_play(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_publish(vhost));
- EXPECT_EQ(60000, conf.get_chunk_size(vhost));
- EXPECT_TRUE(!conf.get_forward_enabled(vhost));
- EXPECT_FALSE(conf.get_vhost_http_hooks_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_connect(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_close(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_publish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_unpublish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_play(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_stop(vhost));
- EXPECT_FALSE(conf.get_bw_check_enabled(vhost));
- EXPECT_TRUE(conf.get_bw_check_key(vhost).empty());
- EXPECT_EQ(30000, conf.get_bw_check_interval_ms(vhost));
- EXPECT_EQ(1000, conf.get_bw_check_limit_kbps(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(conf.get_vhost(vhost)));
- EXPECT_TRUE(NULL == conf.get_vhost_edge_origin(vhost));
- EXPECT_FALSE(conf.get_vhost_edge_token_traverse(vhost));
- EXPECT_TRUE(NULL == conf.get_transcode(vhost, ""));
- EXPECT_FALSE(conf.get_transcode_enabled(NULL));
- EXPECT_TRUE(conf.get_transcode_ffmpeg(NULL).empty());
- EXPECT_TRUE(conf.get_transcode_engines(NULL).size() == 0);
- EXPECT_FALSE(conf.get_engine_enabled(NULL));
- EXPECT_STREQ("flv", conf.get_engine_iformat(NULL).c_str());
- EXPECT_TRUE(conf.get_engine_vfilter(NULL).size() == 0);
- EXPECT_TRUE(conf.get_engine_vcodec(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vbitrate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vfps(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vwidth(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vheight(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vthreads(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vprofile(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vpreset(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vparams(NULL).size() == 0);
- EXPECT_TRUE(conf.get_engine_acodec(NULL).empty());
- EXPECT_TRUE(conf.get_engine_abitrate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_asample_rate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_achannels(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_aparams(NULL).size() == 0);
- EXPECT_STREQ("flv", conf.get_engine_oformat(NULL).c_str());
- EXPECT_TRUE(conf.get_engine_output(NULL).empty());
- EXPECT_TRUE(conf.get_ingesters(vhost).size() == 0);
- EXPECT_TRUE(NULL == conf.get_ingest_by_id(vhost, ""));
- EXPECT_FALSE(conf.get_ingest_enabled(NULL));
- EXPECT_TRUE(conf.get_ingest_ffmpeg(NULL).empty());
- EXPECT_STREQ("file", conf.get_ingest_input_type(NULL).c_str());
- EXPECT_TRUE(conf.get_ingest_input_url(NULL).empty());
- EXPECT_FALSE(conf.get_hls_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_hls_path(vhost).c_str());
- EXPECT_EQ(10, conf.get_hls_fragment(vhost));
- EXPECT_EQ(60, conf.get_hls_window(vhost));
- EXPECT_FALSE(conf.get_dvr_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_dvr_path(vhost).c_str());
- EXPECT_STREQ("session", conf.get_dvr_plan(vhost).c_str());
- EXPECT_EQ(30, conf.get_dvr_duration(vhost));
- EXPECT_TRUE(conf.get_dvr_wait_keyframe(vhost));
- EXPECT_TRUE(SrsRtmpJitterAlgorithmFULL == conf.get_dvr_time_jitter(vhost));
- EXPECT_FALSE(conf.get_vhost_http_enabled(vhost));
- EXPECT_STREQ("[vhost]/", conf.get_vhost_http_mount(vhost).c_str());
- EXPECT_STREQ("./objs/nginx/html", conf.get_vhost_http_dir(vhost).c_str());*/
-}
-
-VOID TEST(ConfigMainTest, ParseFullConf_transcode_mirror)
-{
- string vhost;
- MockSrsConfig conf;
- EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
-
- vhost = "mirror.transcode.srs.com";
- EXPECT_TRUE(conf.get_vhost_enabled(vhost));
- EXPECT_TRUE(conf.get_vhost_enabled(conf.get_vhost(vhost)));
- EXPECT_TRUE(conf.get_gop_cache(vhost));
- EXPECT_TRUE(conf.get_debug_srs_upnode(vhost));
- EXPECT_FALSE(conf.get_atc(vhost));
- EXPECT_TRUE(conf.get_atc_auto(vhost));
- EXPECT_TRUE(conf.get_time_jitter(vhost) == SrsRtmpJitterAlgorithmFULL);
- EXPECT_FLOAT_EQ(30, conf.get_queue_length(vhost));
- EXPECT_TRUE(!conf.get_refer_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_play(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_publish(vhost));
- EXPECT_EQ(60000, conf.get_chunk_size(vhost));
- EXPECT_TRUE(!conf.get_forward_enabled(vhost));
- EXPECT_FALSE(conf.get_vhost_http_hooks_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_connect(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_close(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_publish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_unpublish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_play(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_stop(vhost));
- EXPECT_FALSE(conf.get_bw_check_enabled(vhost));
- EXPECT_TRUE(conf.get_bw_check_key(vhost).empty());
- EXPECT_EQ(30000, conf.get_bw_check_interval_ms(vhost));
- EXPECT_EQ(1000, conf.get_bw_check_limit_kbps(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(conf.get_vhost(vhost)));
- EXPECT_TRUE(NULL == conf.get_vhost_edge_origin(vhost));
- EXPECT_FALSE(conf.get_vhost_edge_token_traverse(vhost));
- EXPECT_TRUE(NULL != conf.get_transcode(vhost, ""));
- if (true) {
- SrsConfDirective* transcode = conf.get_transcode(vhost, "");
-
- EXPECT_TRUE(conf.get_transcode_enabled(transcode));
- EXPECT_STREQ("./objs/ffmpeg/bin/ffmpeg", conf.get_transcode_ffmpeg(transcode).c_str());
-
- vector engines = conf.get_transcode_engines(transcode);
- ASSERT_TRUE((int)engines.size() != 0);
-
- SrsConfDirective* engine = engines.at(0);
- EXPECT_TRUE(conf.get_engine_enabled(engine));
- EXPECT_STREQ("flv", conf.get_engine_iformat(engine).c_str());
- EXPECT_TRUE((int)conf.get_engine_vfilter(engine).size() > 0);
- EXPECT_STREQ("libx264", conf.get_engine_vcodec(engine).c_str());
- EXPECT_EQ(300, conf.get_engine_vbitrate(engine));
- EXPECT_EQ(20, conf.get_engine_vfps(engine));
- EXPECT_EQ(768, conf.get_engine_vwidth(engine));
- EXPECT_EQ(320, conf.get_engine_vheight(engine));
- EXPECT_EQ(2, conf.get_engine_vthreads(engine));
- EXPECT_STREQ("baseline", conf.get_engine_vprofile(engine).c_str());
- EXPECT_STREQ("superfast", conf.get_engine_vpreset(engine).c_str());
- EXPECT_TRUE((int)conf.get_engine_vparams(engine).size() == 0);
- EXPECT_STREQ("libfdk_aac", conf.get_engine_acodec(engine).c_str());
- EXPECT_EQ(45, conf.get_engine_abitrate(engine));
- EXPECT_EQ(44100, conf.get_engine_asample_rate(engine));
- EXPECT_EQ(2, conf.get_engine_achannels(engine));
- EXPECT_TRUE((int)conf.get_engine_aparams(engine).size() == 0);
- EXPECT_STREQ("flv", conf.get_engine_oformat(engine).c_str());
- EXPECT_STREQ(
- "rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine]",
- conf.get_engine_output(engine).c_str()
- );
- }
- EXPECT_TRUE(conf.get_ingesters(vhost).size() == 0);
- EXPECT_TRUE(NULL == conf.get_ingest_by_id(vhost, ""));
- EXPECT_FALSE(conf.get_ingest_enabled(NULL));
- EXPECT_TRUE(conf.get_ingest_ffmpeg(NULL).empty());
- EXPECT_STREQ("file", conf.get_ingest_input_type(NULL).c_str());
- EXPECT_TRUE(conf.get_ingest_input_url(NULL).empty());
- EXPECT_FALSE(conf.get_hls_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_hls_path(vhost).c_str());
- EXPECT_EQ(10, conf.get_hls_fragment(vhost));
- EXPECT_EQ(60, conf.get_hls_window(vhost));
- EXPECT_FALSE(conf.get_dvr_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_dvr_path(vhost).c_str());
- EXPECT_STREQ("session", conf.get_dvr_plan(vhost).c_str());
- EXPECT_EQ(30, conf.get_dvr_duration(vhost));
- EXPECT_TRUE(conf.get_dvr_wait_keyframe(vhost));
- EXPECT_TRUE(SrsRtmpJitterAlgorithmFULL == conf.get_dvr_time_jitter(vhost));
- EXPECT_FALSE(conf.get_vhost_http_enabled(vhost));
- EXPECT_STREQ("[vhost]/", conf.get_vhost_http_mount(vhost).c_str());
- EXPECT_STREQ("./objs/nginx/html", conf.get_vhost_http_dir(vhost).c_str());
-}
-
-VOID TEST(ConfigMainTest, ParseFullConf_transcode_crop)
-{
- string vhost;
- MockSrsConfig conf;
- EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
-
- vhost = "crop.transcode.srs.com";
- EXPECT_TRUE(conf.get_vhost_enabled(vhost));
- EXPECT_TRUE(conf.get_vhost_enabled(conf.get_vhost(vhost)));
- EXPECT_TRUE(conf.get_gop_cache(vhost));
- EXPECT_TRUE(conf.get_debug_srs_upnode(vhost));
- EXPECT_FALSE(conf.get_atc(vhost));
- EXPECT_TRUE(conf.get_atc_auto(vhost));
- EXPECT_TRUE(conf.get_time_jitter(vhost) == SrsRtmpJitterAlgorithmFULL);
- EXPECT_FLOAT_EQ(30, conf.get_queue_length(vhost));
- EXPECT_TRUE(!conf.get_refer_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_play(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_publish(vhost));
- EXPECT_EQ(60000, conf.get_chunk_size(vhost));
- EXPECT_TRUE(!conf.get_forward_enabled(vhost));
- EXPECT_FALSE(conf.get_vhost_http_hooks_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_connect(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_close(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_publish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_unpublish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_play(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_stop(vhost));
- EXPECT_FALSE(conf.get_bw_check_enabled(vhost));
- EXPECT_TRUE(conf.get_bw_check_key(vhost).empty());
- EXPECT_EQ(30000, conf.get_bw_check_interval_ms(vhost));
- EXPECT_EQ(1000, conf.get_bw_check_limit_kbps(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(conf.get_vhost(vhost)));
- EXPECT_TRUE(NULL == conf.get_vhost_edge_origin(vhost));
- EXPECT_FALSE(conf.get_vhost_edge_token_traverse(vhost));
- EXPECT_TRUE(NULL != conf.get_transcode(vhost, ""));
- if (true) {
- SrsConfDirective* transcode = conf.get_transcode(vhost, "");
-
- EXPECT_TRUE(conf.get_transcode_enabled(transcode));
- EXPECT_STREQ("./objs/ffmpeg/bin/ffmpeg", conf.get_transcode_ffmpeg(transcode).c_str());
-
- vector engines = conf.get_transcode_engines(transcode);
- ASSERT_TRUE((int)engines.size() != 0);
-
- SrsConfDirective* engine = engines.at(0);
- EXPECT_TRUE(conf.get_engine_enabled(engine));
- EXPECT_STREQ("flv", conf.get_engine_iformat(engine).c_str());
- EXPECT_TRUE((int)conf.get_engine_vfilter(engine).size() > 0);
- EXPECT_STREQ("libx264", conf.get_engine_vcodec(engine).c_str());
- EXPECT_EQ(300, conf.get_engine_vbitrate(engine));
- EXPECT_EQ(20, conf.get_engine_vfps(engine));
- EXPECT_EQ(768, conf.get_engine_vwidth(engine));
- EXPECT_EQ(320, conf.get_engine_vheight(engine));
- EXPECT_EQ(2, conf.get_engine_vthreads(engine));
- EXPECT_STREQ("baseline", conf.get_engine_vprofile(engine).c_str());
- EXPECT_STREQ("superfast", conf.get_engine_vpreset(engine).c_str());
- EXPECT_TRUE((int)conf.get_engine_vparams(engine).size() == 0);
- EXPECT_STREQ("libfdk_aac", conf.get_engine_acodec(engine).c_str());
- EXPECT_EQ(45, conf.get_engine_abitrate(engine));
- EXPECT_EQ(44100, conf.get_engine_asample_rate(engine));
- EXPECT_EQ(2, conf.get_engine_achannels(engine));
- EXPECT_TRUE((int)conf.get_engine_aparams(engine).size() == 0);
- EXPECT_STREQ("flv", conf.get_engine_oformat(engine).c_str());
- EXPECT_STREQ(
- "rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine]",
- conf.get_engine_output(engine).c_str()
- );
- }
- EXPECT_TRUE(conf.get_ingesters(vhost).size() == 0);
- EXPECT_TRUE(NULL == conf.get_ingest_by_id(vhost, ""));
- EXPECT_FALSE(conf.get_ingest_enabled(NULL));
- EXPECT_TRUE(conf.get_ingest_ffmpeg(NULL).empty());
- EXPECT_STREQ("file", conf.get_ingest_input_type(NULL).c_str());
- EXPECT_TRUE(conf.get_ingest_input_url(NULL).empty());
- EXPECT_FALSE(conf.get_hls_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_hls_path(vhost).c_str());
- EXPECT_EQ(10, conf.get_hls_fragment(vhost));
- EXPECT_EQ(60, conf.get_hls_window(vhost));
- EXPECT_FALSE(conf.get_dvr_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_dvr_path(vhost).c_str());
- EXPECT_STREQ("session", conf.get_dvr_plan(vhost).c_str());
- EXPECT_EQ(30, conf.get_dvr_duration(vhost));
- EXPECT_TRUE(conf.get_dvr_wait_keyframe(vhost));
- EXPECT_TRUE(SrsRtmpJitterAlgorithmFULL == conf.get_dvr_time_jitter(vhost));
- EXPECT_FALSE(conf.get_vhost_http_enabled(vhost));
- EXPECT_STREQ("[vhost]/", conf.get_vhost_http_mount(vhost).c_str());
- EXPECT_STREQ("./objs/nginx/html", conf.get_vhost_http_dir(vhost).c_str());
-}
-
-VOID TEST(ConfigMainTest, ParseFullConf_transcode_logo)
-{
- string vhost;
- MockSrsConfig conf;
- EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
-
- vhost = "logo.transcode.srs.com";
- EXPECT_TRUE(conf.get_vhost_enabled(vhost));
- EXPECT_TRUE(conf.get_vhost_enabled(conf.get_vhost(vhost)));
- EXPECT_TRUE(conf.get_gop_cache(vhost));
- EXPECT_TRUE(conf.get_debug_srs_upnode(vhost));
- EXPECT_FALSE(conf.get_atc(vhost));
- EXPECT_TRUE(conf.get_atc_auto(vhost));
- EXPECT_TRUE(conf.get_time_jitter(vhost) == SrsRtmpJitterAlgorithmFULL);
- EXPECT_FLOAT_EQ(30, conf.get_queue_length(vhost));
- EXPECT_TRUE(!conf.get_refer_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_play(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_publish(vhost));
- EXPECT_EQ(60000, conf.get_chunk_size(vhost));
- EXPECT_TRUE(!conf.get_forward_enabled(vhost));
- EXPECT_FALSE(conf.get_vhost_http_hooks_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_connect(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_close(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_publish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_unpublish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_play(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_stop(vhost));
- EXPECT_FALSE(conf.get_bw_check_enabled(vhost));
- EXPECT_TRUE(conf.get_bw_check_key(vhost).empty());
- EXPECT_EQ(30000, conf.get_bw_check_interval_ms(vhost));
- EXPECT_EQ(1000, conf.get_bw_check_limit_kbps(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(conf.get_vhost(vhost)));
- EXPECT_TRUE(NULL == conf.get_vhost_edge_origin(vhost));
- EXPECT_FALSE(conf.get_vhost_edge_token_traverse(vhost));
- EXPECT_TRUE(NULL != conf.get_transcode(vhost, ""));
- if (true) {
- SrsConfDirective* transcode = conf.get_transcode(vhost, "");
-
- EXPECT_TRUE(conf.get_transcode_enabled(transcode));
- EXPECT_STREQ("./objs/ffmpeg/bin/ffmpeg", conf.get_transcode_ffmpeg(transcode).c_str());
-
- vector engines = conf.get_transcode_engines(transcode);
- ASSERT_TRUE((int)engines.size() != 0);
-
- SrsConfDirective* engine = engines.at(0);
- EXPECT_TRUE(conf.get_engine_enabled(engine));
- EXPECT_STREQ("flv", conf.get_engine_iformat(engine).c_str());
- EXPECT_TRUE((int)conf.get_engine_vfilter(engine).size() > 0);
- EXPECT_STREQ("libx264", conf.get_engine_vcodec(engine).c_str());
- EXPECT_EQ(300, conf.get_engine_vbitrate(engine));
- EXPECT_EQ(20, conf.get_engine_vfps(engine));
- EXPECT_EQ(768, conf.get_engine_vwidth(engine));
- EXPECT_EQ(320, conf.get_engine_vheight(engine));
- EXPECT_EQ(2, conf.get_engine_vthreads(engine));
- EXPECT_STREQ("baseline", conf.get_engine_vprofile(engine).c_str());
- EXPECT_STREQ("superfast", conf.get_engine_vpreset(engine).c_str());
- EXPECT_TRUE((int)conf.get_engine_vparams(engine).size() == 0);
- EXPECT_STREQ("libfdk_aac", conf.get_engine_acodec(engine).c_str());
- EXPECT_EQ(45, conf.get_engine_abitrate(engine));
- EXPECT_EQ(44100, conf.get_engine_asample_rate(engine));
- EXPECT_EQ(2, conf.get_engine_achannels(engine));
- EXPECT_TRUE((int)conf.get_engine_aparams(engine).size() == 0);
- EXPECT_STREQ("flv", conf.get_engine_oformat(engine).c_str());
- EXPECT_STREQ(
- "rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine]",
- conf.get_engine_output(engine).c_str()
- );
- }
- EXPECT_TRUE(conf.get_ingesters(vhost).size() == 0);
- EXPECT_TRUE(NULL == conf.get_ingest_by_id(vhost, ""));
- EXPECT_FALSE(conf.get_ingest_enabled(NULL));
- EXPECT_TRUE(conf.get_ingest_ffmpeg(NULL).empty());
- EXPECT_STREQ("file", conf.get_ingest_input_type(NULL).c_str());
- EXPECT_TRUE(conf.get_ingest_input_url(NULL).empty());
- EXPECT_FALSE(conf.get_hls_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_hls_path(vhost).c_str());
- EXPECT_EQ(10, conf.get_hls_fragment(vhost));
- EXPECT_EQ(60, conf.get_hls_window(vhost));
- EXPECT_FALSE(conf.get_dvr_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_dvr_path(vhost).c_str());
- EXPECT_STREQ("session", conf.get_dvr_plan(vhost).c_str());
- EXPECT_EQ(30, conf.get_dvr_duration(vhost));
- EXPECT_TRUE(conf.get_dvr_wait_keyframe(vhost));
- EXPECT_TRUE(SrsRtmpJitterAlgorithmFULL == conf.get_dvr_time_jitter(vhost));
- EXPECT_FALSE(conf.get_vhost_http_enabled(vhost));
- EXPECT_STREQ("[vhost]/", conf.get_vhost_http_mount(vhost).c_str());
- EXPECT_STREQ("./objs/nginx/html", conf.get_vhost_http_dir(vhost).c_str());
-}
-
-VOID TEST(ConfigMainTest, ParseFullConf_transcode_audio)
-{
- string vhost;
- MockSrsConfig conf;
- EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
-
- vhost = "audio.transcode.srs.com";
- EXPECT_TRUE(conf.get_vhost_enabled(vhost));
- EXPECT_TRUE(conf.get_vhost_enabled(conf.get_vhost(vhost)));
- EXPECT_TRUE(conf.get_gop_cache(vhost));
- EXPECT_TRUE(conf.get_debug_srs_upnode(vhost));
- EXPECT_FALSE(conf.get_atc(vhost));
- EXPECT_TRUE(conf.get_atc_auto(vhost));
- EXPECT_TRUE(conf.get_time_jitter(vhost) == SrsRtmpJitterAlgorithmFULL);
- EXPECT_FLOAT_EQ(30, conf.get_queue_length(vhost));
- EXPECT_TRUE(!conf.get_refer_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_play(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_publish(vhost));
- EXPECT_EQ(60000, conf.get_chunk_size(vhost));
- EXPECT_TRUE(!conf.get_forward_enabled(vhost));
- EXPECT_FALSE(conf.get_vhost_http_hooks_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_connect(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_close(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_publish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_unpublish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_play(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_stop(vhost));
- EXPECT_FALSE(conf.get_bw_check_enabled(vhost));
- EXPECT_TRUE(conf.get_bw_check_key(vhost).empty());
- EXPECT_EQ(30000, conf.get_bw_check_interval_ms(vhost));
- EXPECT_EQ(1000, conf.get_bw_check_limit_kbps(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(conf.get_vhost(vhost)));
- EXPECT_TRUE(NULL == conf.get_vhost_edge_origin(vhost));
- EXPECT_FALSE(conf.get_vhost_edge_token_traverse(vhost));
- EXPECT_TRUE(NULL != conf.get_transcode(vhost, ""));
- if (true) {
- SrsConfDirective* transcode = conf.get_transcode(vhost, "");
-
- EXPECT_TRUE(conf.get_transcode_enabled(transcode));
- EXPECT_STREQ("./objs/ffmpeg/bin/ffmpeg", conf.get_transcode_ffmpeg(transcode).c_str());
-
- vector engines = conf.get_transcode_engines(transcode);
- ASSERT_TRUE((int)engines.size() != 0);
-
- if (true) {
- SrsConfDirective* engine = engines.at(0);
- EXPECT_TRUE(conf.get_engine_enabled(engine));
- EXPECT_STREQ("flv", conf.get_engine_iformat(engine).c_str());
- EXPECT_TRUE((int)conf.get_engine_vfilter(engine).size() == 0);
- EXPECT_STREQ("copy", conf.get_engine_vcodec(engine).c_str());
- EXPECT_STREQ("libfdk_aac", conf.get_engine_acodec(engine).c_str());
- EXPECT_EQ(45, conf.get_engine_abitrate(engine));
- EXPECT_EQ(44100, conf.get_engine_asample_rate(engine));
- EXPECT_EQ(2, conf.get_engine_achannels(engine));
- EXPECT_TRUE((int)conf.get_engine_aparams(engine).size() == 0);
- EXPECT_STREQ("flv", conf.get_engine_oformat(engine).c_str());
- EXPECT_STREQ(
- "rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine]",
- conf.get_engine_output(engine).c_str()
- );
- }
- }
- EXPECT_TRUE(conf.get_ingesters(vhost).size() == 0);
- EXPECT_TRUE(NULL == conf.get_ingest_by_id(vhost, ""));
- EXPECT_FALSE(conf.get_ingest_enabled(NULL));
- EXPECT_TRUE(conf.get_ingest_ffmpeg(NULL).empty());
- EXPECT_STREQ("file", conf.get_ingest_input_type(NULL).c_str());
- EXPECT_TRUE(conf.get_ingest_input_url(NULL).empty());
- EXPECT_FALSE(conf.get_hls_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_hls_path(vhost).c_str());
- EXPECT_EQ(10, conf.get_hls_fragment(vhost));
- EXPECT_EQ(60, conf.get_hls_window(vhost));
- EXPECT_FALSE(conf.get_dvr_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_dvr_path(vhost).c_str());
- EXPECT_STREQ("session", conf.get_dvr_plan(vhost).c_str());
- EXPECT_EQ(30, conf.get_dvr_duration(vhost));
- EXPECT_TRUE(conf.get_dvr_wait_keyframe(vhost));
- EXPECT_TRUE(SrsRtmpJitterAlgorithmFULL == conf.get_dvr_time_jitter(vhost));
- EXPECT_FALSE(conf.get_vhost_http_enabled(vhost));
- EXPECT_STREQ("[vhost]/", conf.get_vhost_http_mount(vhost).c_str());
- EXPECT_STREQ("./objs/nginx/html", conf.get_vhost_http_dir(vhost).c_str());
-}
-
-VOID TEST(ConfigMainTest, ParseFullConf_transcode_vn)
-{
- string vhost;
- MockSrsConfig conf;
- EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
-
- vhost = "vn.transcode.srs.com";
- EXPECT_TRUE(conf.get_vhost_enabled(vhost));
- EXPECT_TRUE(conf.get_vhost_enabled(conf.get_vhost(vhost)));
- EXPECT_TRUE(conf.get_gop_cache(vhost));
- EXPECT_TRUE(conf.get_debug_srs_upnode(vhost));
- EXPECT_FALSE(conf.get_atc(vhost));
- EXPECT_TRUE(conf.get_atc_auto(vhost));
- EXPECT_TRUE(conf.get_time_jitter(vhost) == SrsRtmpJitterAlgorithmFULL);
- EXPECT_FLOAT_EQ(30, conf.get_queue_length(vhost));
- EXPECT_TRUE(!conf.get_refer_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_play(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_publish(vhost));
- EXPECT_EQ(60000, conf.get_chunk_size(vhost));
- EXPECT_TRUE(!conf.get_forward_enabled(vhost));
- EXPECT_FALSE(conf.get_vhost_http_hooks_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_connect(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_close(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_publish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_unpublish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_play(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_stop(vhost));
- EXPECT_FALSE(conf.get_bw_check_enabled(vhost));
- EXPECT_TRUE(conf.get_bw_check_key(vhost).empty());
- EXPECT_EQ(30000, conf.get_bw_check_interval_ms(vhost));
- EXPECT_EQ(1000, conf.get_bw_check_limit_kbps(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(conf.get_vhost(vhost)));
- EXPECT_TRUE(NULL == conf.get_vhost_edge_origin(vhost));
- EXPECT_FALSE(conf.get_vhost_edge_token_traverse(vhost));
- EXPECT_TRUE(NULL != conf.get_transcode(vhost, ""));
- if (true) {
- SrsConfDirective* transcode = conf.get_transcode(vhost, "");
-
- EXPECT_TRUE(conf.get_transcode_enabled(transcode));
- EXPECT_STREQ("./objs/ffmpeg/bin/ffmpeg", conf.get_transcode_ffmpeg(transcode).c_str());
-
- vector engines = conf.get_transcode_engines(transcode);
- ASSERT_TRUE((int)engines.size() != 0);
-
- if (true) {
- SrsConfDirective* engine = engines.at(0);
- EXPECT_TRUE(conf.get_engine_enabled(engine));
- EXPECT_STREQ("flv", conf.get_engine_iformat(engine).c_str());
- EXPECT_TRUE((int)conf.get_engine_vfilter(engine).size() == 0);
- EXPECT_STREQ("vn", conf.get_engine_vcodec(engine).c_str());
- EXPECT_STREQ("libfdk_aac", conf.get_engine_acodec(engine).c_str());
- EXPECT_EQ(45, conf.get_engine_abitrate(engine));
- EXPECT_EQ(44100, conf.get_engine_asample_rate(engine));
- EXPECT_EQ(2, conf.get_engine_achannels(engine));
- EXPECT_TRUE((int)conf.get_engine_aparams(engine).size() == 0);
- EXPECT_STREQ("flv", conf.get_engine_oformat(engine).c_str());
- EXPECT_STREQ(
- "rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine]",
- conf.get_engine_output(engine).c_str()
- );
- }
- }
- EXPECT_TRUE(conf.get_ingesters(vhost).size() == 0);
- EXPECT_TRUE(NULL == conf.get_ingest_by_id(vhost, ""));
- EXPECT_FALSE(conf.get_ingest_enabled(NULL));
- EXPECT_TRUE(conf.get_ingest_ffmpeg(NULL).empty());
- EXPECT_STREQ("file", conf.get_ingest_input_type(NULL).c_str());
- EXPECT_TRUE(conf.get_ingest_input_url(NULL).empty());
- EXPECT_FALSE(conf.get_hls_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_hls_path(vhost).c_str());
- EXPECT_EQ(10, conf.get_hls_fragment(vhost));
- EXPECT_EQ(60, conf.get_hls_window(vhost));
- EXPECT_FALSE(conf.get_dvr_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_dvr_path(vhost).c_str());
- EXPECT_STREQ("session", conf.get_dvr_plan(vhost).c_str());
- EXPECT_EQ(30, conf.get_dvr_duration(vhost));
- EXPECT_TRUE(conf.get_dvr_wait_keyframe(vhost));
- EXPECT_TRUE(SrsRtmpJitterAlgorithmFULL == conf.get_dvr_time_jitter(vhost));
- EXPECT_FALSE(conf.get_vhost_http_enabled(vhost));
- EXPECT_STREQ("[vhost]/", conf.get_vhost_http_mount(vhost).c_str());
- EXPECT_STREQ("./objs/nginx/html", conf.get_vhost_http_dir(vhost).c_str());
-}
-
-VOID TEST(ConfigMainTest, ParseFullConf_transcode_copy)
-{
- string vhost;
- MockSrsConfig conf;
- EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
-
- vhost = "copy.transcode.srs.com";
- EXPECT_TRUE(conf.get_vhost_enabled(vhost));
- EXPECT_TRUE(conf.get_vhost_enabled(conf.get_vhost(vhost)));
- EXPECT_TRUE(conf.get_gop_cache(vhost));
- EXPECT_TRUE(conf.get_debug_srs_upnode(vhost));
- EXPECT_FALSE(conf.get_atc(vhost));
- EXPECT_TRUE(conf.get_atc_auto(vhost));
- EXPECT_TRUE(conf.get_time_jitter(vhost) == SrsRtmpJitterAlgorithmFULL);
- EXPECT_FLOAT_EQ(30, conf.get_queue_length(vhost));
- EXPECT_TRUE(!conf.get_refer_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_play(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_publish(vhost));
- EXPECT_EQ(60000, conf.get_chunk_size(vhost));
- EXPECT_TRUE(!conf.get_forward_enabled(vhost));
- EXPECT_FALSE(conf.get_vhost_http_hooks_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_connect(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_close(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_publish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_unpublish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_play(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_stop(vhost));
- EXPECT_FALSE(conf.get_bw_check_enabled(vhost));
- EXPECT_TRUE(conf.get_bw_check_key(vhost).empty());
- EXPECT_EQ(30000, conf.get_bw_check_interval_ms(vhost));
- EXPECT_EQ(1000, conf.get_bw_check_limit_kbps(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(conf.get_vhost(vhost)));
- EXPECT_TRUE(NULL == conf.get_vhost_edge_origin(vhost));
- EXPECT_FALSE(conf.get_vhost_edge_token_traverse(vhost));
- EXPECT_TRUE(NULL != conf.get_transcode(vhost, ""));
- if (true) {
- SrsConfDirective* transcode = conf.get_transcode(vhost, "");
-
- EXPECT_TRUE(conf.get_transcode_enabled(transcode));
- EXPECT_STREQ("./objs/ffmpeg/bin/ffmpeg", conf.get_transcode_ffmpeg(transcode).c_str());
-
- vector engines = conf.get_transcode_engines(transcode);
- ASSERT_TRUE((int)engines.size() != 0);
-
- if (true) {
- SrsConfDirective* engine = engines.at(0);
- EXPECT_TRUE(conf.get_engine_enabled(engine));
- EXPECT_STREQ("flv", conf.get_engine_iformat(engine).c_str());
- EXPECT_TRUE((int)conf.get_engine_vfilter(engine).size() == 0);
- EXPECT_STREQ("copy", conf.get_engine_vcodec(engine).c_str());
- EXPECT_STREQ("copy", conf.get_engine_acodec(engine).c_str());
- EXPECT_STREQ("flv", conf.get_engine_oformat(engine).c_str());
- EXPECT_STREQ(
- "rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine]",
- conf.get_engine_output(engine).c_str()
- );
- }
- }
- EXPECT_TRUE(conf.get_ingesters(vhost).size() == 0);
- EXPECT_TRUE(NULL == conf.get_ingest_by_id(vhost, ""));
- EXPECT_FALSE(conf.get_ingest_enabled(NULL));
- EXPECT_TRUE(conf.get_ingest_ffmpeg(NULL).empty());
- EXPECT_STREQ("file", conf.get_ingest_input_type(NULL).c_str());
- EXPECT_TRUE(conf.get_ingest_input_url(NULL).empty());
- EXPECT_FALSE(conf.get_hls_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_hls_path(vhost).c_str());
- EXPECT_EQ(10, conf.get_hls_fragment(vhost));
- EXPECT_EQ(60, conf.get_hls_window(vhost));
- EXPECT_FALSE(conf.get_dvr_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_dvr_path(vhost).c_str());
- EXPECT_STREQ("session", conf.get_dvr_plan(vhost).c_str());
- EXPECT_EQ(30, conf.get_dvr_duration(vhost));
- EXPECT_TRUE(conf.get_dvr_wait_keyframe(vhost));
- EXPECT_TRUE(SrsRtmpJitterAlgorithmFULL == conf.get_dvr_time_jitter(vhost));
- EXPECT_FALSE(conf.get_vhost_http_enabled(vhost));
- EXPECT_STREQ("[vhost]/", conf.get_vhost_http_mount(vhost).c_str());
- EXPECT_STREQ("./objs/nginx/html", conf.get_vhost_http_dir(vhost).c_str());
-}
-
-VOID TEST(ConfigMainTest, ParseFullConf_transcode_all)
-{
- string vhost;
- MockSrsConfig conf;
- EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
-
- vhost = "all.transcode.srs.com";
- EXPECT_TRUE(conf.get_vhost_enabled(vhost));
- EXPECT_TRUE(conf.get_vhost_enabled(conf.get_vhost(vhost)));
- EXPECT_TRUE(conf.get_gop_cache(vhost));
- EXPECT_TRUE(conf.get_debug_srs_upnode(vhost));
- EXPECT_FALSE(conf.get_atc(vhost));
- EXPECT_TRUE(conf.get_atc_auto(vhost));
- EXPECT_TRUE(conf.get_time_jitter(vhost) == SrsRtmpJitterAlgorithmFULL);
- EXPECT_FLOAT_EQ(30, conf.get_queue_length(vhost));
- EXPECT_TRUE(!conf.get_refer_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_play(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_publish(vhost));
- EXPECT_EQ(60000, conf.get_chunk_size(vhost));
- EXPECT_TRUE(!conf.get_forward_enabled(vhost));
- EXPECT_FALSE(conf.get_vhost_http_hooks_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_connect(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_close(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_publish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_unpublish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_play(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_stop(vhost));
- EXPECT_FALSE(conf.get_bw_check_enabled(vhost));
- EXPECT_TRUE(conf.get_bw_check_key(vhost).empty());
- EXPECT_EQ(30000, conf.get_bw_check_interval_ms(vhost));
- EXPECT_EQ(1000, conf.get_bw_check_limit_kbps(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(conf.get_vhost(vhost)));
- EXPECT_TRUE(NULL == conf.get_vhost_edge_origin(vhost));
- EXPECT_FALSE(conf.get_vhost_edge_token_traverse(vhost));
- EXPECT_TRUE(NULL != conf.get_transcode(vhost, ""));
- if (true) {
- SrsConfDirective* transcode = conf.get_transcode(vhost, "");
-
- EXPECT_TRUE(conf.get_transcode_enabled(transcode));
- EXPECT_STREQ("./objs/ffmpeg/bin/ffmpeg", conf.get_transcode_ffmpeg(transcode).c_str());
-
- vector engines = conf.get_transcode_engines(transcode);
- ASSERT_TRUE((int)engines.size() != 0);
-
- if (true) {
- SrsConfDirective* engine = engines.at(0);
- EXPECT_TRUE(conf.get_engine_enabled(engine));
- EXPECT_STREQ("flv", conf.get_engine_iformat(engine).c_str());
- EXPECT_TRUE((int)conf.get_engine_vfilter(engine).size() > 0);
- EXPECT_STREQ("libx264", conf.get_engine_vcodec(engine).c_str());
- EXPECT_EQ(1500, conf.get_engine_vbitrate(engine));
- EXPECT_EQ(25, conf.get_engine_vfps(engine));
- EXPECT_EQ(768, conf.get_engine_vwidth(engine));
- EXPECT_EQ(320, conf.get_engine_vheight(engine));
- EXPECT_EQ(12, conf.get_engine_vthreads(engine));
- EXPECT_STREQ("main", conf.get_engine_vprofile(engine).c_str());
- EXPECT_STREQ("medium", conf.get_engine_vpreset(engine).c_str());
- EXPECT_TRUE((int)conf.get_engine_vparams(engine).size() > 0);
- EXPECT_STREQ("libfdk_aac", conf.get_engine_acodec(engine).c_str());
- EXPECT_EQ(70, conf.get_engine_abitrate(engine));
- EXPECT_EQ(44100, conf.get_engine_asample_rate(engine));
- EXPECT_EQ(2, conf.get_engine_achannels(engine));
- EXPECT_TRUE((int)conf.get_engine_aparams(engine).size() > 0);
- EXPECT_STREQ("flv", conf.get_engine_oformat(engine).c_str());
- EXPECT_STREQ(
- "rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine]",
- conf.get_engine_output(engine).c_str()
- );
- }
- if (true) {
- SrsConfDirective* engine = engines.at(1);
- EXPECT_TRUE(conf.get_engine_enabled(engine));
- EXPECT_STREQ("flv", conf.get_engine_iformat(engine).c_str());
- EXPECT_TRUE((int)conf.get_engine_vfilter(engine).size() == 0);
- EXPECT_STREQ("libx264", conf.get_engine_vcodec(engine).c_str());
- EXPECT_EQ(1200, conf.get_engine_vbitrate(engine));
- EXPECT_EQ(25, conf.get_engine_vfps(engine));
- EXPECT_EQ(1382, conf.get_engine_vwidth(engine));
- EXPECT_EQ(576, conf.get_engine_vheight(engine));
- EXPECT_EQ(6, conf.get_engine_vthreads(engine));
- EXPECT_STREQ("main", conf.get_engine_vprofile(engine).c_str());
- EXPECT_STREQ("medium", conf.get_engine_vpreset(engine).c_str());
- EXPECT_TRUE((int)conf.get_engine_vparams(engine).size() == 0);
- EXPECT_STREQ("libfdk_aac", conf.get_engine_acodec(engine).c_str());
- EXPECT_EQ(70, conf.get_engine_abitrate(engine));
- EXPECT_EQ(44100, conf.get_engine_asample_rate(engine));
- EXPECT_EQ(2, conf.get_engine_achannels(engine));
- EXPECT_TRUE((int)conf.get_engine_aparams(engine).size() == 0);
- EXPECT_STREQ("flv", conf.get_engine_oformat(engine).c_str());
- EXPECT_STREQ(
- "rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine]",
- conf.get_engine_output(engine).c_str()
- );
- }
- if (true) {
- SrsConfDirective* engine = engines.at(2);
- EXPECT_TRUE(conf.get_engine_enabled(engine));
- EXPECT_STREQ("flv", conf.get_engine_iformat(engine).c_str());
- EXPECT_TRUE((int)conf.get_engine_vfilter(engine).size() == 0);
- EXPECT_STREQ("libx264", conf.get_engine_vcodec(engine).c_str());
- EXPECT_EQ(800, conf.get_engine_vbitrate(engine));
- EXPECT_EQ(25, conf.get_engine_vfps(engine));
- EXPECT_EQ(1152, conf.get_engine_vwidth(engine));
- EXPECT_EQ(480, conf.get_engine_vheight(engine));
- EXPECT_EQ(4, conf.get_engine_vthreads(engine));
- EXPECT_STREQ("main", conf.get_engine_vprofile(engine).c_str());
- EXPECT_STREQ("fast", conf.get_engine_vpreset(engine).c_str());
- EXPECT_TRUE((int)conf.get_engine_vparams(engine).size() == 0);
- EXPECT_STREQ("libfdk_aac", conf.get_engine_acodec(engine).c_str());
- EXPECT_EQ(60, conf.get_engine_abitrate(engine));
- EXPECT_EQ(44100, conf.get_engine_asample_rate(engine));
- EXPECT_EQ(2, conf.get_engine_achannels(engine));
- EXPECT_TRUE((int)conf.get_engine_aparams(engine).size() == 0);
- EXPECT_STREQ("flv", conf.get_engine_oformat(engine).c_str());
- EXPECT_STREQ(
- "rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine]",
- conf.get_engine_output(engine).c_str()
- );
- }
- if (true) {
- SrsConfDirective* engine = engines.at(3);
- EXPECT_TRUE(conf.get_engine_enabled(engine));
- EXPECT_STREQ("flv", conf.get_engine_iformat(engine).c_str());
- EXPECT_TRUE((int)conf.get_engine_vfilter(engine).size() == 0);
- EXPECT_STREQ("libx264", conf.get_engine_vcodec(engine).c_str());
- EXPECT_EQ(300, conf.get_engine_vbitrate(engine));
- EXPECT_EQ(20, conf.get_engine_vfps(engine));
- EXPECT_EQ(768, conf.get_engine_vwidth(engine));
- EXPECT_EQ(320, conf.get_engine_vheight(engine));
- EXPECT_EQ(2, conf.get_engine_vthreads(engine));
- EXPECT_STREQ("baseline", conf.get_engine_vprofile(engine).c_str());
- EXPECT_STREQ("superfast", conf.get_engine_vpreset(engine).c_str());
- EXPECT_TRUE((int)conf.get_engine_vparams(engine).size() == 0);
- EXPECT_STREQ("libfdk_aac", conf.get_engine_acodec(engine).c_str());
- EXPECT_EQ(45, conf.get_engine_abitrate(engine));
- EXPECT_EQ(44100, conf.get_engine_asample_rate(engine));
- EXPECT_EQ(2, conf.get_engine_achannels(engine));
- EXPECT_TRUE((int)conf.get_engine_aparams(engine).size() == 0);
- EXPECT_STREQ("flv", conf.get_engine_oformat(engine).c_str());
- EXPECT_STREQ(
- "rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine]",
- conf.get_engine_output(engine).c_str()
- );
- }
- if (true) {
- SrsConfDirective* engine = engines.at(4);
- EXPECT_TRUE(conf.get_engine_enabled(engine));
- EXPECT_STREQ("flv", conf.get_engine_iformat(engine).c_str());
- EXPECT_TRUE((int)conf.get_engine_vfilter(engine).size() == 0);
- EXPECT_STREQ("copy", conf.get_engine_vcodec(engine).c_str());
- EXPECT_STREQ("libfdk_aac", conf.get_engine_acodec(engine).c_str());
- EXPECT_EQ(45, conf.get_engine_abitrate(engine));
- EXPECT_EQ(44100, conf.get_engine_asample_rate(engine));
- EXPECT_EQ(2, conf.get_engine_achannels(engine));
- EXPECT_TRUE((int)conf.get_engine_aparams(engine).size() == 0);
- EXPECT_STREQ("flv", conf.get_engine_oformat(engine).c_str());
- EXPECT_STREQ(
- "rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine]",
- conf.get_engine_output(engine).c_str()
- );
- }
- if (true) {
- SrsConfDirective* engine = engines.at(5);
- EXPECT_TRUE(conf.get_engine_enabled(engine));
- EXPECT_STREQ("flv", conf.get_engine_iformat(engine).c_str());
- EXPECT_TRUE((int)conf.get_engine_vfilter(engine).size() == 0);
- EXPECT_STREQ("libx264", conf.get_engine_vcodec(engine).c_str());
- EXPECT_EQ(300, conf.get_engine_vbitrate(engine));
- EXPECT_EQ(20, conf.get_engine_vfps(engine));
- EXPECT_EQ(768, conf.get_engine_vwidth(engine));
- EXPECT_EQ(320, conf.get_engine_vheight(engine));
- EXPECT_EQ(2, conf.get_engine_vthreads(engine));
- EXPECT_STREQ("baseline", conf.get_engine_vprofile(engine).c_str());
- EXPECT_STREQ("superfast", conf.get_engine_vpreset(engine).c_str());
- EXPECT_TRUE((int)conf.get_engine_vparams(engine).size() == 0);
- EXPECT_STREQ("copy", conf.get_engine_acodec(engine).c_str());
- EXPECT_STREQ("flv", conf.get_engine_oformat(engine).c_str());
- EXPECT_STREQ(
- "rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine]",
- conf.get_engine_output(engine).c_str()
- );
- }
- if (true) {
- SrsConfDirective* engine = engines.at(6);
- EXPECT_TRUE(conf.get_engine_enabled(engine));
- EXPECT_STREQ("flv", conf.get_engine_iformat(engine).c_str());
- EXPECT_TRUE((int)conf.get_engine_vfilter(engine).size() == 0);
- EXPECT_STREQ("copy", conf.get_engine_vcodec(engine).c_str());
- EXPECT_STREQ("copy", conf.get_engine_acodec(engine).c_str());
- EXPECT_STREQ("flv", conf.get_engine_oformat(engine).c_str());
- EXPECT_STREQ(
- "rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine]",
- conf.get_engine_output(engine).c_str()
- );
- }
- }
- EXPECT_TRUE(conf.get_ingesters(vhost).size() == 0);
- EXPECT_TRUE(NULL == conf.get_ingest_by_id(vhost, ""));
- EXPECT_FALSE(conf.get_ingest_enabled(NULL));
- EXPECT_TRUE(conf.get_ingest_ffmpeg(NULL).empty());
- EXPECT_STREQ("file", conf.get_ingest_input_type(NULL).c_str());
- EXPECT_TRUE(conf.get_ingest_input_url(NULL).empty());
- EXPECT_FALSE(conf.get_hls_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_hls_path(vhost).c_str());
- EXPECT_EQ(10, conf.get_hls_fragment(vhost));
- EXPECT_EQ(60, conf.get_hls_window(vhost));
- EXPECT_FALSE(conf.get_dvr_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_dvr_path(vhost).c_str());
- EXPECT_STREQ("session", conf.get_dvr_plan(vhost).c_str());
- EXPECT_EQ(30, conf.get_dvr_duration(vhost));
- EXPECT_TRUE(conf.get_dvr_wait_keyframe(vhost));
- EXPECT_TRUE(SrsRtmpJitterAlgorithmFULL == conf.get_dvr_time_jitter(vhost));
- EXPECT_FALSE(conf.get_vhost_http_enabled(vhost));
- EXPECT_STREQ("[vhost]/", conf.get_vhost_http_mount(vhost).c_str());
- EXPECT_STREQ("./objs/nginx/html", conf.get_vhost_http_dir(vhost).c_str());
-}
-
-VOID TEST(ConfigMainTest, ParseFullConf_transcode_ffempty)
-{
- string vhost;
- MockSrsConfig conf;
- EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
-
- vhost = "ffempty.transcode.srs.com";
- EXPECT_TRUE(conf.get_vhost_enabled(vhost));
- EXPECT_TRUE(conf.get_vhost_enabled(conf.get_vhost(vhost)));
- EXPECT_TRUE(conf.get_gop_cache(vhost));
- EXPECT_TRUE(conf.get_debug_srs_upnode(vhost));
- EXPECT_FALSE(conf.get_atc(vhost));
- EXPECT_TRUE(conf.get_atc_auto(vhost));
- EXPECT_TRUE(conf.get_time_jitter(vhost) == SrsRtmpJitterAlgorithmFULL);
- EXPECT_FLOAT_EQ(30, conf.get_queue_length(vhost));
- EXPECT_TRUE(!conf.get_refer_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_play(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_publish(vhost));
- EXPECT_EQ(60000, conf.get_chunk_size(vhost));
- EXPECT_TRUE(!conf.get_forward_enabled(vhost));
- EXPECT_FALSE(conf.get_vhost_http_hooks_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_connect(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_close(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_publish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_unpublish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_play(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_stop(vhost));
- EXPECT_FALSE(conf.get_bw_check_enabled(vhost));
- EXPECT_TRUE(conf.get_bw_check_key(vhost).empty());
- EXPECT_EQ(30000, conf.get_bw_check_interval_ms(vhost));
- EXPECT_EQ(1000, conf.get_bw_check_limit_kbps(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(conf.get_vhost(vhost)));
- EXPECT_TRUE(NULL == conf.get_vhost_edge_origin(vhost));
- EXPECT_FALSE(conf.get_vhost_edge_token_traverse(vhost));
- EXPECT_TRUE(NULL != conf.get_transcode(vhost, ""));
- if (true) {
- SrsConfDirective* transcode = conf.get_transcode(vhost, "");
-
- EXPECT_TRUE(conf.get_transcode_enabled(transcode));
- EXPECT_STREQ("./objs/research/ffempty", conf.get_transcode_ffmpeg(transcode).c_str());
-
- vector engines = conf.get_transcode_engines(transcode);
- ASSERT_TRUE((int)engines.size() != 0);
-
- SrsConfDirective* engine = engines.at(0);
- EXPECT_TRUE(conf.get_engine_enabled(engine));
- EXPECT_STREQ("flv", conf.get_engine_iformat(engine).c_str());
- EXPECT_TRUE((int)conf.get_engine_vfilter(engine).size() == 0);
- EXPECT_STREQ("libx264", conf.get_engine_vcodec(engine).c_str());
- EXPECT_EQ(300, conf.get_engine_vbitrate(engine));
- EXPECT_EQ(20, conf.get_engine_vfps(engine));
- EXPECT_EQ(768, conf.get_engine_vwidth(engine));
- EXPECT_EQ(320, conf.get_engine_vheight(engine));
- EXPECT_EQ(2, conf.get_engine_vthreads(engine));
- EXPECT_STREQ("baseline", conf.get_engine_vprofile(engine).c_str());
- EXPECT_STREQ("superfast", conf.get_engine_vpreset(engine).c_str());
- EXPECT_TRUE((int)conf.get_engine_vparams(engine).size() == 0);
- EXPECT_STREQ("libfdk_aac", conf.get_engine_acodec(engine).c_str());
- EXPECT_EQ(45, conf.get_engine_abitrate(engine));
- EXPECT_EQ(44100, conf.get_engine_asample_rate(engine));
- EXPECT_EQ(2, conf.get_engine_achannels(engine));
- EXPECT_TRUE((int)conf.get_engine_aparams(engine).size() == 0);
- EXPECT_STREQ("flv", conf.get_engine_oformat(engine).c_str());
- EXPECT_STREQ(
- "rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine]",
- conf.get_engine_output(engine).c_str()
- );
- }
- EXPECT_TRUE(conf.get_ingesters(vhost).size() == 0);
- EXPECT_TRUE(NULL == conf.get_ingest_by_id(vhost, ""));
- EXPECT_FALSE(conf.get_ingest_enabled(NULL));
- EXPECT_TRUE(conf.get_ingest_ffmpeg(NULL).empty());
- EXPECT_STREQ("file", conf.get_ingest_input_type(NULL).c_str());
- EXPECT_TRUE(conf.get_ingest_input_url(NULL).empty());
- EXPECT_FALSE(conf.get_hls_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_hls_path(vhost).c_str());
- EXPECT_EQ(10, conf.get_hls_fragment(vhost));
- EXPECT_EQ(60, conf.get_hls_window(vhost));
- EXPECT_FALSE(conf.get_dvr_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_dvr_path(vhost).c_str());
- EXPECT_STREQ("session", conf.get_dvr_plan(vhost).c_str());
- EXPECT_EQ(30, conf.get_dvr_duration(vhost));
- EXPECT_TRUE(conf.get_dvr_wait_keyframe(vhost));
- EXPECT_TRUE(SrsRtmpJitterAlgorithmFULL == conf.get_dvr_time_jitter(vhost));
- EXPECT_FALSE(conf.get_vhost_http_enabled(vhost));
- EXPECT_STREQ("[vhost]/", conf.get_vhost_http_mount(vhost).c_str());
- EXPECT_STREQ("./objs/nginx/html", conf.get_vhost_http_dir(vhost).c_str());
-}
-
-VOID TEST(ConfigMainTest, ParseFullConf_transcode_app)
-{
- string vhost;
- MockSrsConfig conf;
- EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
-
- vhost = "app.transcode.srs.com";
- EXPECT_TRUE(conf.get_vhost_enabled(vhost));
- EXPECT_TRUE(conf.get_vhost_enabled(conf.get_vhost(vhost)));
- EXPECT_TRUE(conf.get_gop_cache(vhost));
- EXPECT_TRUE(conf.get_debug_srs_upnode(vhost));
- EXPECT_FALSE(conf.get_atc(vhost));
- EXPECT_TRUE(conf.get_atc_auto(vhost));
- EXPECT_TRUE(conf.get_time_jitter(vhost) == SrsRtmpJitterAlgorithmFULL);
- EXPECT_FLOAT_EQ(30, conf.get_queue_length(vhost));
- EXPECT_TRUE(!conf.get_refer_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_play(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_publish(vhost));
- EXPECT_EQ(60000, conf.get_chunk_size(vhost));
- EXPECT_TRUE(!conf.get_forward_enabled(vhost));
- EXPECT_FALSE(conf.get_vhost_http_hooks_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_connect(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_close(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_publish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_unpublish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_play(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_stop(vhost));
- EXPECT_FALSE(conf.get_bw_check_enabled(vhost));
- EXPECT_TRUE(conf.get_bw_check_key(vhost).empty());
- EXPECT_EQ(30000, conf.get_bw_check_interval_ms(vhost));
- EXPECT_EQ(1000, conf.get_bw_check_limit_kbps(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(conf.get_vhost(vhost)));
- EXPECT_TRUE(NULL == conf.get_vhost_edge_origin(vhost));
- EXPECT_FALSE(conf.get_vhost_edge_token_traverse(vhost));
- EXPECT_TRUE(NULL == conf.get_transcode(vhost, ""));
- EXPECT_FALSE(conf.get_transcode_enabled(NULL));
- EXPECT_TRUE(conf.get_transcode_ffmpeg(NULL).empty());
- EXPECT_TRUE(conf.get_transcode_engines(NULL).size() == 0);
- EXPECT_FALSE(conf.get_engine_enabled(NULL));
- EXPECT_STREQ("flv", conf.get_engine_iformat(NULL).c_str());
- EXPECT_TRUE(conf.get_engine_vfilter(NULL).size() == 0);
- EXPECT_TRUE(conf.get_engine_vcodec(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vbitrate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vfps(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vwidth(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vheight(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vthreads(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vprofile(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vpreset(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vparams(NULL).size() == 0);
- EXPECT_TRUE(conf.get_engine_acodec(NULL).empty());
- EXPECT_TRUE(conf.get_engine_abitrate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_asample_rate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_achannels(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_aparams(NULL).size() == 0);
- EXPECT_STREQ("flv", conf.get_engine_oformat(NULL).c_str());
- EXPECT_TRUE(conf.get_engine_output(NULL).empty());
- EXPECT_TRUE(NULL != conf.get_transcode(vhost, "live"));
- if (true) {
- SrsConfDirective* transcode = conf.get_transcode(vhost, "live");
- EXPECT_TRUE(conf.get_transcode_enabled(transcode));
-
- vector engines = conf.get_transcode_engines(transcode);
- ASSERT_TRUE((int)engines.size() != 0);
-
- SrsConfDirective* engine = engines.at(0);
- EXPECT_FALSE(conf.get_engine_enabled(engine));
- }
- EXPECT_TRUE(conf.get_ingesters(vhost).size() == 0);
- EXPECT_TRUE(NULL == conf.get_ingest_by_id(vhost, ""));
- EXPECT_FALSE(conf.get_ingest_enabled(NULL));
- EXPECT_TRUE(conf.get_ingest_ffmpeg(NULL).empty());
- EXPECT_STREQ("file", conf.get_ingest_input_type(NULL).c_str());
- EXPECT_TRUE(conf.get_ingest_input_url(NULL).empty());
- EXPECT_FALSE(conf.get_hls_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_hls_path(vhost).c_str());
- EXPECT_EQ(10, conf.get_hls_fragment(vhost));
- EXPECT_EQ(60, conf.get_hls_window(vhost));
- EXPECT_FALSE(conf.get_dvr_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_dvr_path(vhost).c_str());
- EXPECT_STREQ("session", conf.get_dvr_plan(vhost).c_str());
- EXPECT_EQ(30, conf.get_dvr_duration(vhost));
- EXPECT_TRUE(conf.get_dvr_wait_keyframe(vhost));
- EXPECT_TRUE(SrsRtmpJitterAlgorithmFULL == conf.get_dvr_time_jitter(vhost));
- EXPECT_FALSE(conf.get_vhost_http_enabled(vhost));
- EXPECT_STREQ("[vhost]/", conf.get_vhost_http_mount(vhost).c_str());
- EXPECT_STREQ("./objs/nginx/html", conf.get_vhost_http_dir(vhost).c_str());
-}
-
-VOID TEST(ConfigMainTest, ParseFullConf_transcode_stream)
-{
- string vhost;
- MockSrsConfig conf;
- EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
-
- vhost = "stream.transcode.srs.com";
- EXPECT_TRUE(conf.get_vhost_enabled(vhost));
- EXPECT_TRUE(conf.get_vhost_enabled(conf.get_vhost(vhost)));
- EXPECT_TRUE(conf.get_gop_cache(vhost));
- EXPECT_TRUE(conf.get_debug_srs_upnode(vhost));
- EXPECT_FALSE(conf.get_atc(vhost));
- EXPECT_TRUE(conf.get_atc_auto(vhost));
- EXPECT_TRUE(conf.get_time_jitter(vhost) == SrsRtmpJitterAlgorithmFULL);
- EXPECT_FLOAT_EQ(30, conf.get_queue_length(vhost));
- EXPECT_TRUE(!conf.get_refer_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_play(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_publish(vhost));
- EXPECT_EQ(60000, conf.get_chunk_size(vhost));
- EXPECT_TRUE(!conf.get_forward_enabled(vhost));
- EXPECT_FALSE(conf.get_vhost_http_hooks_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_connect(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_close(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_publish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_unpublish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_play(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_stop(vhost));
- EXPECT_FALSE(conf.get_bw_check_enabled(vhost));
- EXPECT_TRUE(conf.get_bw_check_key(vhost).empty());
- EXPECT_EQ(30000, conf.get_bw_check_interval_ms(vhost));
- EXPECT_EQ(1000, conf.get_bw_check_limit_kbps(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(conf.get_vhost(vhost)));
- EXPECT_TRUE(NULL == conf.get_vhost_edge_origin(vhost));
- EXPECT_FALSE(conf.get_vhost_edge_token_traverse(vhost));
- EXPECT_TRUE(NULL == conf.get_transcode(vhost, ""));
- EXPECT_FALSE(conf.get_transcode_enabled(NULL));
- EXPECT_TRUE(conf.get_transcode_ffmpeg(NULL).empty());
- EXPECT_TRUE(conf.get_transcode_engines(NULL).size() == 0);
- EXPECT_FALSE(conf.get_engine_enabled(NULL));
- EXPECT_STREQ("flv", conf.get_engine_iformat(NULL).c_str());
- EXPECT_TRUE(conf.get_engine_vfilter(NULL).size() == 0);
- EXPECT_TRUE(conf.get_engine_vcodec(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vbitrate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vfps(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vwidth(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vheight(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vthreads(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vprofile(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vpreset(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vparams(NULL).size() == 0);
- EXPECT_TRUE(conf.get_engine_acodec(NULL).empty());
- EXPECT_TRUE(conf.get_engine_abitrate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_asample_rate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_achannels(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_aparams(NULL).size() == 0);
- EXPECT_STREQ("flv", conf.get_engine_oformat(NULL).c_str());
- EXPECT_TRUE(conf.get_engine_output(NULL).empty());
- EXPECT_TRUE(NULL != conf.get_transcode(vhost, "live/livestream"));
- if (true) {
- SrsConfDirective* transcode = conf.get_transcode(vhost, "live/livestream");
- EXPECT_TRUE(conf.get_transcode_enabled(transcode));
-
- vector engines = conf.get_transcode_engines(transcode);
- ASSERT_TRUE((int)engines.size() != 0);
-
- SrsConfDirective* engine = engines.at(0);
- EXPECT_FALSE(conf.get_engine_enabled(engine));
- }
- EXPECT_TRUE(conf.get_ingesters(vhost).size() == 0);
- EXPECT_TRUE(NULL == conf.get_ingest_by_id(vhost, ""));
- EXPECT_FALSE(conf.get_ingest_enabled(NULL));
- EXPECT_TRUE(conf.get_ingest_ffmpeg(NULL).empty());
- EXPECT_STREQ("file", conf.get_ingest_input_type(NULL).c_str());
- EXPECT_TRUE(conf.get_ingest_input_url(NULL).empty());
- EXPECT_FALSE(conf.get_hls_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_hls_path(vhost).c_str());
- EXPECT_EQ(10, conf.get_hls_fragment(vhost));
- EXPECT_EQ(60, conf.get_hls_window(vhost));
- EXPECT_FALSE(conf.get_dvr_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_dvr_path(vhost).c_str());
- EXPECT_STREQ("session", conf.get_dvr_plan(vhost).c_str());
- EXPECT_EQ(30, conf.get_dvr_duration(vhost));
- EXPECT_TRUE(conf.get_dvr_wait_keyframe(vhost));
- EXPECT_TRUE(SrsRtmpJitterAlgorithmFULL == conf.get_dvr_time_jitter(vhost));
- EXPECT_FALSE(conf.get_vhost_http_enabled(vhost));
- EXPECT_STREQ("[vhost]/", conf.get_vhost_http_mount(vhost).c_str());
- EXPECT_STREQ("./objs/nginx/html", conf.get_vhost_http_dir(vhost).c_str());
-}
-
-VOID TEST(ConfigMainTest, ParseFullConf_bandcheck)
-{
- string vhost;
- MockSrsConfig conf;
- EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
-
- vhost = "bandcheck.srs.com";
- EXPECT_TRUE(conf.get_vhost_enabled(vhost));
- EXPECT_TRUE(conf.get_vhost_enabled(conf.get_vhost(vhost)));
- EXPECT_TRUE(conf.get_gop_cache(vhost));
- EXPECT_TRUE(conf.get_debug_srs_upnode(vhost));
- EXPECT_FALSE(conf.get_atc(vhost));
- EXPECT_TRUE(conf.get_atc_auto(vhost));
- EXPECT_TRUE(conf.get_time_jitter(vhost) == SrsRtmpJitterAlgorithmFULL);
- EXPECT_FLOAT_EQ(30, conf.get_queue_length(vhost));
- EXPECT_TRUE(!conf.get_refer_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_play(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_publish(vhost));
- EXPECT_EQ(65000, conf.get_chunk_size(vhost));
- EXPECT_TRUE(!conf.get_forward_enabled(vhost));
- EXPECT_FALSE(conf.get_vhost_http_hooks_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_connect(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_close(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_publish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_unpublish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_play(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_stop(vhost));
- EXPECT_TRUE(conf.get_bw_check_enabled(vhost));
- EXPECT_STREQ("35c9b402c12a7246868752e2878f7e0e", conf.get_bw_check_key(vhost).c_str());
- EXPECT_EQ(30000, conf.get_bw_check_interval_ms(vhost));
- EXPECT_EQ(4000, conf.get_bw_check_limit_kbps(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(conf.get_vhost(vhost)));
- EXPECT_TRUE(NULL == conf.get_vhost_edge_origin(vhost));
- EXPECT_FALSE(conf.get_vhost_edge_token_traverse(vhost));
- EXPECT_TRUE(NULL == conf.get_transcode(vhost, ""));
- EXPECT_FALSE(conf.get_transcode_enabled(NULL));
- EXPECT_TRUE(conf.get_transcode_ffmpeg(NULL).empty());
- EXPECT_TRUE(conf.get_transcode_engines(NULL).size() == 0);
- EXPECT_FALSE(conf.get_engine_enabled(NULL));
- EXPECT_STREQ("flv", conf.get_engine_iformat(NULL).c_str());
- EXPECT_TRUE(conf.get_engine_vfilter(NULL).size() == 0);
- EXPECT_TRUE(conf.get_engine_vcodec(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vbitrate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vfps(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vwidth(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vheight(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vthreads(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vprofile(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vpreset(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vparams(NULL).size() == 0);
- EXPECT_TRUE(conf.get_engine_acodec(NULL).empty());
- EXPECT_TRUE(conf.get_engine_abitrate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_asample_rate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_achannels(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_aparams(NULL).size() == 0);
- EXPECT_STREQ("flv", conf.get_engine_oformat(NULL).c_str());
- EXPECT_TRUE(conf.get_engine_output(NULL).empty());
- EXPECT_TRUE(conf.get_ingesters(vhost).size() == 0);
- EXPECT_TRUE(NULL == conf.get_ingest_by_id(vhost, ""));
- EXPECT_FALSE(conf.get_ingest_enabled(NULL));
- EXPECT_TRUE(conf.get_ingest_ffmpeg(NULL).empty());
- EXPECT_STREQ("file", conf.get_ingest_input_type(NULL).c_str());
- EXPECT_TRUE(conf.get_ingest_input_url(NULL).empty());
- EXPECT_FALSE(conf.get_hls_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_hls_path(vhost).c_str());
- EXPECT_EQ(10, conf.get_hls_fragment(vhost));
- EXPECT_EQ(60, conf.get_hls_window(vhost));
- EXPECT_FALSE(conf.get_dvr_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_dvr_path(vhost).c_str());
- EXPECT_STREQ("session", conf.get_dvr_plan(vhost).c_str());
- EXPECT_EQ(30, conf.get_dvr_duration(vhost));
- EXPECT_TRUE(conf.get_dvr_wait_keyframe(vhost));
- EXPECT_TRUE(SrsRtmpJitterAlgorithmFULL == conf.get_dvr_time_jitter(vhost));
- EXPECT_FALSE(conf.get_vhost_http_enabled(vhost));
- EXPECT_STREQ("[vhost]/", conf.get_vhost_http_mount(vhost).c_str());
- EXPECT_STREQ("./objs/nginx/html", conf.get_vhost_http_dir(vhost).c_str());
-}
-
-VOID TEST(ConfigMainTest, ParseFullConf_chunksize)
-{
- string vhost;
- MockSrsConfig conf;
- EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
-
- vhost = "chunksize.srs.com";
- EXPECT_TRUE(conf.get_vhost_enabled(vhost));
- EXPECT_TRUE(conf.get_vhost_enabled(conf.get_vhost(vhost)));
- EXPECT_TRUE(conf.get_gop_cache(vhost));
- EXPECT_TRUE(conf.get_debug_srs_upnode(vhost));
- EXPECT_FALSE(conf.get_atc(vhost));
- EXPECT_TRUE(conf.get_atc_auto(vhost));
- EXPECT_TRUE(conf.get_time_jitter(vhost) == SrsRtmpJitterAlgorithmFULL);
- EXPECT_FLOAT_EQ(30, conf.get_queue_length(vhost));
- EXPECT_TRUE(!conf.get_refer_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_play(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_publish(vhost));
- EXPECT_EQ(128, conf.get_chunk_size(vhost));
- EXPECT_TRUE(!conf.get_forward_enabled(vhost));
- EXPECT_FALSE(conf.get_vhost_http_hooks_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_connect(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_close(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_publish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_unpublish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_play(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_stop(vhost));
- EXPECT_FALSE(conf.get_bw_check_enabled(vhost));
- EXPECT_TRUE(conf.get_bw_check_key(vhost).empty());
- EXPECT_EQ(30000, conf.get_bw_check_interval_ms(vhost));
- EXPECT_EQ(1000, conf.get_bw_check_limit_kbps(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(conf.get_vhost(vhost)));
- EXPECT_TRUE(NULL == conf.get_vhost_edge_origin(vhost));
- EXPECT_FALSE(conf.get_vhost_edge_token_traverse(vhost));
- EXPECT_TRUE(NULL == conf.get_transcode(vhost, ""));
- EXPECT_FALSE(conf.get_transcode_enabled(NULL));
- EXPECT_TRUE(conf.get_transcode_ffmpeg(NULL).empty());
- EXPECT_TRUE(conf.get_transcode_engines(NULL).size() == 0);
- EXPECT_FALSE(conf.get_engine_enabled(NULL));
- EXPECT_STREQ("flv", conf.get_engine_iformat(NULL).c_str());
- EXPECT_TRUE(conf.get_engine_vfilter(NULL).size() == 0);
- EXPECT_TRUE(conf.get_engine_vcodec(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vbitrate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vfps(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vwidth(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vheight(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vthreads(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vprofile(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vpreset(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vparams(NULL).size() == 0);
- EXPECT_TRUE(conf.get_engine_acodec(NULL).empty());
- EXPECT_TRUE(conf.get_engine_abitrate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_asample_rate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_achannels(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_aparams(NULL).size() == 0);
- EXPECT_STREQ("flv", conf.get_engine_oformat(NULL).c_str());
- EXPECT_TRUE(conf.get_engine_output(NULL).empty());
- EXPECT_TRUE(conf.get_ingesters(vhost).size() == 0);
- EXPECT_TRUE(NULL == conf.get_ingest_by_id(vhost, ""));
- EXPECT_FALSE(conf.get_ingest_enabled(NULL));
- EXPECT_TRUE(conf.get_ingest_ffmpeg(NULL).empty());
- EXPECT_STREQ("file", conf.get_ingest_input_type(NULL).c_str());
- EXPECT_TRUE(conf.get_ingest_input_url(NULL).empty());
- EXPECT_FALSE(conf.get_hls_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_hls_path(vhost).c_str());
- EXPECT_EQ(10, conf.get_hls_fragment(vhost));
- EXPECT_EQ(60, conf.get_hls_window(vhost));
- EXPECT_FALSE(conf.get_dvr_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_dvr_path(vhost).c_str());
- EXPECT_STREQ("session", conf.get_dvr_plan(vhost).c_str());
- EXPECT_EQ(30, conf.get_dvr_duration(vhost));
- EXPECT_TRUE(conf.get_dvr_wait_keyframe(vhost));
- EXPECT_TRUE(SrsRtmpJitterAlgorithmFULL == conf.get_dvr_time_jitter(vhost));
- EXPECT_FALSE(conf.get_vhost_http_enabled(vhost));
- EXPECT_STREQ("[vhost]/", conf.get_vhost_http_mount(vhost).c_str());
- EXPECT_STREQ("./objs/nginx/html", conf.get_vhost_http_dir(vhost).c_str());
-}
-
-VOID TEST(ConfigMainTest, ParseFullConf_jitter)
-{
- string vhost;
- MockSrsConfig conf;
- EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
-
- vhost = "jitter.srs.com";
- EXPECT_TRUE(conf.get_vhost_enabled(vhost));
- EXPECT_TRUE(conf.get_vhost_enabled(conf.get_vhost(vhost)));
- EXPECT_TRUE(conf.get_gop_cache(vhost));
- EXPECT_TRUE(conf.get_debug_srs_upnode(vhost));
- EXPECT_FALSE(conf.get_atc(vhost));
- EXPECT_TRUE(conf.get_atc_auto(vhost));
- EXPECT_TRUE(conf.get_time_jitter(vhost) == SrsRtmpJitterAlgorithmFULL);
- EXPECT_FLOAT_EQ(30, conf.get_queue_length(vhost));
- EXPECT_TRUE(!conf.get_refer_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_play(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_publish(vhost));
- EXPECT_EQ(60000, conf.get_chunk_size(vhost));
- EXPECT_TRUE(!conf.get_forward_enabled(vhost));
- EXPECT_FALSE(conf.get_vhost_http_hooks_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_connect(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_close(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_publish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_unpublish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_play(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_stop(vhost));
- EXPECT_FALSE(conf.get_bw_check_enabled(vhost));
- EXPECT_TRUE(conf.get_bw_check_key(vhost).empty());
- EXPECT_EQ(30000, conf.get_bw_check_interval_ms(vhost));
- EXPECT_EQ(1000, conf.get_bw_check_limit_kbps(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(conf.get_vhost(vhost)));
- EXPECT_TRUE(NULL == conf.get_vhost_edge_origin(vhost));
- EXPECT_FALSE(conf.get_vhost_edge_token_traverse(vhost));
- EXPECT_TRUE(NULL == conf.get_transcode(vhost, ""));
- EXPECT_FALSE(conf.get_transcode_enabled(NULL));
- EXPECT_TRUE(conf.get_transcode_ffmpeg(NULL).empty());
- EXPECT_TRUE(conf.get_transcode_engines(NULL).size() == 0);
- EXPECT_FALSE(conf.get_engine_enabled(NULL));
- EXPECT_STREQ("flv", conf.get_engine_iformat(NULL).c_str());
- EXPECT_TRUE(conf.get_engine_vfilter(NULL).size() == 0);
- EXPECT_TRUE(conf.get_engine_vcodec(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vbitrate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vfps(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vwidth(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vheight(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vthreads(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vprofile(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vpreset(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vparams(NULL).size() == 0);
- EXPECT_TRUE(conf.get_engine_acodec(NULL).empty());
- EXPECT_TRUE(conf.get_engine_abitrate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_asample_rate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_achannels(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_aparams(NULL).size() == 0);
- EXPECT_STREQ("flv", conf.get_engine_oformat(NULL).c_str());
- EXPECT_TRUE(conf.get_engine_output(NULL).empty());
- EXPECT_TRUE(conf.get_ingesters(vhost).size() == 0);
- EXPECT_TRUE(NULL == conf.get_ingest_by_id(vhost, ""));
- EXPECT_FALSE(conf.get_ingest_enabled(NULL));
- EXPECT_TRUE(conf.get_ingest_ffmpeg(NULL).empty());
- EXPECT_STREQ("file", conf.get_ingest_input_type(NULL).c_str());
- EXPECT_TRUE(conf.get_ingest_input_url(NULL).empty());
- EXPECT_FALSE(conf.get_hls_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_hls_path(vhost).c_str());
- EXPECT_EQ(10, conf.get_hls_fragment(vhost));
- EXPECT_EQ(60, conf.get_hls_window(vhost));
- EXPECT_FALSE(conf.get_dvr_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_dvr_path(vhost).c_str());
- EXPECT_STREQ("session", conf.get_dvr_plan(vhost).c_str());
- EXPECT_EQ(30, conf.get_dvr_duration(vhost));
- EXPECT_TRUE(conf.get_dvr_wait_keyframe(vhost));
- EXPECT_TRUE(SrsRtmpJitterAlgorithmFULL == conf.get_dvr_time_jitter(vhost));
- EXPECT_FALSE(conf.get_vhost_http_enabled(vhost));
- EXPECT_STREQ("[vhost]/", conf.get_vhost_http_mount(vhost).c_str());
- EXPECT_STREQ("./objs/nginx/html", conf.get_vhost_http_dir(vhost).c_str());
-}
-
-VOID TEST(ConfigMainTest, ParseFullConf_atc)
-{
- string vhost;
- MockSrsConfig conf;
- EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
-
- vhost = "atc.srs.com";
- EXPECT_TRUE(conf.get_vhost_enabled(vhost));
- EXPECT_TRUE(conf.get_vhost_enabled(conf.get_vhost(vhost)));
- EXPECT_TRUE(conf.get_gop_cache(vhost));
- EXPECT_TRUE(conf.get_debug_srs_upnode(vhost));
- EXPECT_TRUE(conf.get_atc(vhost));
- EXPECT_TRUE(conf.get_atc_auto(vhost));
- EXPECT_TRUE(conf.get_time_jitter(vhost) == SrsRtmpJitterAlgorithmFULL);
- EXPECT_FLOAT_EQ(30, conf.get_queue_length(vhost));
- EXPECT_TRUE(!conf.get_refer_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_play(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_publish(vhost));
- EXPECT_EQ(60000, conf.get_chunk_size(vhost));
- EXPECT_TRUE(!conf.get_forward_enabled(vhost));
- EXPECT_FALSE(conf.get_vhost_http_hooks_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_connect(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_close(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_publish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_unpublish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_play(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_stop(vhost));
- EXPECT_FALSE(conf.get_bw_check_enabled(vhost));
- EXPECT_TRUE(conf.get_bw_check_key(vhost).empty());
- EXPECT_EQ(30000, conf.get_bw_check_interval_ms(vhost));
- EXPECT_EQ(1000, conf.get_bw_check_limit_kbps(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(conf.get_vhost(vhost)));
- EXPECT_TRUE(NULL == conf.get_vhost_edge_origin(vhost));
- EXPECT_FALSE(conf.get_vhost_edge_token_traverse(vhost));
- EXPECT_TRUE(NULL == conf.get_transcode(vhost, ""));
- EXPECT_FALSE(conf.get_transcode_enabled(NULL));
- EXPECT_TRUE(conf.get_transcode_ffmpeg(NULL).empty());
- EXPECT_TRUE(conf.get_transcode_engines(NULL).size() == 0);
- EXPECT_FALSE(conf.get_engine_enabled(NULL));
- EXPECT_STREQ("flv", conf.get_engine_iformat(NULL).c_str());
- EXPECT_TRUE(conf.get_engine_vfilter(NULL).size() == 0);
- EXPECT_TRUE(conf.get_engine_vcodec(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vbitrate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vfps(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vwidth(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vheight(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vthreads(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vprofile(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vpreset(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vparams(NULL).size() == 0);
- EXPECT_TRUE(conf.get_engine_acodec(NULL).empty());
- EXPECT_TRUE(conf.get_engine_abitrate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_asample_rate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_achannels(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_aparams(NULL).size() == 0);
- EXPECT_STREQ("flv", conf.get_engine_oformat(NULL).c_str());
- EXPECT_TRUE(conf.get_engine_output(NULL).empty());
- EXPECT_TRUE(conf.get_ingesters(vhost).size() == 0);
- EXPECT_TRUE(NULL == conf.get_ingest_by_id(vhost, ""));
- EXPECT_FALSE(conf.get_ingest_enabled(NULL));
- EXPECT_TRUE(conf.get_ingest_ffmpeg(NULL).empty());
- EXPECT_STREQ("file", conf.get_ingest_input_type(NULL).c_str());
- EXPECT_TRUE(conf.get_ingest_input_url(NULL).empty());
- EXPECT_FALSE(conf.get_hls_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_hls_path(vhost).c_str());
- EXPECT_EQ(10, conf.get_hls_fragment(vhost));
- EXPECT_EQ(60, conf.get_hls_window(vhost));
- EXPECT_FALSE(conf.get_dvr_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_dvr_path(vhost).c_str());
- EXPECT_STREQ("session", conf.get_dvr_plan(vhost).c_str());
- EXPECT_EQ(30, conf.get_dvr_duration(vhost));
- EXPECT_TRUE(conf.get_dvr_wait_keyframe(vhost));
- EXPECT_TRUE(SrsRtmpJitterAlgorithmFULL == conf.get_dvr_time_jitter(vhost));
- EXPECT_FALSE(conf.get_vhost_http_enabled(vhost));
- EXPECT_STREQ("[vhost]/", conf.get_vhost_http_mount(vhost).c_str());
- EXPECT_STREQ("./objs/nginx/html", conf.get_vhost_http_dir(vhost).c_str());
-}
-
-VOID TEST(ConfigMainTest, ParseFullConf_removed)
-{
- string vhost;
- MockSrsConfig conf;
- EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_full_conf));
-
- vhost = "removed.srs.com";
- EXPECT_FALSE(conf.get_vhost_enabled(vhost));
- EXPECT_FALSE(conf.get_vhost_enabled(conf.get_vhost(vhost)));
- EXPECT_TRUE(conf.get_gop_cache(vhost));
- EXPECT_TRUE(conf.get_debug_srs_upnode(vhost));
- EXPECT_FALSE(conf.get_atc(vhost));
- EXPECT_TRUE(conf.get_atc_auto(vhost));
- EXPECT_TRUE(conf.get_time_jitter(vhost) == SrsRtmpJitterAlgorithmFULL);
- EXPECT_FLOAT_EQ(30, conf.get_queue_length(vhost));
- EXPECT_TRUE(!conf.get_refer_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_play(vhost));
- EXPECT_TRUE(NULL == conf.get_refer_publish(vhost));
- EXPECT_EQ(60000, conf.get_chunk_size(vhost));
- EXPECT_TRUE(!conf.get_forward_enabled(vhost));
- EXPECT_FALSE(conf.get_vhost_http_hooks_enabled(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_connect(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_close(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_publish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_unpublish(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_play(vhost));
- EXPECT_TRUE(NULL == conf.get_vhost_on_stop(vhost));
- EXPECT_FALSE(conf.get_bw_check_enabled(vhost));
- EXPECT_TRUE(conf.get_bw_check_key(vhost).empty());
- EXPECT_EQ(30000, conf.get_bw_check_interval_ms(vhost));
- EXPECT_EQ(1000, conf.get_bw_check_limit_kbps(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(vhost));
- EXPECT_FALSE(conf.get_vhost_is_edge(conf.get_vhost(vhost)));
- EXPECT_TRUE(NULL == conf.get_vhost_edge_origin(vhost));
- EXPECT_FALSE(conf.get_vhost_edge_token_traverse(vhost));
- EXPECT_TRUE(NULL == conf.get_transcode(vhost, ""));
- EXPECT_FALSE(conf.get_transcode_enabled(NULL));
- EXPECT_TRUE(conf.get_transcode_ffmpeg(NULL).empty());
- EXPECT_TRUE(conf.get_transcode_engines(NULL).size() == 0);
- EXPECT_FALSE(conf.get_engine_enabled(NULL));
- EXPECT_STREQ("flv", conf.get_engine_iformat(NULL).c_str());
- EXPECT_TRUE(conf.get_engine_vfilter(NULL).size() == 0);
- EXPECT_TRUE(conf.get_engine_vcodec(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vbitrate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vfps(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vwidth(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vheight(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vthreads(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_vprofile(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vpreset(NULL).empty());
- EXPECT_TRUE(conf.get_engine_vparams(NULL).size() == 0);
- EXPECT_TRUE(conf.get_engine_acodec(NULL).empty());
- EXPECT_TRUE(conf.get_engine_abitrate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_asample_rate(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_achannels(NULL) == 0);
- EXPECT_TRUE(conf.get_engine_aparams(NULL).size() == 0);
- EXPECT_STREQ("flv", conf.get_engine_oformat(NULL).c_str());
- EXPECT_TRUE(conf.get_engine_output(NULL).empty());
- EXPECT_TRUE(conf.get_ingesters(vhost).size() == 0);
- EXPECT_TRUE(NULL == conf.get_ingest_by_id(vhost, ""));
- EXPECT_FALSE(conf.get_ingest_enabled(NULL));
- EXPECT_TRUE(conf.get_ingest_ffmpeg(NULL).empty());
- EXPECT_STREQ("file", conf.get_ingest_input_type(NULL).c_str());
- EXPECT_TRUE(conf.get_ingest_input_url(NULL).empty());
- EXPECT_FALSE(conf.get_hls_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_hls_path(vhost).c_str());
- EXPECT_EQ(10, conf.get_hls_fragment(vhost));
- EXPECT_EQ(60, conf.get_hls_window(vhost));
- EXPECT_FALSE(conf.get_dvr_enabled(vhost));
- EXPECT_STREQ("./objs/nginx/html", conf.get_dvr_path(vhost).c_str());
- EXPECT_STREQ("session", conf.get_dvr_plan(vhost).c_str());
- EXPECT_EQ(30, conf.get_dvr_duration(vhost));
- EXPECT_TRUE(conf.get_dvr_wait_keyframe(vhost));
- EXPECT_TRUE(SrsRtmpJitterAlgorithmFULL == conf.get_dvr_time_jitter(vhost));
- EXPECT_FALSE(conf.get_vhost_http_enabled(vhost));
- EXPECT_STREQ("[vhost]/", conf.get_vhost_http_mount(vhost).c_str());
- EXPECT_STREQ("./objs/nginx/html", conf.get_vhost_http_dir(vhost).c_str());
-}
-
VOID TEST(ConfigMainTest, CheckConf_listen)
{
if (true) {
diff --git a/trunk/src/utest/srs_utest_kernel.cpp b/trunk/src/utest/srs_utest_kernel.cpp
index 645424a84..8ba2ed250 100644
--- a/trunk/src/utest/srs_utest_kernel.cpp
+++ b/trunk/src/utest/srs_utest_kernel.cpp
@@ -410,7 +410,7 @@ VOID TEST(KernelFlvTest, FlvEncoderWriteHeader)
char flv_header[] = {
'F', 'L', 'V', // Signatures "FLV"
(char)0x01, // File version (for example, 0x01 for FLV version 1)
- (char)0x00, // 4, audio; 1, video; 5 audio+video.
+ (char)0x05, // 4, audio; 1, video; 5 audio+video.
(char)0x00, (char)0x00, (char)0x00, (char)0x09 // DataOffset UI32 The length of this header in bytes
};
char pts[] = { (char)0x00, (char)0x00, (char)0x00, (char)0x00 };
diff --git a/trunk/src/utest/srs_utest_protocol.cpp b/trunk/src/utest/srs_utest_protocol.cpp
index d84c60108..acfd23165 100644
--- a/trunk/src/utest/srs_utest_protocol.cpp
+++ b/trunk/src/utest/srs_utest_protocol.cpp
@@ -4609,114 +4609,6 @@ VOID TEST(ProtocolStackTest, ProtocolSendVMessage)
EXPECT_EQ(16, bio.out_buffer.length());
}
-/**
-* send a SrsConnectAppPacket packet
-*/
-VOID TEST(ProtocolStackTest, ProtocolSendSrsConnectAppPacket)
-{
- MockBufferIO bio;
- SrsProtocol proto(&bio);
-
- SrsConnectAppPacket* pkt = new SrsConnectAppPacket();
- pkt->command_object = SrsAmf0Any::object();
- pkt->args = SrsAmf0Any::object();
-
- pkt->command_object->set("version", SrsAmf0Any::str("1.0.0"));
- pkt->command_object->set("build", SrsAmf0Any::number(150));
- SrsAmf0Object* data = SrsAmf0Any::object();
- pkt->command_object->set("data", data);
-
- data->set("server", SrsAmf0Any::str("SRS"));
- data->set("signature", SrsAmf0Any::str("ossrs"));
-
- pkt->args->set("info", SrsAmf0Any::str("NetStream.Status.Info"));
- pkt->args->set("desc", SrsAmf0Any::str("connected"));
- pkt->args->set("data", SrsAmf0Any::ecma_array());
-
- EXPECT_TRUE(ERROR_SUCCESS == proto.send_and_free_packet(pkt, 0));
- char buf[] = {
- (char)0x03, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0xb2, (char)0x14,
- (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x02, (char)0x00, (char)0x07, (char)0x63,
- (char)0x6f, (char)0x6e, (char)0x6e, (char)0x65, (char)0x63, (char)0x74, (char)0x00, (char)0x3f,
- (char)0xf0, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x03,
- (char)0x00, (char)0x07, (char)0x76, (char)0x65, (char)0x72, (char)0x73, (char)0x69, (char)0x6f,
- (char)0x6e, (char)0x02, (char)0x00, (char)0x05, (char)0x31, (char)0x2e, (char)0x30, (char)0x2e,
- (char)0x30, (char)0x00, (char)0x05, (char)0x62, (char)0x75, (char)0x69, (char)0x6c, (char)0x64,
- (char)0x00, (char)0x40, (char)0x62, (char)0xc0, (char)0x00, (char)0x00, (char)0x00, (char)0x00,
- (char)0x00, (char)0x00, (char)0x04, (char)0x64, (char)0x61, (char)0x74, (char)0x61, (char)0x03,
- (char)0x00, (char)0x06, (char)0x73, (char)0x65, (char)0x72, (char)0x76, (char)0x65, (char)0x72,
- (char)0x02, (char)0x00, (char)0x03, (char)0x53, (char)0x52, (char)0x53, (char)0x00, (char)0x09,
- (char)0x73, (char)0x69, (char)0x67, (char)0x6e, (char)0x61, (char)0x74, (char)0x75, (char)0x72,
- (char)0x65, (char)0x02, (char)0x00, (char)0x12, (char)0x73, (char)0x69, (char)0x6d, (char)0x70,
- (char)0x6c, (char)0x65, (char)0x2d, (char)0x72, (char)0x74, (char)0x6d, (char)0x70, (char)0x2d,
- (char)0x73, (char)0x65, (char)0x72, (char)0x76, (char)0x65, (char)0x72, (char)0x00, (char)0x00,
- (char)0x09, (char)0x00, (char)0x00, (char)0x09, (char)0x03, (char)0x00, (char)0x04, (char)0x69,
- (char)0x6e, (char)0x66, (char)0x6f, (char)0x02, (char)0x00, (char)0x15, (char)0x4e, (char)0x65,
- (char)0x74, (char)0x53, (char)0x74, (char)0x72, (char)0xc3, (char)0x65, (char)0x61, (char)0x6d,
- (char)0x2e, (char)0x53, (char)0x74, (char)0x61, (char)0x74, (char)0x75, (char)0x73, (char)0x2e,
- (char)0x49, (char)0x6e, (char)0x66, (char)0x6f, (char)0x00, (char)0x04, (char)0x64, (char)0x65,
- (char)0x73, (char)0x63, (char)0x02, (char)0x00, (char)0x09, (char)0x63, (char)0x6f, (char)0x6e,
- (char)0x6e, (char)0x65, (char)0x63, (char)0x74, (char)0x65, (char)0x64, (char)0x00, (char)0x04,
- (char)0x64, (char)0x61, (char)0x74, (char)0x61, (char)0x08, (char)0x00, (char)0x00, (char)0x00,
- (char)0x00, (char)0x00, (char)0x00, (char)0x09, (char)0x00, (char)0x00, (char)0x09
- };
- EXPECT_TRUE(srs_bytes_equals(bio.out_buffer.bytes(), buf, sizeof(buf)));
-}
-
-/**
-* send a SrsConnectAppResPacket packet
-*/
-VOID TEST(ProtocolStackTest, ProtocolSendSrsConnectAppResPacket)
-{
- MockBufferIO bio;
- SrsProtocol proto(&bio);
-
- SrsConnectAppResPacket* pkt = new SrsConnectAppResPacket();
- pkt->props = SrsAmf0Any::object();
- pkt->info = SrsAmf0Any::object();
-
- pkt->props->set("version", SrsAmf0Any::str("1.0.0"));
- pkt->props->set("build", SrsAmf0Any::number(150));
- SrsAmf0Object* data = SrsAmf0Any::object();
- pkt->props->set("data", data);
-
- data->set("server", SrsAmf0Any::str("SRS"));
- data->set("signature", SrsAmf0Any::str("ossrs"));
-
- pkt->info->set("info", SrsAmf0Any::str("NetStream.Status.Info"));
- pkt->info->set("desc", SrsAmf0Any::str("connected"));
- pkt->info->set("data", SrsAmf0Any::ecma_array());
-
- EXPECT_TRUE(ERROR_SUCCESS == proto.send_and_free_packet(pkt, 0));
- char buf[] = {
- (char)0x03, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0xb2, (char)0x14,
- (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x02, (char)0x00, (char)0x07, (char)0x5f,
- (char)0x72, (char)0x65, (char)0x73, (char)0x75, (char)0x6c, (char)0x74, (char)0x00, (char)0x3f,
- (char)0xf0, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x03,
- (char)0x00, (char)0x07, (char)0x76, (char)0x65, (char)0x72, (char)0x73, (char)0x69, (char)0x6f,
- (char)0x6e, (char)0x02, (char)0x00, (char)0x05, (char)0x31, (char)0x2e, (char)0x30, (char)0x2e,
- (char)0x30, (char)0x00, (char)0x05, (char)0x62, (char)0x75, (char)0x69, (char)0x6c, (char)0x64,
- (char)0x00, (char)0x40, (char)0x62, (char)0xc0, (char)0x00, (char)0x00, (char)0x00, (char)0x00,
- (char)0x00, (char)0x00, (char)0x04, (char)0x64, (char)0x61, (char)0x74, (char)0x61, (char)0x03,
- (char)0x00, (char)0x06, (char)0x73, (char)0x65, (char)0x72, (char)0x76, (char)0x65, (char)0x72,
- (char)0x02, (char)0x00, (char)0x03, (char)0x53, (char)0x52, (char)0x53, (char)0x00, (char)0x09,
- (char)0x73, (char)0x69, (char)0x67, (char)0x6e, (char)0x61, (char)0x74, (char)0x75, (char)0x72,
- (char)0x65, (char)0x02, (char)0x00, (char)0x12, (char)0x73, (char)0x69, (char)0x6d, (char)0x70,
- (char)0x6c, (char)0x65, (char)0x2d, (char)0x72, (char)0x74, (char)0x6d, (char)0x70, (char)0x2d,
- (char)0x73, (char)0x65, (char)0x72, (char)0x76, (char)0x65, (char)0x72, (char)0x00, (char)0x00,
- (char)0x09, (char)0x00, (char)0x00, (char)0x09, (char)0x03, (char)0x00, (char)0x04, (char)0x69,
- (char)0x6e, (char)0x66, (char)0x6f, (char)0x02, (char)0x00, (char)0x15, (char)0x4e, (char)0x65,
- (char)0x74, (char)0x53, (char)0x74, (char)0x72, (char)0xc3, (char)0x65, (char)0x61, (char)0x6d,
- (char)0x2e, (char)0x53, (char)0x74, (char)0x61, (char)0x74, (char)0x75, (char)0x73, (char)0x2e,
- (char)0x49, (char)0x6e, (char)0x66, (char)0x6f, (char)0x00, (char)0x04, (char)0x64, (char)0x65,
- (char)0x73, (char)0x63, (char)0x02, (char)0x00, (char)0x09, (char)0x63, (char)0x6f, (char)0x6e,
- (char)0x6e, (char)0x65, (char)0x63, (char)0x74, (char)0x65, (char)0x64, (char)0x00, (char)0x04,
- (char)0x64, (char)0x61, (char)0x74, (char)0x61, (char)0x08, (char)0x00, (char)0x00, (char)0x00,
- (char)0x00, (char)0x00, (char)0x00, (char)0x09, (char)0x00, (char)0x00, (char)0x09
- };
- EXPECT_TRUE(srs_bytes_equals(bio.out_buffer.bytes(), buf, sizeof(buf)));
-}
-
/**
* send a SrsCallPacket packet
*/
@@ -4904,36 +4796,6 @@ VOID TEST(ProtocolStackTest, ProtocolSendSrsPublishPacket)
EXPECT_TRUE(srs_bytes_equals(bio.out_buffer.bytes(), buf, sizeof(buf)));
}
-/**
-* send a SrsPlayPacket packet
-*/
-VOID TEST(ProtocolStackTest, ProtocolSendSrsPlayPacket)
-{
- MockBufferIO bio;
- SrsProtocol proto(&bio);
-
- SrsPlayPacket* pkt = new SrsPlayPacket();
- pkt->command_name = "play";
- pkt->command_object = SrsAmf0Any::null();
- pkt->stream_name = "livestream";
- pkt->start = 0;
- pkt->duration = 0;
- pkt->reset = true;
-
- EXPECT_TRUE(ERROR_SUCCESS == proto.send_and_free_packet(pkt, 0));
- char buf[] = {
- (char)0x05, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x32, (char)0x14,
- (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x02, (char)0x00, (char)0x04, (char)0x70,
- (char)0x6c, (char)0x61, (char)0x79, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00,
- (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x05, (char)0x02, (char)0x00, (char)0x0a,
- (char)0x6c, (char)0x69, (char)0x76, (char)0x65, (char)0x73, (char)0x74, (char)0x72, (char)0x65,
- (char)0x61, (char)0x6d, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00,
- (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00,
- (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x01, (char)0x01
- };
- EXPECT_TRUE(srs_bytes_equals(bio.out_buffer.bytes(), buf, sizeof(buf)));
-}
-
/**
* send a SrsPlayResPacket packet
*/