正在显示
2 个修改的文件
包含
9 行增加
和
3 行删除
@@ -35,7 +35,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | @@ -35,7 +35,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
35 | // use the bitrate in kbps to calc the max sleep time. | 35 | // use the bitrate in kbps to calc the max sleep time. |
36 | #define SRS_MR_MAX_BITRATE_KBPS 10000 | 36 | #define SRS_MR_MAX_BITRATE_KBPS 10000 |
37 | #define SRS_MR_AVERAGE_BITRATE_KBPS 1000 | 37 | #define SRS_MR_AVERAGE_BITRATE_KBPS 1000 |
38 | -#define SRS_MR_MIN_BITRATE_KBPS 64 | 38 | +#define SRS_MR_MIN_BITRATE_KBPS 32 |
39 | // the max sleep time in ms | 39 | // the max sleep time in ms |
40 | #define SRS_MR_MAX_SLEEP_MS 3000 | 40 | #define SRS_MR_MAX_SLEEP_MS 3000 |
41 | // the max small bytes to group | 41 | // the max small bytes to group |
@@ -25,6 +25,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | @@ -25,6 +25,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
25 | 25 | ||
26 | #include <srs_kernel_error.hpp> | 26 | #include <srs_kernel_error.hpp> |
27 | #include <srs_kernel_log.hpp> | 27 | #include <srs_kernel_log.hpp> |
28 | +#include <srs_kernel_utility.hpp> | ||
28 | 29 | ||
29 | // 4KB=4096 | 30 | // 4KB=4096 |
30 | // 8KB=8192 | 31 | // 8KB=8192 |
@@ -33,6 +34,8 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | @@ -33,6 +34,8 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
33 | // 64KB=65536 | 34 | // 64KB=65536 |
34 | // @see https://github.com/winlinvip/simple-rtmp-server/issues/241 | 35 | // @see https://github.com/winlinvip/simple-rtmp-server/issues/241 |
35 | #define SOCKET_READ_SIZE 4096 | 36 | #define SOCKET_READ_SIZE 4096 |
37 | +// the max buffer for user space socket buffer. | ||
38 | +#define SOCKET_MAX_BUF 65536 | ||
36 | 39 | ||
37 | IMergeReadHandler::IMergeReadHandler() | 40 | IMergeReadHandler::IMergeReadHandler() |
38 | { | 41 | { |
@@ -127,8 +130,11 @@ void SrsBuffer::set_merge_read(bool v, int max_buffer, IMergeReadHandler* handle | @@ -127,8 +130,11 @@ void SrsBuffer::set_merge_read(bool v, int max_buffer, IMergeReadHandler* handle | ||
127 | merged_read = v; | 130 | merged_read = v; |
128 | _handler = handler; | 131 | _handler = handler; |
129 | 132 | ||
130 | - if (v && max_buffer != nb_buffer) { | ||
131 | - reset_buffer(max_buffer); | 133 | + // limit the max buffer. |
134 | + int buffer_size = srs_min(max_buffer, SOCKET_MAX_BUF); | ||
135 | + | ||
136 | + if (v && buffer_size != nb_buffer) { | ||
137 | + reset_buffer(buffer_size); | ||
132 | } | 138 | } |
133 | } | 139 | } |
134 | 140 |
-
请 注册 或 登录 后发表评论