winlin

refine code, move the kbps to protocol

@@ -159,7 +159,7 @@ MODULE_DEPENDS=("CORE" "KERNEL") @@ -159,7 +159,7 @@ MODULE_DEPENDS=("CORE" "KERNEL")
159 ModuleLibIncs=(${SRS_OBJS_DIR} ${LibSSLRoot}) 159 ModuleLibIncs=(${SRS_OBJS_DIR} ${LibSSLRoot})
160 MODULE_FILES=("srs_rtmp_amf0" "srs_rtmp_io" "srs_rtmp_stack" "srs_rtmp_sdk" 160 MODULE_FILES=("srs_rtmp_amf0" "srs_rtmp_io" "srs_rtmp_stack" "srs_rtmp_sdk"
161 "srs_rtmp_handshake" "srs_rtmp_utility" "srs_rtmp_msg_array" "srs_rtmp_buffer" 161 "srs_rtmp_handshake" "srs_rtmp_utility" "srs_rtmp_msg_array" "srs_rtmp_buffer"
162 - "srs_raw_avc" "srs_rtsp_stack" "srs_http_stack") 162 + "srs_raw_avc" "srs_rtsp_stack" "srs_http_stack" "srs_protocol_kbps")
163 RTMP_INCS="src/protocol"; MODULE_DIR=${RTMP_INCS} . auto/modules.sh 163 RTMP_INCS="src/protocol"; MODULE_DIR=${RTMP_INCS} . auto/modules.sh
164 RTMP_OBJS="${MODULE_OBJS[@]}" 164 RTMP_OBJS="${MODULE_OBJS[@]}"
165 # 165 #
@@ -173,7 +173,7 @@ if [ $SRS_EXPORT_LIBRTMP_PROJECT = NO ]; then @@ -173,7 +173,7 @@ if [ $SRS_EXPORT_LIBRTMP_PROJECT = NO ]; then
173 "srs_app_thread" "srs_app_bandwidth" "srs_app_st" "srs_app_log" "srs_app_config" 173 "srs_app_thread" "srs_app_bandwidth" "srs_app_st" "srs_app_log" "srs_app_config"
174 "srs_app_pithy_print" "srs_app_reload" "srs_app_http_api" "srs_app_http_conn" "srs_app_http_hooks" 174 "srs_app_pithy_print" "srs_app_reload" "srs_app_http_api" "srs_app_http_conn" "srs_app_http_hooks"
175 "srs_app_json" "srs_app_ingest" "srs_app_ffmpeg" "srs_app_utility" "srs_app_dvr" "srs_app_edge" 175 "srs_app_json" "srs_app_ingest" "srs_app_ffmpeg" "srs_app_utility" "srs_app_dvr" "srs_app_edge"
176 - "srs_app_kbps" "srs_app_heartbeat" "srs_app_empty" "srs_app_http_client" 176 + "srs_app_heartbeat" "srs_app_empty" "srs_app_http_client"
177 "srs_app_recv_thread" "srs_app_security" "srs_app_statistic" "srs_app_hds" 177 "srs_app_recv_thread" "srs_app_security" "srs_app_statistic" "srs_app_hds"
178 "srs_app_mpegts_udp" "srs_app_rtsp" "srs_app_listener" "srs_app_async_call" 178 "srs_app_mpegts_udp" "srs_app_rtsp" "srs_app_listener" "srs_app_async_call"
179 "srs_app_caster_flv") 179 "srs_app_caster_flv")
@@ -48,6 +48,8 @@ file @@ -48,6 +48,8 @@ file
48 protocol readonly separator, 48 protocol readonly separator,
49 ../../src/protocol/srs_http_stack.hpp, 49 ../../src/protocol/srs_http_stack.hpp,
50 ../../src/protocol/srs_http_stack.cpp, 50 ../../src/protocol/srs_http_stack.cpp,
  51 + ../../src/protocol/srs_protocol_kbps.hpp,
  52 + ../../src/protocol/srs_protocol_kbps.cpp,
51 ../../src/protocol/srs_raw_avc.hpp, 53 ../../src/protocol/srs_raw_avc.hpp,
52 ../../src/protocol/srs_raw_avc.cpp, 54 ../../src/protocol/srs_raw_avc.cpp,
53 ../../src/protocol/srs_rtmp_amf0.hpp, 55 ../../src/protocol/srs_rtmp_amf0.hpp,
@@ -105,8 +107,6 @@ file @@ -105,8 +107,6 @@ file
105 ../../src/app/srs_app_ingest.cpp, 107 ../../src/app/srs_app_ingest.cpp,
106 ../../src/app/srs_app_json.hpp, 108 ../../src/app/srs_app_json.hpp,
107 ../../src/app/srs_app_json.cpp, 109 ../../src/app/srs_app_json.cpp,
108 - ../../src/app/srs_app_kbps.hpp,  
109 - ../../src/app/srs_app_kbps.cpp,  
110 ../../src/app/srs_app_listener.hpp, 110 ../../src/app/srs_app_listener.hpp,
111 ../../src/app/srs_app_listener.cpp, 111 ../../src/app/srs_app_listener.cpp,
112 ../../src/app/srs_app_log.hpp, 112 ../../src/app/srs_app_log.hpp,
@@ -80,7 +80,6 @@ @@ -80,7 +80,6 @@
80 <ClInclude Include="..\..\src\app\srs_app_http_hooks.hpp" /> 80 <ClInclude Include="..\..\src\app\srs_app_http_hooks.hpp" />
81 <ClInclude Include="..\..\src\app\srs_app_ingest.hpp" /> 81 <ClInclude Include="..\..\src\app\srs_app_ingest.hpp" />
82 <ClInclude Include="..\..\src\app\srs_app_json.hpp" /> 82 <ClInclude Include="..\..\src\app\srs_app_json.hpp" />
83 - <ClInclude Include="..\..\src\app\srs_app_kbps.hpp" />  
84 <ClInclude Include="..\..\src\app\srs_app_listener.hpp" /> 83 <ClInclude Include="..\..\src\app\srs_app_listener.hpp" />
85 <ClInclude Include="..\..\src\app\srs_app_log.hpp" /> 84 <ClInclude Include="..\..\src\app\srs_app_log.hpp" />
86 <ClInclude Include="..\..\src\app\srs_app_mpegts_udp.hpp" /> 85 <ClInclude Include="..\..\src\app\srs_app_mpegts_udp.hpp" />
@@ -129,6 +128,7 @@ @@ -129,6 +128,7 @@
129 <ClInclude Include="..\..\src\protocol\srs_rtmp_stack.hpp" /> 128 <ClInclude Include="..\..\src\protocol\srs_rtmp_stack.hpp" />
130 <ClInclude Include="..\..\src\protocol\srs_rtmp_utility.hpp" /> 129 <ClInclude Include="..\..\src\protocol\srs_rtmp_utility.hpp" />
131 <ClInclude Include="..\..\src\protocol\srs_rtsp_stack.hpp" /> 130 <ClInclude Include="..\..\src\protocol\srs_rtsp_stack.hpp" />
  131 + <ClInclude Include="..\..\src\protocol\srs_protocol_kbps.hpp" />
132 </ItemGroup> 132 </ItemGroup>
133 <ItemGroup> 133 <ItemGroup>
134 <ClCompile Include="..\..\research\hls\ts_info.cc" /> 134 <ClCompile Include="..\..\research\hls\ts_info.cc" />
@@ -161,7 +161,6 @@ @@ -161,7 +161,6 @@
161 <ClCompile Include="..\..\src\app\srs_app_http_hooks.cpp" /> 161 <ClCompile Include="..\..\src\app\srs_app_http_hooks.cpp" />
162 <ClCompile Include="..\..\src\app\srs_app_ingest.cpp" /> 162 <ClCompile Include="..\..\src\app\srs_app_ingest.cpp" />
163 <ClCompile Include="..\..\src\app\srs_app_json.cpp" /> 163 <ClCompile Include="..\..\src\app\srs_app_json.cpp" />
164 - <ClCompile Include="..\..\src\app\srs_app_kbps.cpp" />  
165 <ClCompile Include="..\..\src\app\srs_app_listener.cpp" /> 164 <ClCompile Include="..\..\src\app\srs_app_listener.cpp" />
166 <ClCompile Include="..\..\src\app\srs_app_log.cpp" /> 165 <ClCompile Include="..\..\src\app\srs_app_log.cpp" />
167 <ClCompile Include="..\..\src\app\srs_app_mpegts_udp.cpp" /> 166 <ClCompile Include="..\..\src\app\srs_app_mpegts_udp.cpp" />
@@ -211,6 +210,7 @@ @@ -211,6 +210,7 @@
211 <ClCompile Include="..\..\src\protocol\srs_rtmp_stack.cpp" /> 210 <ClCompile Include="..\..\src\protocol\srs_rtmp_stack.cpp" />
212 <ClCompile Include="..\..\src\protocol\srs_rtmp_utility.cpp" /> 211 <ClCompile Include="..\..\src\protocol\srs_rtmp_utility.cpp" />
213 <ClCompile Include="..\..\src\protocol\srs_rtsp_stack.cpp" /> 212 <ClCompile Include="..\..\src\protocol\srs_rtsp_stack.cpp" />
  213 + <ClCompile Include="..\..\src\protocol\srs_protocol_kbps.cpp" />
214 </ItemGroup> 214 </ItemGroup>
215 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 215 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
216 <ImportGroup Label="ExtensionTargets"> 216 <ImportGroup Label="ExtensionTargets">
@@ -7,6 +7,7 @@ @@ -7,6 +7,7 @@
7 objects = { 7 objects = {
8 8
9 /* Begin PBXBuildFile section */ 9 /* Begin PBXBuildFile section */
  10 + 3C068D6A1B10149F00AA722C /* srs_protocol_kbps.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C068D681B10149F00AA722C /* srs_protocol_kbps.cpp */; };
10 3C0E1B8D1B0F5ADF003ADEF7 /* srs_http_stack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C0E1B8B1B0F5ADF003ADEF7 /* srs_http_stack.cpp */; }; 11 3C0E1B8D1B0F5ADF003ADEF7 /* srs_http_stack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C0E1B8B1B0F5ADF003ADEF7 /* srs_http_stack.cpp */; };
11 3C1231F61AAE652D00CE8F6C /* srs_core_autofree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1231F01AAE652C00CE8F6C /* srs_core_autofree.cpp */; }; 12 3C1231F61AAE652D00CE8F6C /* srs_core_autofree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1231F01AAE652C00CE8F6C /* srs_core_autofree.cpp */; };
12 3C1231F71AAE652D00CE8F6C /* srs_core_performance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1231F21AAE652C00CE8F6C /* srs_core_performance.cpp */; }; 13 3C1231F71AAE652D00CE8F6C /* srs_core_performance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1231F21AAE652C00CE8F6C /* srs_core_performance.cpp */; };
@@ -51,7 +52,6 @@ @@ -51,7 +52,6 @@
51 3C1232A21AAE81D900CE8F6C /* srs_app_http_hooks.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232681AAE81D900CE8F6C /* srs_app_http_hooks.cpp */; }; 52 3C1232A21AAE81D900CE8F6C /* srs_app_http_hooks.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232681AAE81D900CE8F6C /* srs_app_http_hooks.cpp */; };
52 3C1232A41AAE81D900CE8F6C /* srs_app_ingest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12326C1AAE81D900CE8F6C /* srs_app_ingest.cpp */; }; 53 3C1232A41AAE81D900CE8F6C /* srs_app_ingest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12326C1AAE81D900CE8F6C /* srs_app_ingest.cpp */; };
53 3C1232A51AAE81D900CE8F6C /* srs_app_json.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12326E1AAE81D900CE8F6C /* srs_app_json.cpp */; }; 54 3C1232A51AAE81D900CE8F6C /* srs_app_json.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C12326E1AAE81D900CE8F6C /* srs_app_json.cpp */; };
54 - 3C1232A61AAE81D900CE8F6C /* srs_app_kbps.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232701AAE81D900CE8F6C /* srs_app_kbps.cpp */; };  
55 3C1232A71AAE81D900CE8F6C /* srs_app_listener.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232721AAE81D900CE8F6C /* srs_app_listener.cpp */; }; 55 3C1232A71AAE81D900CE8F6C /* srs_app_listener.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232721AAE81D900CE8F6C /* srs_app_listener.cpp */; };
56 3C1232A81AAE81D900CE8F6C /* srs_app_log.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232741AAE81D900CE8F6C /* srs_app_log.cpp */; }; 56 3C1232A81AAE81D900CE8F6C /* srs_app_log.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232741AAE81D900CE8F6C /* srs_app_log.cpp */; };
57 3C1232A91AAE81D900CE8F6C /* srs_app_mpegts_udp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232761AAE81D900CE8F6C /* srs_app_mpegts_udp.cpp */; }; 57 3C1232A91AAE81D900CE8F6C /* srs_app_mpegts_udp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1232761AAE81D900CE8F6C /* srs_app_mpegts_udp.cpp */; };
@@ -122,6 +122,8 @@ @@ -122,6 +122,8 @@
122 /* End PBXCopyFilesBuildPhase section */ 122 /* End PBXCopyFilesBuildPhase section */
123 123
124 /* Begin PBXFileReference section */ 124 /* Begin PBXFileReference section */
  125 + 3C068D681B10149F00AA722C /* srs_protocol_kbps.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_protocol_kbps.cpp; path = ../../../src/protocol/srs_protocol_kbps.cpp; sourceTree = "<group>"; };
  126 + 3C068D691B10149F00AA722C /* srs_protocol_kbps.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_protocol_kbps.hpp; path = ../../../src/protocol/srs_protocol_kbps.hpp; sourceTree = "<group>"; };
125 3C0E1B8B1B0F5ADF003ADEF7 /* srs_http_stack.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_http_stack.cpp; path = ../../../src/protocol/srs_http_stack.cpp; sourceTree = "<group>"; }; 127 3C0E1B8B1B0F5ADF003ADEF7 /* srs_http_stack.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_http_stack.cpp; path = ../../../src/protocol/srs_http_stack.cpp; sourceTree = "<group>"; };
126 3C0E1B8C1B0F5ADF003ADEF7 /* srs_http_stack.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_http_stack.hpp; path = ../../../src/protocol/srs_http_stack.hpp; sourceTree = "<group>"; }; 128 3C0E1B8C1B0F5ADF003ADEF7 /* srs_http_stack.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_http_stack.hpp; path = ../../../src/protocol/srs_http_stack.hpp; sourceTree = "<group>"; };
127 3C1231E51AAE64A400CE8F6C /* srs_xcode */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = srs_xcode; sourceTree = BUILT_PRODUCTS_DIR; }; 129 3C1231E51AAE64A400CE8F6C /* srs_xcode */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = srs_xcode; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -211,8 +213,6 @@ @@ -211,8 +213,6 @@
211 3C12326D1AAE81D900CE8F6C /* srs_app_ingest.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_app_ingest.hpp; path = ../../../src/app/srs_app_ingest.hpp; sourceTree = "<group>"; }; 213 3C12326D1AAE81D900CE8F6C /* srs_app_ingest.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_app_ingest.hpp; path = ../../../src/app/srs_app_ingest.hpp; sourceTree = "<group>"; };
212 3C12326E1AAE81D900CE8F6C /* srs_app_json.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_app_json.cpp; path = ../../../src/app/srs_app_json.cpp; sourceTree = "<group>"; }; 214 3C12326E1AAE81D900CE8F6C /* srs_app_json.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_app_json.cpp; path = ../../../src/app/srs_app_json.cpp; sourceTree = "<group>"; };
213 3C12326F1AAE81D900CE8F6C /* srs_app_json.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_app_json.hpp; path = ../../../src/app/srs_app_json.hpp; sourceTree = "<group>"; }; 215 3C12326F1AAE81D900CE8F6C /* srs_app_json.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_app_json.hpp; path = ../../../src/app/srs_app_json.hpp; sourceTree = "<group>"; };
214 - 3C1232701AAE81D900CE8F6C /* srs_app_kbps.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_app_kbps.cpp; path = ../../../src/app/srs_app_kbps.cpp; sourceTree = "<group>"; };  
215 - 3C1232711AAE81D900CE8F6C /* srs_app_kbps.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_app_kbps.hpp; path = ../../../src/app/srs_app_kbps.hpp; sourceTree = "<group>"; };  
216 3C1232721AAE81D900CE8F6C /* srs_app_listener.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_app_listener.cpp; path = ../../../src/app/srs_app_listener.cpp; sourceTree = "<group>"; }; 216 3C1232721AAE81D900CE8F6C /* srs_app_listener.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_app_listener.cpp; path = ../../../src/app/srs_app_listener.cpp; sourceTree = "<group>"; };
217 3C1232731AAE81D900CE8F6C /* srs_app_listener.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_app_listener.hpp; path = ../../../src/app/srs_app_listener.hpp; sourceTree = "<group>"; }; 217 3C1232731AAE81D900CE8F6C /* srs_app_listener.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_app_listener.hpp; path = ../../../src/app/srs_app_listener.hpp; sourceTree = "<group>"; };
218 3C1232741AAE81D900CE8F6C /* srs_app_log.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_app_log.cpp; path = ../../../src/app/srs_app_log.cpp; sourceTree = "<group>"; }; 218 3C1232741AAE81D900CE8F6C /* srs_app_log.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_app_log.cpp; path = ../../../src/app/srs_app_log.cpp; sourceTree = "<group>"; };
@@ -489,6 +489,8 @@ @@ -489,6 +489,8 @@
489 children = ( 489 children = (
490 3C0E1B8B1B0F5ADF003ADEF7 /* srs_http_stack.cpp */, 490 3C0E1B8B1B0F5ADF003ADEF7 /* srs_http_stack.cpp */,
491 3C0E1B8C1B0F5ADF003ADEF7 /* srs_http_stack.hpp */, 491 3C0E1B8C1B0F5ADF003ADEF7 /* srs_http_stack.hpp */,
  492 + 3C068D681B10149F00AA722C /* srs_protocol_kbps.cpp */,
  493 + 3C068D691B10149F00AA722C /* srs_protocol_kbps.hpp */,
492 3C12322D1AAE81A400CE8F6C /* srs_raw_avc.cpp */, 494 3C12322D1AAE81A400CE8F6C /* srs_raw_avc.cpp */,
493 3C12322E1AAE81A400CE8F6C /* srs_raw_avc.hpp */, 495 3C12322E1AAE81A400CE8F6C /* srs_raw_avc.hpp */,
494 3C12322F1AAE81A400CE8F6C /* srs_rtmp_amf0.cpp */, 496 3C12322F1AAE81A400CE8F6C /* srs_rtmp_amf0.cpp */,
@@ -556,8 +558,6 @@ @@ -556,8 +558,6 @@
556 3C12326D1AAE81D900CE8F6C /* srs_app_ingest.hpp */, 558 3C12326D1AAE81D900CE8F6C /* srs_app_ingest.hpp */,
557 3C12326E1AAE81D900CE8F6C /* srs_app_json.cpp */, 559 3C12326E1AAE81D900CE8F6C /* srs_app_json.cpp */,
558 3C12326F1AAE81D900CE8F6C /* srs_app_json.hpp */, 560 3C12326F1AAE81D900CE8F6C /* srs_app_json.hpp */,
559 - 3C1232701AAE81D900CE8F6C /* srs_app_kbps.cpp */,  
560 - 3C1232711AAE81D900CE8F6C /* srs_app_kbps.hpp */,  
561 3C1232721AAE81D900CE8F6C /* srs_app_listener.cpp */, 561 3C1232721AAE81D900CE8F6C /* srs_app_listener.cpp */,
562 3C1232731AAE81D900CE8F6C /* srs_app_listener.hpp */, 562 3C1232731AAE81D900CE8F6C /* srs_app_listener.hpp */,
563 3C1232741AAE81D900CE8F6C /* srs_app_log.cpp */, 563 3C1232741AAE81D900CE8F6C /* srs_app_log.cpp */,
@@ -931,12 +931,12 @@ @@ -931,12 +931,12 @@
931 3C1232211AAE814D00CE8F6C /* srs_kernel_buffer.cpp in Sources */, 931 3C1232211AAE814D00CE8F6C /* srs_kernel_buffer.cpp in Sources */,
932 3C1232471AAE81A400CE8F6C /* srs_rtmp_sdk.cpp in Sources */, 932 3C1232471AAE81A400CE8F6C /* srs_rtmp_sdk.cpp in Sources */,
933 3C36DB5B1ABD1CB90066CCAF /* srs_lib_bandwidth.cpp in Sources */, 933 3C36DB5B1ABD1CB90066CCAF /* srs_lib_bandwidth.cpp in Sources */,
934 - 3C1232A61AAE81D900CE8F6C /* srs_app_kbps.cpp in Sources */,  
935 3C12329D1AAE81D900CE8F6C /* srs_app_heartbeat.cpp in Sources */, 934 3C12329D1AAE81D900CE8F6C /* srs_app_heartbeat.cpp in Sources */,
936 3C1232231AAE814D00CE8F6C /* srs_kernel_consts.cpp in Sources */, 935 3C1232231AAE814D00CE8F6C /* srs_kernel_consts.cpp in Sources */,
937 3C1232AF1AAE81D900CE8F6C /* srs_app_rtsp.cpp in Sources */, 936 3C1232AF1AAE81D900CE8F6C /* srs_app_rtsp.cpp in Sources */,
938 3CC52DDD1ACE4023006FEB01 /* srs_utest_reload.cpp in Sources */, 937 3CC52DDD1ACE4023006FEB01 /* srs_utest_reload.cpp in Sources */,
939 3C689FA11AB6AAC800C9CEEE /* sync.c in Sources */, 938 3C689FA11AB6AAC800C9CEEE /* sync.c in Sources */,
  939 + 3C068D6A1B10149F00AA722C /* srs_protocol_kbps.cpp in Sources */,
940 3C12329A1AAE81D900CE8F6C /* srs_app_encoder.cpp in Sources */, 940 3C12329A1AAE81D900CE8F6C /* srs_app_encoder.cpp in Sources */,
941 ); 941 );
942 runOnlyForDeploymentPostprocessing = 0; 942 runOnlyForDeploymentPostprocessing = 0;
@@ -35,7 +35,10 @@ using namespace std; @@ -35,7 +35,10 @@ using namespace std;
35 #include <srs_core_autofree.hpp> 35 #include <srs_core_autofree.hpp>
36 #include <srs_kernel_utility.hpp> 36 #include <srs_kernel_utility.hpp>
37 #include <srs_app_utility.hpp> 37 #include <srs_app_utility.hpp>
38 -#include <srs_app_kbps.hpp> 38 +#include <srs_protocol_kbps.hpp>
  39 +#include <srs_app_st.hpp>
  40 +
  41 +#define _SRS_BANDWIDTH_LIMIT_INTERVAL_MS 100
39 42
40 // default sample duration, in ms 43 // default sample duration, in ms
41 #define _SRS_BANDWIDTH_SAMPLE_DURATION_MS 3000 44 #define _SRS_BANDWIDTH_SAMPLE_DURATION_MS 3000
@@ -475,3 +478,40 @@ int SrsBandwidth::finial(SrsBandwidthSample& play_sample, SrsBandwidthSample& pu @@ -475,3 +478,40 @@ int SrsBandwidth::finial(SrsBandwidthSample& play_sample, SrsBandwidthSample& pu
475 return ret; 478 return ret;
476 } 479 }
477 480
  481 +SrsKbpsLimit::SrsKbpsLimit(SrsKbps* kbps, int limit_kbps)
  482 +{
  483 + _kbps = kbps;
  484 + _limit_kbps = limit_kbps;
  485 +}
  486 +
  487 +SrsKbpsLimit::~SrsKbpsLimit()
  488 +{
  489 +}
  490 +
  491 +int SrsKbpsLimit::limit_kbps()
  492 +{
  493 + return _limit_kbps;
  494 +}
  495 +
  496 +void SrsKbpsLimit::recv_limit()
  497 +{
  498 + _kbps->sample();
  499 +
  500 + while (_kbps->get_recv_kbps() > _limit_kbps) {
  501 + _kbps->sample();
  502 +
  503 + st_usleep(_SRS_BANDWIDTH_LIMIT_INTERVAL_MS * 1000);
  504 + }
  505 +}
  506 +
  507 +void SrsKbpsLimit::send_limit()
  508 +{
  509 + _kbps->sample();
  510 +
  511 + while (_kbps->get_send_kbps() > _limit_kbps) {
  512 + _kbps->sample();
  513 +
  514 + st_usleep(_SRS_BANDWIDTH_LIMIT_INTERVAL_MS * 1000);
  515 + }
  516 +}
  517 +
@@ -34,6 +34,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. @@ -34,6 +34,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
34 34
35 #include <srs_app_st.hpp> 35 #include <srs_app_st.hpp>
36 36
  37 +class SrsKbps;
37 class SrsRequest; 38 class SrsRequest;
38 class SrsRtmpServer; 39 class SrsRtmpServer;
39 class SrsKbpsLimit; 40 class SrsKbpsLimit;
@@ -199,4 +200,30 @@ private: @@ -199,4 +200,30 @@ private:
199 virtual int finial(SrsBandwidthSample& play_sample, SrsBandwidthSample& publish_sample, int64_t start_time, int64_t& end_time); 200 virtual int finial(SrsBandwidthSample& play_sample, SrsBandwidthSample& publish_sample, int64_t start_time, int64_t& end_time);
200 }; 201 };
201 202
  203 +/**
  204 + * the kbps limit, if exceed the kbps, slow down.
  205 + */
  206 +class SrsKbpsLimit
  207 +{
  208 +private:
  209 + int _limit_kbps;
  210 + SrsKbps* _kbps;
  211 +public:
  212 + SrsKbpsLimit(SrsKbps* kbps, int limit_kbps);
  213 + virtual ~SrsKbpsLimit();
  214 +public:
  215 + /**
  216 + * get the system limit kbps.
  217 + */
  218 + virtual int limit_kbps();
  219 + /**
  220 + * limit the recv bandwidth.
  221 + */
  222 + virtual void recv_limit();
  223 + /**
  224 + * limit the send bandwidth.
  225 + */
  226 + virtual void send_limit();
  227 +};
  228 +
202 #endif 229 #endif
@@ -34,7 +34,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. @@ -34,7 +34,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
34 34
35 #include <srs_app_st.hpp> 35 #include <srs_app_st.hpp>
36 #include <srs_app_thread.hpp> 36 #include <srs_app_thread.hpp>
37 -#include <srs_app_kbps.hpp> 37 +#include <srs_protocol_kbps.hpp>
38 38
39 class SrsConnection; 39 class SrsConnection;
40 40
@@ -39,7 +39,7 @@ using namespace std; @@ -39,7 +39,7 @@ using namespace std;
39 #include <srs_app_source.hpp> 39 #include <srs_app_source.hpp>
40 #include <srs_app_pithy_print.hpp> 40 #include <srs_app_pithy_print.hpp>
41 #include <srs_core_autofree.hpp> 41 #include <srs_core_autofree.hpp>
42 -#include <srs_app_kbps.hpp> 42 +#include <srs_protocol_kbps.hpp>
43 #include <srs_rtmp_msg_array.hpp> 43 #include <srs_rtmp_msg_array.hpp>
44 #include <srs_app_utility.hpp> 44 #include <srs_app_utility.hpp>
45 #include <srs_rtmp_amf0.hpp> 45 #include <srs_rtmp_amf0.hpp>
@@ -38,7 +38,7 @@ using namespace std; @@ -38,7 +38,7 @@ using namespace std;
38 #include <srs_app_pithy_print.hpp> 38 #include <srs_app_pithy_print.hpp>
39 #include <srs_rtmp_sdk.hpp> 39 #include <srs_rtmp_sdk.hpp>
40 #include <srs_rtmp_utility.hpp> 40 #include <srs_rtmp_utility.hpp>
41 -#include <srs_app_kbps.hpp> 41 +#include <srs_protocol_kbps.hpp>
42 #include <srs_rtmp_msg_array.hpp> 42 #include <srs_rtmp_msg_array.hpp>
43 #include <srs_app_utility.hpp> 43 #include <srs_app_utility.hpp>
44 #include <srs_rtmp_amf0.hpp> 44 #include <srs_rtmp_amf0.hpp>
@@ -29,7 +29,7 @@ using namespace std; @@ -29,7 +29,7 @@ using namespace std;
29 29
30 #include <srs_rtmp_sdk.hpp> 30 #include <srs_rtmp_sdk.hpp>
31 #include <srs_app_json.hpp> 31 #include <srs_app_json.hpp>
32 -#include <srs_app_kbps.hpp> 32 +#include <srs_protocol_kbps.hpp>
33 #include <srs_app_conn.hpp> 33 #include <srs_app_conn.hpp>
34 #include <srs_app_config.hpp> 34 #include <srs_app_config.hpp>
35 #include <srs_kernel_utility.hpp> 35 #include <srs_kernel_utility.hpp>
@@ -39,7 +39,7 @@ using namespace std; @@ -39,7 +39,7 @@ using namespace std;
39 #include <srs_app_config.hpp> 39 #include <srs_app_config.hpp>
40 #include <srs_kernel_utility.hpp> 40 #include <srs_kernel_utility.hpp>
41 #include <srs_kernel_error.hpp> 41 #include <srs_kernel_error.hpp>
42 -#include <srs_app_kbps.hpp> 42 +#include <srs_protocol_kbps.hpp>
43 #include <srs_app_json.hpp> 43 #include <srs_app_json.hpp>
44 #include <srs_kernel_stream.hpp> 44 #include <srs_kernel_stream.hpp>
45 45
@@ -21,12 +21,9 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN @@ -21,12 +21,9 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 */ 22 */
23 23
24 -#include <srs_app_kbps.hpp> 24 +#include <srs_protocol_kbps.hpp>
25 25
26 #include <srs_kernel_utility.hpp> 26 #include <srs_kernel_utility.hpp>
27 -#include <srs_app_st.hpp>  
28 -  
29 -#define _SRS_BANDWIDTH_LIMIT_INTERVAL_MS 100  
30 27
31 SrsKbpsSample::SrsKbpsSample() 28 SrsKbpsSample::SrsKbpsSample()
32 { 29 {
@@ -253,41 +250,3 @@ void SrsKbps::sample() @@ -253,41 +250,3 @@ void SrsKbps::sample()
253 os.sample(); 250 os.sample();
254 } 251 }
255 252
256 -SrsKbpsLimit::SrsKbpsLimit(SrsKbps* kbps, int limit_kbps)  
257 -{  
258 - _kbps = kbps;  
259 - _limit_kbps = limit_kbps;  
260 -}  
261 -  
262 -SrsKbpsLimit::~SrsKbpsLimit()  
263 -{  
264 -}  
265 -  
266 -int SrsKbpsLimit::limit_kbps()  
267 -{  
268 - return _limit_kbps;  
269 -}  
270 -  
271 -void SrsKbpsLimit::recv_limit()  
272 -{  
273 - _kbps->sample();  
274 -  
275 - while (_kbps->get_recv_kbps() > _limit_kbps) {  
276 - _kbps->sample();  
277 -  
278 - st_usleep(_SRS_BANDWIDTH_LIMIT_INTERVAL_MS * 1000);  
279 - }  
280 -}  
281 -  
282 -void SrsKbpsLimit::send_limit()  
283 -{  
284 - _kbps->sample();  
285 -  
286 - while (_kbps->get_send_kbps() > _limit_kbps) {  
287 - _kbps->sample();  
288 -  
289 - st_usleep(_SRS_BANDWIDTH_LIMIT_INTERVAL_MS * 1000);  
290 - }  
291 -}  
292 -  
293 -  
@@ -21,11 +21,11 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN @@ -21,11 +21,11 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 */ 22 */
23 23
24 -#ifndef SRS_APP_KBPS_HPP  
25 -#define SRS_APP_KBPS_HPP 24 +#ifndef SRS_PROTOCOL_KBPS_HPP
  25 +#define SRS_PROTOCOL_KBPS_HPP
26 26
27 /* 27 /*
28 -#include <srs_app_kbps.hpp> 28 +#include <srs_protocol_kbps.hpp>
29 */ 29 */
30 30
31 #include <srs_core.hpp> 31 #include <srs_core.hpp>
@@ -234,30 +234,4 @@ public: @@ -234,30 +234,4 @@ public:
234 virtual void sample(); 234 virtual void sample();
235 }; 235 };
236 236
237 -/**  
238 -* the kbps limit, if exceed the kbps, slow down.  
239 -*/  
240 -class SrsKbpsLimit  
241 -{  
242 -private:  
243 - int _limit_kbps;  
244 - SrsKbps* _kbps;  
245 -public:  
246 - SrsKbpsLimit(SrsKbps* kbps, int limit_kbps);  
247 - virtual ~SrsKbpsLimit();  
248 -public:  
249 - /**  
250 - * get the system limit kbps.  
251 - */  
252 - virtual int limit_kbps();  
253 - /**  
254 - * limit the recv bandwidth.  
255 - */  
256 - virtual void recv_limit();  
257 - /**  
258 - * limit the send bandwidth.  
259 - */  
260 - virtual void send_limit();  
261 -};  
262 -  
263 #endif 237 #endif