2021-05-31 05:42:20 +00:00
|
|
|
//
|
2022-06-20 11:22:25 +00:00
|
|
|
// Copyright (c) 2013-2022 The SRS Authors
|
2021-05-31 05:42:20 +00:00
|
|
|
//
|
2022-01-13 10:40:17 +00:00
|
|
|
// SPDX-License-Identifier: MIT or MulanPSL-2.0
|
2021-05-31 05:42:20 +00:00
|
|
|
//
|
2015-01-22 10:13:33 +00:00
|
|
|
|
2015-09-22 00:52:00 +00:00
|
|
|
#include <srs_kernel_stream.hpp>
|
2015-01-22 10:13:33 +00:00
|
|
|
|
|
|
|
#include <srs_kernel_error.hpp>
|
|
|
|
#include <srs_kernel_log.hpp>
|
|
|
|
#include <srs_kernel_utility.hpp>
|
|
|
|
#include <srs_core_performance.hpp>
|
|
|
|
|
2015-09-22 00:59:52 +00:00
|
|
|
SrsSimpleStream::SrsSimpleStream()
|
2015-01-22 10:13:33 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2015-09-22 00:59:52 +00:00
|
|
|
SrsSimpleStream::~SrsSimpleStream()
|
2015-01-22 10:13:33 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2015-09-22 00:59:52 +00:00
|
|
|
int SrsSimpleStream::length()
|
2015-01-22 10:13:33 +00:00
|
|
|
{
|
|
|
|
int len = (int)data.size();
|
|
|
|
srs_assert(len >= 0);
|
|
|
|
return len;
|
|
|
|
}
|
|
|
|
|
2015-09-22 00:59:52 +00:00
|
|
|
char* SrsSimpleStream::bytes()
|
2015-01-22 10:13:33 +00:00
|
|
|
{
|
|
|
|
return (length() == 0)? NULL : &data.at(0);
|
|
|
|
}
|
|
|
|
|
2015-09-22 00:59:52 +00:00
|
|
|
void SrsSimpleStream::erase(int size)
|
2015-01-22 10:13:33 +00:00
|
|
|
{
|
|
|
|
if (size <= 0) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (size >= length()) {
|
|
|
|
data.clear();
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
data.erase(data.begin(), data.begin() + size);
|
|
|
|
}
|
|
|
|
|
2015-09-22 00:59:52 +00:00
|
|
|
void SrsSimpleStream::append(const char* bytes, int size)
|
2015-01-22 10:13:33 +00:00
|
|
|
{
|
2019-12-12 07:11:31 +00:00
|
|
|
if (size > 0) {
|
|
|
|
data.insert(data.end(), bytes, bytes + size);
|
|
|
|
}
|
2015-01-22 10:13:33 +00:00
|
|
|
}
|
2019-11-22 04:06:15 +00:00
|
|
|
|
|
|
|
void SrsSimpleStream::append(SrsSimpleStream* src)
|
|
|
|
{
|
|
|
|
append(src->bytes(), src->length());
|
|
|
|
}
|