|
|
|
@ -4609,114 +4609,6 @@ VOID TEST(ProtocolStackTest, ProtocolSendVMessage)
|
|
|
|
|
EXPECT_EQ(16, bio.out_buffer.length());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* send a SrsConnectAppPacket packet
|
|
|
|
|
*/
|
|
|
|
|
VOID TEST(ProtocolStackTest, ProtocolSendSrsConnectAppPacket)
|
|
|
|
|
{
|
|
|
|
|
MockBufferIO bio;
|
|
|
|
|
SrsProtocol proto(&bio);
|
|
|
|
|
|
|
|
|
|
SrsConnectAppPacket* pkt = new SrsConnectAppPacket();
|
|
|
|
|
pkt->command_object = SrsAmf0Any::object();
|
|
|
|
|
pkt->args = SrsAmf0Any::object();
|
|
|
|
|
|
|
|
|
|
pkt->command_object->set("version", SrsAmf0Any::str("1.0.0"));
|
|
|
|
|
pkt->command_object->set("build", SrsAmf0Any::number(150));
|
|
|
|
|
SrsAmf0Object* data = SrsAmf0Any::object();
|
|
|
|
|
pkt->command_object->set("data", data);
|
|
|
|
|
|
|
|
|
|
data->set("server", SrsAmf0Any::str("SRS"));
|
|
|
|
|
data->set("signature", SrsAmf0Any::str("ossrs"));
|
|
|
|
|
|
|
|
|
|
pkt->args->set("info", SrsAmf0Any::str("NetStream.Status.Info"));
|
|
|
|
|
pkt->args->set("desc", SrsAmf0Any::str("connected"));
|
|
|
|
|
pkt->args->set("data", SrsAmf0Any::ecma_array());
|
|
|
|
|
|
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == proto.send_and_free_packet(pkt, 0));
|
|
|
|
|
char buf[] = {
|
|
|
|
|
(char)0x03, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0xb2, (char)0x14,
|
|
|
|
|
(char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x02, (char)0x00, (char)0x07, (char)0x63,
|
|
|
|
|
(char)0x6f, (char)0x6e, (char)0x6e, (char)0x65, (char)0x63, (char)0x74, (char)0x00, (char)0x3f,
|
|
|
|
|
(char)0xf0, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x03,
|
|
|
|
|
(char)0x00, (char)0x07, (char)0x76, (char)0x65, (char)0x72, (char)0x73, (char)0x69, (char)0x6f,
|
|
|
|
|
(char)0x6e, (char)0x02, (char)0x00, (char)0x05, (char)0x31, (char)0x2e, (char)0x30, (char)0x2e,
|
|
|
|
|
(char)0x30, (char)0x00, (char)0x05, (char)0x62, (char)0x75, (char)0x69, (char)0x6c, (char)0x64,
|
|
|
|
|
(char)0x00, (char)0x40, (char)0x62, (char)0xc0, (char)0x00, (char)0x00, (char)0x00, (char)0x00,
|
|
|
|
|
(char)0x00, (char)0x00, (char)0x04, (char)0x64, (char)0x61, (char)0x74, (char)0x61, (char)0x03,
|
|
|
|
|
(char)0x00, (char)0x06, (char)0x73, (char)0x65, (char)0x72, (char)0x76, (char)0x65, (char)0x72,
|
|
|
|
|
(char)0x02, (char)0x00, (char)0x03, (char)0x53, (char)0x52, (char)0x53, (char)0x00, (char)0x09,
|
|
|
|
|
(char)0x73, (char)0x69, (char)0x67, (char)0x6e, (char)0x61, (char)0x74, (char)0x75, (char)0x72,
|
|
|
|
|
(char)0x65, (char)0x02, (char)0x00, (char)0x12, (char)0x73, (char)0x69, (char)0x6d, (char)0x70,
|
|
|
|
|
(char)0x6c, (char)0x65, (char)0x2d, (char)0x72, (char)0x74, (char)0x6d, (char)0x70, (char)0x2d,
|
|
|
|
|
(char)0x73, (char)0x65, (char)0x72, (char)0x76, (char)0x65, (char)0x72, (char)0x00, (char)0x00,
|
|
|
|
|
(char)0x09, (char)0x00, (char)0x00, (char)0x09, (char)0x03, (char)0x00, (char)0x04, (char)0x69,
|
|
|
|
|
(char)0x6e, (char)0x66, (char)0x6f, (char)0x02, (char)0x00, (char)0x15, (char)0x4e, (char)0x65,
|
|
|
|
|
(char)0x74, (char)0x53, (char)0x74, (char)0x72, (char)0xc3, (char)0x65, (char)0x61, (char)0x6d,
|
|
|
|
|
(char)0x2e, (char)0x53, (char)0x74, (char)0x61, (char)0x74, (char)0x75, (char)0x73, (char)0x2e,
|
|
|
|
|
(char)0x49, (char)0x6e, (char)0x66, (char)0x6f, (char)0x00, (char)0x04, (char)0x64, (char)0x65,
|
|
|
|
|
(char)0x73, (char)0x63, (char)0x02, (char)0x00, (char)0x09, (char)0x63, (char)0x6f, (char)0x6e,
|
|
|
|
|
(char)0x6e, (char)0x65, (char)0x63, (char)0x74, (char)0x65, (char)0x64, (char)0x00, (char)0x04,
|
|
|
|
|
(char)0x64, (char)0x61, (char)0x74, (char)0x61, (char)0x08, (char)0x00, (char)0x00, (char)0x00,
|
|
|
|
|
(char)0x00, (char)0x00, (char)0x00, (char)0x09, (char)0x00, (char)0x00, (char)0x09
|
|
|
|
|
};
|
|
|
|
|
EXPECT_TRUE(srs_bytes_equals(bio.out_buffer.bytes(), buf, sizeof(buf)));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* send a SrsConnectAppResPacket packet
|
|
|
|
|
*/
|
|
|
|
|
VOID TEST(ProtocolStackTest, ProtocolSendSrsConnectAppResPacket)
|
|
|
|
|
{
|
|
|
|
|
MockBufferIO bio;
|
|
|
|
|
SrsProtocol proto(&bio);
|
|
|
|
|
|
|
|
|
|
SrsConnectAppResPacket* pkt = new SrsConnectAppResPacket();
|
|
|
|
|
pkt->props = SrsAmf0Any::object();
|
|
|
|
|
pkt->info = SrsAmf0Any::object();
|
|
|
|
|
|
|
|
|
|
pkt->props->set("version", SrsAmf0Any::str("1.0.0"));
|
|
|
|
|
pkt->props->set("build", SrsAmf0Any::number(150));
|
|
|
|
|
SrsAmf0Object* data = SrsAmf0Any::object();
|
|
|
|
|
pkt->props->set("data", data);
|
|
|
|
|
|
|
|
|
|
data->set("server", SrsAmf0Any::str("SRS"));
|
|
|
|
|
data->set("signature", SrsAmf0Any::str("ossrs"));
|
|
|
|
|
|
|
|
|
|
pkt->info->set("info", SrsAmf0Any::str("NetStream.Status.Info"));
|
|
|
|
|
pkt->info->set("desc", SrsAmf0Any::str("connected"));
|
|
|
|
|
pkt->info->set("data", SrsAmf0Any::ecma_array());
|
|
|
|
|
|
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == proto.send_and_free_packet(pkt, 0));
|
|
|
|
|
char buf[] = {
|
|
|
|
|
(char)0x03, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0xb2, (char)0x14,
|
|
|
|
|
(char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x02, (char)0x00, (char)0x07, (char)0x5f,
|
|
|
|
|
(char)0x72, (char)0x65, (char)0x73, (char)0x75, (char)0x6c, (char)0x74, (char)0x00, (char)0x3f,
|
|
|
|
|
(char)0xf0, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x03,
|
|
|
|
|
(char)0x00, (char)0x07, (char)0x76, (char)0x65, (char)0x72, (char)0x73, (char)0x69, (char)0x6f,
|
|
|
|
|
(char)0x6e, (char)0x02, (char)0x00, (char)0x05, (char)0x31, (char)0x2e, (char)0x30, (char)0x2e,
|
|
|
|
|
(char)0x30, (char)0x00, (char)0x05, (char)0x62, (char)0x75, (char)0x69, (char)0x6c, (char)0x64,
|
|
|
|
|
(char)0x00, (char)0x40, (char)0x62, (char)0xc0, (char)0x00, (char)0x00, (char)0x00, (char)0x00,
|
|
|
|
|
(char)0x00, (char)0x00, (char)0x04, (char)0x64, (char)0x61, (char)0x74, (char)0x61, (char)0x03,
|
|
|
|
|
(char)0x00, (char)0x06, (char)0x73, (char)0x65, (char)0x72, (char)0x76, (char)0x65, (char)0x72,
|
|
|
|
|
(char)0x02, (char)0x00, (char)0x03, (char)0x53, (char)0x52, (char)0x53, (char)0x00, (char)0x09,
|
|
|
|
|
(char)0x73, (char)0x69, (char)0x67, (char)0x6e, (char)0x61, (char)0x74, (char)0x75, (char)0x72,
|
|
|
|
|
(char)0x65, (char)0x02, (char)0x00, (char)0x12, (char)0x73, (char)0x69, (char)0x6d, (char)0x70,
|
|
|
|
|
(char)0x6c, (char)0x65, (char)0x2d, (char)0x72, (char)0x74, (char)0x6d, (char)0x70, (char)0x2d,
|
|
|
|
|
(char)0x73, (char)0x65, (char)0x72, (char)0x76, (char)0x65, (char)0x72, (char)0x00, (char)0x00,
|
|
|
|
|
(char)0x09, (char)0x00, (char)0x00, (char)0x09, (char)0x03, (char)0x00, (char)0x04, (char)0x69,
|
|
|
|
|
(char)0x6e, (char)0x66, (char)0x6f, (char)0x02, (char)0x00, (char)0x15, (char)0x4e, (char)0x65,
|
|
|
|
|
(char)0x74, (char)0x53, (char)0x74, (char)0x72, (char)0xc3, (char)0x65, (char)0x61, (char)0x6d,
|
|
|
|
|
(char)0x2e, (char)0x53, (char)0x74, (char)0x61, (char)0x74, (char)0x75, (char)0x73, (char)0x2e,
|
|
|
|
|
(char)0x49, (char)0x6e, (char)0x66, (char)0x6f, (char)0x00, (char)0x04, (char)0x64, (char)0x65,
|
|
|
|
|
(char)0x73, (char)0x63, (char)0x02, (char)0x00, (char)0x09, (char)0x63, (char)0x6f, (char)0x6e,
|
|
|
|
|
(char)0x6e, (char)0x65, (char)0x63, (char)0x74, (char)0x65, (char)0x64, (char)0x00, (char)0x04,
|
|
|
|
|
(char)0x64, (char)0x61, (char)0x74, (char)0x61, (char)0x08, (char)0x00, (char)0x00, (char)0x00,
|
|
|
|
|
(char)0x00, (char)0x00, (char)0x00, (char)0x09, (char)0x00, (char)0x00, (char)0x09
|
|
|
|
|
};
|
|
|
|
|
EXPECT_TRUE(srs_bytes_equals(bio.out_buffer.bytes(), buf, sizeof(buf)));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* send a SrsCallPacket packet
|
|
|
|
|
*/
|
|
|
|
@ -4904,36 +4796,6 @@ VOID TEST(ProtocolStackTest, ProtocolSendSrsPublishPacket)
|
|
|
|
|
EXPECT_TRUE(srs_bytes_equals(bio.out_buffer.bytes(), buf, sizeof(buf)));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* send a SrsPlayPacket packet
|
|
|
|
|
*/
|
|
|
|
|
VOID TEST(ProtocolStackTest, ProtocolSendSrsPlayPacket)
|
|
|
|
|
{
|
|
|
|
|
MockBufferIO bio;
|
|
|
|
|
SrsProtocol proto(&bio);
|
|
|
|
|
|
|
|
|
|
SrsPlayPacket* pkt = new SrsPlayPacket();
|
|
|
|
|
pkt->command_name = "play";
|
|
|
|
|
pkt->command_object = SrsAmf0Any::null();
|
|
|
|
|
pkt->stream_name = "livestream";
|
|
|
|
|
pkt->start = 0;
|
|
|
|
|
pkt->duration = 0;
|
|
|
|
|
pkt->reset = true;
|
|
|
|
|
|
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == proto.send_and_free_packet(pkt, 0));
|
|
|
|
|
char buf[] = {
|
|
|
|
|
(char)0x05, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x32, (char)0x14,
|
|
|
|
|
(char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x02, (char)0x00, (char)0x04, (char)0x70,
|
|
|
|
|
(char)0x6c, (char)0x61, (char)0x79, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00,
|
|
|
|
|
(char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x05, (char)0x02, (char)0x00, (char)0x0a,
|
|
|
|
|
(char)0x6c, (char)0x69, (char)0x76, (char)0x65, (char)0x73, (char)0x74, (char)0x72, (char)0x65,
|
|
|
|
|
(char)0x61, (char)0x6d, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00,
|
|
|
|
|
(char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x00,
|
|
|
|
|
(char)0x00, (char)0x00, (char)0x00, (char)0x00, (char)0x01, (char)0x01
|
|
|
|
|
};
|
|
|
|
|
EXPECT_TRUE(srs_bytes_equals(bio.out_buffer.bytes(), buf, sizeof(buf)));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* send a SrsPlayResPacket packet
|
|
|
|
|
*/
|
|
|
|
|