Cover protocol stack RTMP. 3.0.63

pull/1568/head
winlin 5 years ago
parent a726a14b37
commit 9067786bd3

@ -284,6 +284,11 @@ int SrsSharedPtrMessage::count()
bool SrsSharedPtrMessage::check(int stream_id)
{
// Ignore error when message has no payload.
if (!ptr) {
return true;
}
// we donot use the complex basic header,
// ensure the basic header is 1bytes.
if (ptr->header.perfer_cid < 2) {

@ -183,5 +183,64 @@ VOID TEST(ProtoStackTest, SendZeroMessages)
SrsProtocol p(&io);
HELPER_EXPECT_SUCCESS(p.send_and_free_message(NULL, 0));
}
if (true) {
MockBufferIO io;
SrsProtocol p(&io);
SrsSharedPtrMessage* msg = new SrsSharedPtrMessage();
HELPER_EXPECT_SUCCESS(p.send_and_free_message(msg, 1));
}
if (true) {
MockBufferIO io;
SrsProtocol p(&io);
SrsSharedPtrMessage* msgs[1024];
for (int i = 0; i < 1024; i++) {
msgs[i] = new SrsSharedPtrMessage();
}
HELPER_EXPECT_SUCCESS(p.send_and_free_messages(msgs, 1024, 0));
}
}
VOID TEST(ProtoStackTest, HugeMessages)
{
srs_error_t err;
if (true) {
MockBufferIO io;
SrsProtocol p(&io);
SrsCommonMessage pkt;
pkt.header.initialize_audio(200, 1000, 1);
pkt.create_payload(256);
pkt.size = 256;
SrsSharedPtrMessage* msg = new SrsSharedPtrMessage();
msg->create(&pkt);
HELPER_EXPECT_SUCCESS(p.send_and_free_message(msg, 1));
EXPECT_EQ(269, io.out_buffer.length());
}
if (true) {
MockBufferIO io;
SrsProtocol p(&io);
SrsCommonMessage pkt;
pkt.header.initialize_audio(200, 1000, 1);
pkt.create_payload(256);
pkt.size = 256;
SrsSharedPtrMessage* msg = new SrsSharedPtrMessage();
msg->create(&pkt);
SrsAutoFree(SrsSharedPtrMessage, msg);
SrsSharedPtrMessage* msgs[1024];
for (int i = 0; i < 1024; i++) {
msgs[i] = msg->copy();
}
HELPER_EXPECT_SUCCESS(p.send_and_free_messages(msgs, 1024, 1));
EXPECT_EQ(269*1024, io.out_buffer.length());
}
}

Loading…
Cancel
Save