1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-02-12 19:31:53 +00:00

Cover protocol stack RTMP. 3.0.63

This commit is contained in:
winlin 2019-11-22 12:06:15 +08:00
parent 2731afc161
commit 7bd704e695
3 changed files with 49 additions and 3 deletions

View file

@ -68,3 +68,8 @@ void SrsSimpleStream::append(const char* bytes, int size)
data.insert(data.end(), bytes, bytes + size);
}
void SrsSimpleStream::append(SrsSimpleStream* src)
{
append(src->bytes(), src->length());
}

View file

@ -63,6 +63,7 @@ public:
* @remark assert size is positive.
*/
virtual void append(const char* bytes, int size);
virtual void append(SrsSimpleStream* src);
};
#endif

View file

@ -418,7 +418,7 @@ VOID TEST(ProtoStackTest, OnDecodeMessages)
{
srs_error_t err;
vector<char> bytes;
SrsSimpleStream bytes;
if (true) {
MockBufferIO io;
@ -428,7 +428,7 @@ VOID TEST(ProtoStackTest, OnDecodeMessages)
pkt->chunk_size = 0;
HELPER_EXPECT_SUCCESS(p.send_and_free_packet(pkt, 1));
bytes.assign(io.out_buffer.bytes(), io.out_buffer.bytes() + io.out_buffer.length());
bytes.append(&io.out_buffer);
}
if (true) {
@ -439,7 +439,7 @@ VOID TEST(ProtoStackTest, OnDecodeMessages)
HELPER_EXPECT_SUCCESS(p.set_in_window_ack_size(1));
SrsCommonMessage* msg;
io.in_buffer.append(bytes.data(), bytes.size());
io.in_buffer.append(&bytes);
HELPER_EXPECT_FAILED(p.recv_message(&msg));
srs_freep(msg);
}
@ -1225,3 +1225,43 @@ VOID TEST(ProtoStackTest, RecvMessage3)
}
}
VOID TEST(ProtoStackTest, RecvMessage4)
{
srs_error_t err;
if (true) {
MockBufferIO io;
SrsProtocol p(&io);
SrsSetChunkSizePacket* pkt = new SrsSetChunkSizePacket();
pkt->chunk_size = 256;
HELPER_EXPECT_SUCCESS(p.send_and_free_packet(pkt, 0));
io.in_buffer.append(&io.out_buffer);
SrsCommonMessage* msg;
SrsAutoFree(SrsCommonMessage, msg);
HELPER_EXPECT_SUCCESS(p.recv_message(&msg));
EXPECT_EQ(256, p.out_chunk_size);
}
if (true) {
MockBufferIO io;
SrsProtocol p(&io);
SrsUserControlPacket* pkt = new SrsUserControlPacket();
pkt->event_type = SrcPCUCSetBufferLength;
pkt->extra_data = 256;
HELPER_EXPECT_SUCCESS(p.send_and_free_packet(pkt, 0));
io.in_buffer.append(&io.out_buffer);
SrsCommonMessage* msg;
SrsAutoFree(SrsCommonMessage, msg);
HELPER_EXPECT_SUCCESS(p.recv_message(&msg));
EXPECT_EQ(256, p.in_buffer_length);
}
}