mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
update performance to 4k, when mr_sleep to 2000ms. 2.0.52
This commit is contained in:
parent
f1192a8302
commit
72fa33d9fb
2 changed files with 12 additions and 5 deletions
|
@ -165,17 +165,23 @@ int SrsFastBuffer::grow(ISrsBufferReader* reader, int required_size)
|
|||
}
|
||||
|
||||
// when read payload and need to grow, reset buffer.
|
||||
if (end - p < required_size && required_size > SRS_RTMP_MAX_MESSAGE_HEADER) {
|
||||
// or there is no space to read.
|
||||
int max_to_read = buffer + nb_buffer - end;
|
||||
if (end - p < required_size
|
||||
&& (required_size > SRS_RTMP_MAX_MESSAGE_HEADER || max_to_read < required_size)
|
||||
) {
|
||||
int nb_cap = end - p;
|
||||
srs_verbose("move fast buffer %d bytes", nb_cap);
|
||||
buffer = (char*)memmove(buffer, p, nb_cap);
|
||||
p = buffer;
|
||||
end = p + nb_cap;
|
||||
if (nb_cap < nb_buffer) {
|
||||
buffer = (char*)memmove(buffer, p, nb_cap);
|
||||
p = buffer;
|
||||
end = p + nb_cap;
|
||||
}
|
||||
}
|
||||
|
||||
while (end - p < required_size) {
|
||||
// the max to read is the left bytes.
|
||||
size_t max_to_read = buffer + nb_buffer - end;
|
||||
max_to_read = buffer + nb_buffer - end;
|
||||
|
||||
if (max_to_read <= 0) {
|
||||
ret = ERROR_RTMP_BUFFER_OVERFLOW;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue