mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
for bug#241, simplify the buffer, donot realloc it.
This commit is contained in:
parent
a23b5b9a4b
commit
159ef3823c
2 changed files with 3 additions and 24 deletions
|
@ -90,10 +90,9 @@ SrsFastBuffer::SrsFastBuffer()
|
||||||
_handler = NULL;
|
_handler = NULL;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
p = end = buffer = NULL;
|
nb_buffer = SRS_MR_SOCKET_BUFFER;
|
||||||
nb_buffer = 0;
|
buffer = new char[nb_buffer];
|
||||||
|
p = end = buffer;
|
||||||
reset_buffer(SRS_MR_SOCKET_BUFFER);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
SrsFastBuffer::~SrsFastBuffer()
|
SrsFastBuffer::~SrsFastBuffer()
|
||||||
|
@ -193,21 +192,3 @@ void SrsFastBuffer::set_merge_read(bool v, IMergeReadHandler* handler)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void SrsFastBuffer::reset_buffer(int size)
|
|
||||||
{
|
|
||||||
// remember the cap.
|
|
||||||
int nb_cap = end - p;
|
|
||||||
|
|
||||||
// atleast to put the old data.
|
|
||||||
nb_buffer = srs_max(nb_cap, size);
|
|
||||||
|
|
||||||
// copy old data to buf.
|
|
||||||
char* buf = new char[nb_buffer];
|
|
||||||
if (nb_cap > 0) {
|
|
||||||
memcpy(buf, p, nb_cap);
|
|
||||||
}
|
|
||||||
|
|
||||||
srs_freep(buffer);
|
|
||||||
p = buffer = buf;
|
|
||||||
end = p + nb_cap;
|
|
||||||
}
|
|
||||||
|
|
|
@ -162,8 +162,6 @@ public:
|
||||||
*/
|
*/
|
||||||
virtual void set_merge_read(bool v, IMergeReadHandler* handler);
|
virtual void set_merge_read(bool v, IMergeReadHandler* handler);
|
||||||
#endif
|
#endif
|
||||||
private:
|
|
||||||
virtual void reset_buffer(int size);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue