Toggle navigation
Toggle navigation
此项目
正在载入...
Sign in
胡斌
/
srs
转到一个项目
Toggle navigation
项目
群组
代码片段
帮助
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
winlin
2014-12-03 23:05:42 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
5791ed59fd2eba9f6a959e0357c466c667eda962
5791ed59
1 parent
4785f882
for bug #241, refine the socket max buffer.
隐藏空白字符变更
内嵌
并排对比
正在显示
2 个修改的文件
包含
16 行增加
和
7 行删除
trunk/src/app/srs_app_recv_thread.cpp
trunk/src/rtmp/srs_protocol_buffer.cpp
trunk/src/app/srs_app_recv_thread.cpp
查看文件 @
5791ed5
...
...
@@ -42,6 +42,9 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define SRS_MR_SMALL_BYTES 64
// the percent of buffer to set as small bytes
#define SRS_MR_SMALL_PERCENT 100
// set the socket buffer to specified KB.
// the underlayer api will set to 2*SRS_MR_SOCKET_BUFFER KB.
#define SRS_MR_SOCKET_BUFFER 32
ISrsMessageHandler
::
ISrsMessageHandler
()
{
...
...
@@ -296,14 +299,16 @@ void SrsPublishRecvThread::on_thread_start()
// we donot set the auto response to false,
// for the main thread never send message.
// 128KB recv buffer.
int
nb_rbuf
=
128
*
1024
;
// socket recv buffer.
int
nb_rbuf
=
SRS_MR_SOCKET_BUFFER
*
1024
;
socklen_t
sock_buf_size
=
sizeof
(
int
);
if
(
setsockopt
(
mr_fd
,
SOL_SOCKET
,
SO_RCVBUF
,
&
nb_rbuf
,
sock_buf_size
)
<
0
)
{
srs_warn
(
"set sock SO_RCVBUF=%d failed."
,
nb_rbuf
);
}
getsockopt
(
mr_fd
,
SOL_SOCKET
,
SO_RCVBUF
,
&
nb_rbuf
,
&
sock_buf_size
);
srs_trace
(
"set socket buffer to %d, actual %d KB"
,
SRS_MR_SOCKET_BUFFER
,
nb_rbuf
/
1024
);
// enable the merge read
// @see https://github.com/winlinvip/simple-rtmp-server/issues/241
rtmp
->
set_merge_read
(
true
,
nb_rbuf
,
this
);
...
...
trunk/src/rtmp/srs_protocol_buffer.cpp
查看文件 @
5791ed5
...
...
@@ -33,7 +33,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
// 32KB=32768
// 64KB=65536
// @see https://github.com/winlinvip/simple-rtmp-server/issues/241
#define SOCKET_READ_SIZE
409
6
#define SOCKET_READ_SIZE
6553
6
// the max buffer for user space socket buffer.
#define SOCKET_MAX_BUF 65536
...
...
@@ -136,6 +136,10 @@ void SrsBuffer::set_merge_read(bool v, int max_buffer, IMergeReadHandler* handle
if
(
v
&&
buffer_size
!=
nb_buffer
)
{
reset_buffer
(
buffer_size
);
}
if
(
_handler
)
{
_handler
->
on_buffer_change
(
nb_buffer
);
}
}
void
SrsBuffer
::
on_chunk_size
(
int32_t
chunk_size
)
...
...
@@ -145,6 +149,10 @@ void SrsBuffer::on_chunk_size(int32_t chunk_size)
}
reset_buffer
(
chunk_size
);
if
(
_handler
)
{
_handler
->
on_buffer_change
(
nb_buffer
);
}
}
int
SrsBuffer
::
buffer_size
()
...
...
@@ -158,8 +166,4 @@ void SrsBuffer::reset_buffer(int size)
nb_buffer
=
size
;
buffer
=
new
char
[
nb_buffer
];
if
(
_handler
)
{
_handler
->
on_buffer_change
(
nb_buffer
);
}
}
...
...
请
注册
或
登录
后发表评论