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:
parent
2731afc161
commit
7bd704e695
3 changed files with 49 additions and 3 deletions
|
@ -68,3 +68,8 @@ void SrsSimpleStream::append(const char* bytes, int size)
|
||||||
|
|
||||||
data.insert(data.end(), bytes, bytes + size);
|
data.insert(data.end(), bytes, bytes + size);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SrsSimpleStream::append(SrsSimpleStream* src)
|
||||||
|
{
|
||||||
|
append(src->bytes(), src->length());
|
||||||
|
}
|
||||||
|
|
|
@ -63,6 +63,7 @@ public:
|
||||||
* @remark assert size is positive.
|
* @remark assert size is positive.
|
||||||
*/
|
*/
|
||||||
virtual void append(const char* bytes, int size);
|
virtual void append(const char* bytes, int size);
|
||||||
|
virtual void append(SrsSimpleStream* src);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -418,7 +418,7 @@ VOID TEST(ProtoStackTest, OnDecodeMessages)
|
||||||
{
|
{
|
||||||
srs_error_t err;
|
srs_error_t err;
|
||||||
|
|
||||||
vector<char> bytes;
|
SrsSimpleStream bytes;
|
||||||
|
|
||||||
if (true) {
|
if (true) {
|
||||||
MockBufferIO io;
|
MockBufferIO io;
|
||||||
|
@ -428,7 +428,7 @@ VOID TEST(ProtoStackTest, OnDecodeMessages)
|
||||||
pkt->chunk_size = 0;
|
pkt->chunk_size = 0;
|
||||||
|
|
||||||
HELPER_EXPECT_SUCCESS(p.send_and_free_packet(pkt, 1));
|
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) {
|
if (true) {
|
||||||
|
@ -439,7 +439,7 @@ VOID TEST(ProtoStackTest, OnDecodeMessages)
|
||||||
HELPER_EXPECT_SUCCESS(p.set_in_window_ack_size(1));
|
HELPER_EXPECT_SUCCESS(p.set_in_window_ack_size(1));
|
||||||
|
|
||||||
SrsCommonMessage* msg;
|
SrsCommonMessage* msg;
|
||||||
io.in_buffer.append(bytes.data(), bytes.size());
|
io.in_buffer.append(&bytes);
|
||||||
HELPER_EXPECT_FAILED(p.recv_message(&msg));
|
HELPER_EXPECT_FAILED(p.recv_message(&msg));
|
||||||
srs_freep(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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue