1
0
Fork 0
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:
winlin 2014-12-04 15:45:25 +08:00
parent a23b5b9a4b
commit 159ef3823c
2 changed files with 3 additions and 24 deletions

View file

@ -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;
}

View file

@ -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