mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
for bug #241, use heap to alloc the socket buffer.
This commit is contained in:
parent
6cbf732e1a
commit
2fdf994350
2 changed files with 9 additions and 2 deletions
|
@ -26,6 +26,12 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
#include <srs_kernel_error.hpp>
|
#include <srs_kernel_error.hpp>
|
||||||
#include <srs_kernel_log.hpp>
|
#include <srs_kernel_log.hpp>
|
||||||
|
|
||||||
|
// 4KB=4096
|
||||||
|
// 8KB=8192
|
||||||
|
// 16KB=16384
|
||||||
|
// 32KB=32768
|
||||||
|
// 64KB=65536
|
||||||
|
// @see https://github.com/winlinvip/simple-rtmp-server/issues/241
|
||||||
#define SOCKET_READ_SIZE 4096
|
#define SOCKET_READ_SIZE 4096
|
||||||
|
|
||||||
ISrsBufferReader::ISrsBufferReader()
|
ISrsBufferReader::ISrsBufferReader()
|
||||||
|
@ -38,10 +44,12 @@ ISrsBufferReader::~ISrsBufferReader()
|
||||||
|
|
||||||
SrsBuffer::SrsBuffer()
|
SrsBuffer::SrsBuffer()
|
||||||
{
|
{
|
||||||
|
buffer = new char[SOCKET_READ_SIZE];
|
||||||
}
|
}
|
||||||
|
|
||||||
SrsBuffer::~SrsBuffer()
|
SrsBuffer::~SrsBuffer()
|
||||||
{
|
{
|
||||||
|
srs_freep(buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
int SrsBuffer::length()
|
int SrsBuffer::length()
|
||||||
|
@ -88,8 +96,6 @@ int SrsBuffer::grow(ISrsBufferReader* reader, int required_size)
|
||||||
}
|
}
|
||||||
|
|
||||||
while (length() < required_size) {
|
while (length() < required_size) {
|
||||||
char buffer[SOCKET_READ_SIZE];
|
|
||||||
|
|
||||||
ssize_t nread;
|
ssize_t nread;
|
||||||
if ((ret = reader->read(buffer, SOCKET_READ_SIZE, &nread)) != ERROR_SUCCESS) {
|
if ((ret = reader->read(buffer, SOCKET_READ_SIZE, &nread)) != ERROR_SUCCESS) {
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -53,6 +53,7 @@ class SrsBuffer
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
std::vector<char> data;
|
std::vector<char> data;
|
||||||
|
char* buffer;
|
||||||
public:
|
public:
|
||||||
SrsBuffer();
|
SrsBuffer();
|
||||||
virtual ~SrsBuffer();
|
virtual ~SrsBuffer();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue