1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-03-09 15:49:59 +00:00

refine autofree, only free object, never free arrays

This commit is contained in:
winlin 2014-05-14 09:41:41 +08:00
parent 300f264e92
commit dc66c525fd
17 changed files with 160 additions and 155 deletions

View file

@ -52,13 +52,13 @@ VOID TEST(AMF0Test, ScenarioMain)
// version: string
// srs_sig: string
SrsAmf0Object* props = SrsAmf0Any::object();
SrsAutoFree(SrsAmf0Object, props, false);
SrsAutoFree(SrsAmf0Object, props);
props->set("fmsVer", SrsAmf0Any::str("FMS/3,5,3,888"));
props->set("capabilities", SrsAmf0Any::number(253));
props->set("mode", SrsAmf0Any::number(123));
SrsAmf0Object* info = SrsAmf0Any::object();
SrsAutoFree(SrsAmf0Object, info, false);
SrsAutoFree(SrsAmf0Object, info);
info->set("level", SrsAmf0Any::str("info"));
info->set("code", SrsAmf0Any::str("NetStream.Connnect.Success"));
info->set("descrption", SrsAmf0Any::str("connected"));
@ -85,7 +85,7 @@ VOID TEST(AMF0Test, ScenarioMain)
EXPECT_EQ(0x03, bytes[0]);
EXPECT_EQ(0x09, bytes[nb_bytes - 1]);
}
SrsAutoFree(char, bytes, true);
SrsAutoFree(char, bytes);
// decoding amf0 object from bytes
// when user know the schema
@ -100,12 +100,12 @@ VOID TEST(AMF0Test, ScenarioMain)
// if user know the schema, for instance, it's an amf0 object,
// user can use specified object to decoding.
SrsAmf0Object* props = SrsAmf0Any::object();
SrsAutoFree(SrsAmf0Object, props, false);
SrsAutoFree(SrsAmf0Object, props);
EXPECT_EQ(ERROR_SUCCESS, props->read(&s));
// user can use specified object to decoding.
SrsAmf0Object* info = SrsAmf0Any::object();
SrsAutoFree(SrsAmf0Object, info, false);
SrsAutoFree(SrsAmf0Object, info);
EXPECT_EQ(ERROR_SUCCESS, info->read(&s));
// use the decoded data.
@ -150,7 +150,7 @@ VOID TEST(AMF0Test, ScenarioMain)
// decoding a amf0 any, for user donot know
SrsAmf0Any* any = NULL;
EXPECT_EQ(ERROR_SUCCESS, srs_amf0_read_any(&s, &any));
SrsAutoFree(SrsAmf0Any, any, false);
SrsAutoFree(SrsAmf0Any, any);
// for amf0 object
if (any->is_object()) {
@ -192,7 +192,7 @@ VOID TEST(AMF0Test, ApiSize)
if (true) {
int size = 1+3;
SrsAmf0Object* o = SrsAmf0Any::object();
SrsAutoFree(SrsAmf0Object, o, false);
SrsAutoFree(SrsAmf0Object, o);
EXPECT_EQ(size, SrsAmf0Size::object(o));
}
@ -200,7 +200,7 @@ VOID TEST(AMF0Test, ApiSize)
if (true) {
int size = 1+3;
SrsAmf0Object* o = SrsAmf0Any::object();
SrsAutoFree(SrsAmf0Object, o, false);
SrsAutoFree(SrsAmf0Object, o);
size += SrsAmf0Size::utf8("name")+SrsAmf0Size::str("winlin");
o->set("name", SrsAmf0Any::str("winlin"));
@ -210,7 +210,7 @@ VOID TEST(AMF0Test, ApiSize)
if (true) {
int size = 1+3;
SrsAmf0Object* o = SrsAmf0Any::object();
SrsAutoFree(SrsAmf0Object, o, false);
SrsAutoFree(SrsAmf0Object, o);
size += SrsAmf0Size::utf8("age")+SrsAmf0Size::number();
o->set("age", SrsAmf0Any::number(9));
@ -220,7 +220,7 @@ VOID TEST(AMF0Test, ApiSize)
if (true) {
int size = 1+3;
SrsAmf0Object* o = SrsAmf0Any::object();
SrsAutoFree(SrsAmf0Object, o, false);
SrsAutoFree(SrsAmf0Object, o);
size += SrsAmf0Size::utf8("email")+SrsAmf0Size::null();
o->set("email", SrsAmf0Any::null());
@ -230,7 +230,7 @@ VOID TEST(AMF0Test, ApiSize)
if (true) {
int size = 1+3;
SrsAmf0Object* o = SrsAmf0Any::object();
SrsAutoFree(SrsAmf0Object, o, false);
SrsAutoFree(SrsAmf0Object, o);
size += SrsAmf0Size::utf8("email")+SrsAmf0Size::undefined();
o->set("email", SrsAmf0Any::undefined());
@ -240,7 +240,7 @@ VOID TEST(AMF0Test, ApiSize)
if (true) {
int size = 1+3;
SrsAmf0Object* o = SrsAmf0Any::object();
SrsAutoFree(SrsAmf0Object, o, false);
SrsAutoFree(SrsAmf0Object, o);
size += SrsAmf0Size::utf8("sex")+SrsAmf0Size::boolean();
o->set("sex", SrsAmf0Any::boolean(true));
@ -252,7 +252,7 @@ VOID TEST(AMF0Test, ApiSize)
if (true) {
int size = 1+4+3;
SrsAmf0EcmaArray* o = SrsAmf0Any::ecma_array();
SrsAutoFree(SrsAmf0EcmaArray, o, false);
SrsAutoFree(SrsAmf0EcmaArray, o);
EXPECT_EQ(size, SrsAmf0Size::ecma_array(o));
}
@ -260,7 +260,7 @@ VOID TEST(AMF0Test, ApiSize)
if (true) {
int size = 1+4+3;
SrsAmf0EcmaArray* o = SrsAmf0Any::ecma_array();
SrsAutoFree(SrsAmf0EcmaArray, o, false);
SrsAutoFree(SrsAmf0EcmaArray, o);
size += SrsAmf0Size::utf8("name")+SrsAmf0Size::str("winlin");
o->set("name", SrsAmf0Any::str("winlin"));
@ -270,7 +270,7 @@ VOID TEST(AMF0Test, ApiSize)
if (true) {
int size = 1+4+3;
SrsAmf0EcmaArray* o = SrsAmf0Any::ecma_array();
SrsAutoFree(SrsAmf0EcmaArray, o, false);
SrsAutoFree(SrsAmf0EcmaArray, o);
size += SrsAmf0Size::utf8("age")+SrsAmf0Size::number();
o->set("age", SrsAmf0Any::number(9));
@ -280,7 +280,7 @@ VOID TEST(AMF0Test, ApiSize)
if (true) {
int size = 1+4+3;
SrsAmf0EcmaArray* o = SrsAmf0Any::ecma_array();
SrsAutoFree(SrsAmf0EcmaArray, o, false);
SrsAutoFree(SrsAmf0EcmaArray, o);
size += SrsAmf0Size::utf8("email")+SrsAmf0Size::null();
o->set("email", SrsAmf0Any::null());
@ -290,7 +290,7 @@ VOID TEST(AMF0Test, ApiSize)
if (true) {
int size = 1+4+3;
SrsAmf0EcmaArray* o = SrsAmf0Any::ecma_array();
SrsAutoFree(SrsAmf0EcmaArray, o, false);
SrsAutoFree(SrsAmf0EcmaArray, o);
size += SrsAmf0Size::utf8("email")+SrsAmf0Size::undefined();
o->set("email", SrsAmf0Any::undefined());
@ -300,7 +300,7 @@ VOID TEST(AMF0Test, ApiSize)
if (true) {
int size = 1+4+3;
SrsAmf0EcmaArray* o = SrsAmf0Any::ecma_array();
SrsAutoFree(SrsAmf0EcmaArray, o, false);
SrsAutoFree(SrsAmf0EcmaArray, o);
size += SrsAmf0Size::utf8("sex")+SrsAmf0Size::boolean();
o->set("sex", SrsAmf0Any::boolean(true));
@ -312,7 +312,7 @@ VOID TEST(AMF0Test, ApiSize)
if (true) {
int size = 1+3;
SrsAmf0Object* o = SrsAmf0Any::object();
SrsAutoFree(SrsAmf0Object, o, false);
SrsAutoFree(SrsAmf0Object, o);
size += SrsAmf0Size::utf8("name")+SrsAmf0Size::str("winlin");
o->set("name", SrsAmf0Any::str("winlin"));
@ -327,7 +327,7 @@ VOID TEST(AMF0Test, ApiSize)
if (true) {
int size = 1+3;
SrsAmf0Object* o = SrsAmf0Any::object();
SrsAutoFree(SrsAmf0Object, o, false);
SrsAutoFree(SrsAmf0Object, o);
size += SrsAmf0Size::utf8("name")+SrsAmf0Size::str("winlin");
o->set("name", SrsAmf0Any::str("winlin"));
@ -349,7 +349,7 @@ VOID TEST(AMF0Test, ApiSize)
if (true) {
int size = 1+4+3;
SrsAmf0EcmaArray* o = SrsAmf0Any::ecma_array();
SrsAutoFree(SrsAmf0EcmaArray, o, false);
SrsAutoFree(SrsAmf0EcmaArray, o);
size += SrsAmf0Size::utf8("name")+SrsAmf0Size::str("winlin");
o->set("name", SrsAmf0Any::str("winlin"));
@ -364,7 +364,7 @@ VOID TEST(AMF0Test, ApiSize)
if (true) {
int size = 1+4+3;
SrsAmf0EcmaArray* o = SrsAmf0Any::ecma_array();
SrsAutoFree(SrsAmf0EcmaArray, o, false);
SrsAutoFree(SrsAmf0EcmaArray, o);
size += SrsAmf0Size::utf8("name")+SrsAmf0Size::str("winlin");
o->set("name", SrsAmf0Any::str("winlin"));
@ -386,7 +386,7 @@ VOID TEST(AMF0Test, ApiSize)
if (true) {
int size = 1+3;
SrsAmf0Object* o = SrsAmf0Any::object();
SrsAutoFree(SrsAmf0Object, o, false);
SrsAutoFree(SrsAmf0Object, o);
size += SrsAmf0Size::utf8("name")+SrsAmf0Size::str("winlin");
o->set("name", SrsAmf0Any::str("winlin"));
@ -408,7 +408,7 @@ VOID TEST(AMF0Test, ApiSize)
if (true) {
int size = 1+4+3;
SrsAmf0EcmaArray* o = SrsAmf0Any::ecma_array();
SrsAutoFree(SrsAmf0EcmaArray, o, false);
SrsAutoFree(SrsAmf0EcmaArray, o);
size += SrsAmf0Size::utf8("name")+SrsAmf0Size::str("winlin");
o->set("name", SrsAmf0Any::str("winlin"));
@ -434,14 +434,14 @@ VOID TEST(AMF0Test, ApiAnyElem)
// string
if (true) {
o = SrsAmf0Any::str();
SrsAutoFree(SrsAmf0Any, o, false);
SrsAutoFree(SrsAmf0Any, o);
ASSERT_TRUE(NULL != o);
EXPECT_TRUE(o->is_string());
EXPECT_STREQ("", o->to_str().c_str());
}
if (true) {
o = SrsAmf0Any::str("winlin");
SrsAutoFree(SrsAmf0Any, o, false);
SrsAutoFree(SrsAmf0Any, o);
ASSERT_TRUE(NULL != o);
EXPECT_TRUE(o->is_string());
EXPECT_STREQ("winlin", o->to_str().c_str());
@ -450,21 +450,21 @@ VOID TEST(AMF0Test, ApiAnyElem)
// bool
if (true) {
o = SrsAmf0Any::boolean();
SrsAutoFree(SrsAmf0Any, o, false);
SrsAutoFree(SrsAmf0Any, o);
ASSERT_TRUE(NULL != o);
EXPECT_TRUE(o->is_boolean());
EXPECT_FALSE(o->to_boolean());
}
if (true) {
o = SrsAmf0Any::boolean(false);
SrsAutoFree(SrsAmf0Any, o, false);
SrsAutoFree(SrsAmf0Any, o);
ASSERT_TRUE(NULL != o);
EXPECT_TRUE(o->is_boolean());
EXPECT_FALSE(o->to_boolean());
}
if (true) {
o = SrsAmf0Any::boolean(true);
SrsAutoFree(SrsAmf0Any, o, false);
SrsAutoFree(SrsAmf0Any, o);
ASSERT_TRUE(NULL != o);
EXPECT_TRUE(o->is_boolean());
EXPECT_TRUE(o->to_boolean());
@ -473,21 +473,21 @@ VOID TEST(AMF0Test, ApiAnyElem)
// number
if (true) {
o = SrsAmf0Any::number();
SrsAutoFree(SrsAmf0Any, o, false);
SrsAutoFree(SrsAmf0Any, o);
ASSERT_TRUE(NULL != o);
EXPECT_TRUE(o->is_number());
EXPECT_DOUBLE_EQ(0, o->to_number());
}
if (true) {
o = SrsAmf0Any::number(100);
SrsAutoFree(SrsAmf0Any, o, false);
SrsAutoFree(SrsAmf0Any, o);
ASSERT_TRUE(NULL != o);
EXPECT_TRUE(o->is_number());
EXPECT_DOUBLE_EQ(100, o->to_number());
}
if (true) {
o = SrsAmf0Any::number(-100);
SrsAutoFree(SrsAmf0Any, o, false);
SrsAutoFree(SrsAmf0Any, o);
ASSERT_TRUE(NULL != o);
EXPECT_TRUE(o->is_number());
EXPECT_DOUBLE_EQ(-100, o->to_number());
@ -496,7 +496,7 @@ VOID TEST(AMF0Test, ApiAnyElem)
// null
if (true) {
o = SrsAmf0Any::null();
SrsAutoFree(SrsAmf0Any, o, false);
SrsAutoFree(SrsAmf0Any, o);
ASSERT_TRUE(NULL != o);
EXPECT_TRUE(o->is_null());
}
@ -504,7 +504,7 @@ VOID TEST(AMF0Test, ApiAnyElem)
// undefined
if (true) {
o = SrsAmf0Any::undefined();
SrsAutoFree(SrsAmf0Any, o, false);
SrsAutoFree(SrsAmf0Any, o);
ASSERT_TRUE(NULL != o);
EXPECT_TRUE(o->is_undefined());
}
@ -525,7 +525,7 @@ VOID TEST(AMF0Test, ApiAnyIO)
s.current()[2] = 0x09;
o = SrsAmf0Any::object_eof();
SrsAutoFree(SrsAmf0Any, o, false);
SrsAutoFree(SrsAmf0Any, o);
EXPECT_EQ(ERROR_SUCCESS, o->read(&s));
EXPECT_EQ(o->total_size(), s.pos());
@ -539,7 +539,7 @@ VOID TEST(AMF0Test, ApiAnyIO)
s.reset();
o = SrsAmf0Any::object_eof();
SrsAutoFree(SrsAmf0Any, o, false);
SrsAutoFree(SrsAmf0Any, o);
EXPECT_EQ(ERROR_SUCCESS, o->write(&s));
EXPECT_EQ(o->total_size(), s.pos());
@ -554,7 +554,7 @@ VOID TEST(AMF0Test, ApiAnyIO)
s.reset();
o = SrsAmf0Any::str("winlin");
SrsAutoFree(SrsAmf0Any, o, false);
SrsAutoFree(SrsAmf0Any, o);
EXPECT_EQ(ERROR_SUCCESS, o->write(&s));
EXPECT_EQ(o->total_size(), s.pos());
@ -577,7 +577,7 @@ VOID TEST(AMF0Test, ApiAnyIO)
s.reset();
o = SrsAmf0Any::number(10);
SrsAutoFree(SrsAmf0Any, o, false);
SrsAutoFree(SrsAmf0Any, o);
EXPECT_EQ(ERROR_SUCCESS, o->write(&s));
EXPECT_EQ(o->total_size(), s.pos());
@ -596,7 +596,7 @@ VOID TEST(AMF0Test, ApiAnyIO)
s.reset();
o = SrsAmf0Any::boolean(true);
SrsAutoFree(SrsAmf0Any, o, false);
SrsAutoFree(SrsAmf0Any, o);
EXPECT_EQ(ERROR_SUCCESS, o->write(&s));
EXPECT_EQ(o->total_size(), s.pos());
@ -613,7 +613,7 @@ VOID TEST(AMF0Test, ApiAnyIO)
s.reset();
o = SrsAmf0Any::boolean(false);
SrsAutoFree(SrsAmf0Any, o, false);
SrsAutoFree(SrsAmf0Any, o);
EXPECT_EQ(ERROR_SUCCESS, o->write(&s));
EXPECT_EQ(o->total_size(), s.pos());
@ -632,7 +632,7 @@ VOID TEST(AMF0Test, ApiAnyIO)
s.reset();
o = SrsAmf0Any::null();
SrsAutoFree(SrsAmf0Any, o, false);
SrsAutoFree(SrsAmf0Any, o);
EXPECT_EQ(ERROR_SUCCESS, o->write(&s));
EXPECT_EQ(o->total_size(), s.pos());
@ -651,7 +651,7 @@ VOID TEST(AMF0Test, ApiAnyIO)
s.reset();
o = SrsAmf0Any::undefined();
SrsAutoFree(SrsAmf0Any, o, false);
SrsAutoFree(SrsAmf0Any, o);
EXPECT_EQ(ERROR_SUCCESS, o->write(&s));
EXPECT_EQ(o->total_size(), s.pos());
@ -670,7 +670,7 @@ VOID TEST(AMF0Test, ApiAnyIO)
s.reset();
o = SrsAmf0Any::str("winlin");
SrsAutoFree(SrsAmf0Any, o, false);
SrsAutoFree(SrsAmf0Any, o);
EXPECT_EQ(ERROR_SUCCESS, o->write(&s));
EXPECT_EQ(o->total_size(), s.pos());
@ -680,7 +680,7 @@ VOID TEST(AMF0Test, ApiAnyIO)
SrsAmf0Any* po = NULL;
EXPECT_EQ(ERROR_SUCCESS, srs_amf0_read_any(&s, &po));
ASSERT_TRUE(NULL != po);
SrsAutoFree(SrsAmf0Any, po, false);
SrsAutoFree(SrsAmf0Any, po);
ASSERT_TRUE(po->is_string());
EXPECT_STREQ("winlin", po->to_str().c_str());
}
@ -690,7 +690,7 @@ VOID TEST(AMF0Test, ApiAnyIO)
s.reset();
o = SrsAmf0Any::number(10);
SrsAutoFree(SrsAmf0Any, o, false);
SrsAutoFree(SrsAmf0Any, o);
EXPECT_EQ(ERROR_SUCCESS, o->write(&s));
EXPECT_EQ(o->total_size(), s.pos());
@ -700,7 +700,7 @@ VOID TEST(AMF0Test, ApiAnyIO)
SrsAmf0Any* po = NULL;
EXPECT_EQ(ERROR_SUCCESS, srs_amf0_read_any(&s, &po));
ASSERT_TRUE(NULL != po);
SrsAutoFree(SrsAmf0Any, po, false);
SrsAutoFree(SrsAmf0Any, po);
ASSERT_TRUE(po->is_number());
EXPECT_DOUBLE_EQ(10, po->to_number());
}
@ -710,7 +710,7 @@ VOID TEST(AMF0Test, ApiAnyIO)
s.reset();
o = SrsAmf0Any::boolean(true);
SrsAutoFree(SrsAmf0Any, o, false);
SrsAutoFree(SrsAmf0Any, o);
EXPECT_EQ(ERROR_SUCCESS, o->write(&s));
EXPECT_EQ(o->total_size(), s.pos());
@ -720,7 +720,7 @@ VOID TEST(AMF0Test, ApiAnyIO)
SrsAmf0Any* po = NULL;
EXPECT_EQ(ERROR_SUCCESS, srs_amf0_read_any(&s, &po));
ASSERT_TRUE(NULL != po);
SrsAutoFree(SrsAmf0Any, po, false);
SrsAutoFree(SrsAmf0Any, po);
ASSERT_TRUE(po->is_boolean());
EXPECT_TRUE(po->to_boolean());
}
@ -730,7 +730,7 @@ VOID TEST(AMF0Test, ApiAnyIO)
s.reset();
o = SrsAmf0Any::null();
SrsAutoFree(SrsAmf0Any, o, false);
SrsAutoFree(SrsAmf0Any, o);
EXPECT_EQ(ERROR_SUCCESS, o->write(&s));
EXPECT_EQ(o->total_size(), s.pos());
@ -740,7 +740,7 @@ VOID TEST(AMF0Test, ApiAnyIO)
SrsAmf0Any* po = NULL;
EXPECT_EQ(ERROR_SUCCESS, srs_amf0_read_any(&s, &po));
ASSERT_TRUE(NULL != po);
SrsAutoFree(SrsAmf0Any, po, false);
SrsAutoFree(SrsAmf0Any, po);
ASSERT_TRUE(po->is_null());
}
@ -749,7 +749,7 @@ VOID TEST(AMF0Test, ApiAnyIO)
s.reset();
o = SrsAmf0Any::undefined();
SrsAutoFree(SrsAmf0Any, o, false);
SrsAutoFree(SrsAmf0Any, o);
EXPECT_EQ(ERROR_SUCCESS, o->write(&s));
EXPECT_EQ(o->total_size(), s.pos());
@ -759,7 +759,7 @@ VOID TEST(AMF0Test, ApiAnyIO)
SrsAmf0Any* po = NULL;
EXPECT_EQ(ERROR_SUCCESS, srs_amf0_read_any(&s, &po));
ASSERT_TRUE(NULL != po);
SrsAutoFree(SrsAmf0Any, po, false);
SrsAutoFree(SrsAmf0Any, po);
ASSERT_TRUE(po->is_undefined());
}
@ -841,44 +841,44 @@ VOID TEST(AMF0Test, ApiAnyAssert)
// any convert
if (true) {
o = SrsAmf0Any::str();
SrsAutoFree(SrsAmf0Any, o, false);
SrsAutoFree(SrsAmf0Any, o);
EXPECT_TRUE(o->is_string());
}
if (true) {
o = SrsAmf0Any::number();
SrsAutoFree(SrsAmf0Any, o, false);
SrsAutoFree(SrsAmf0Any, o);
EXPECT_TRUE(o->is_number());
}
if (true) {
o = SrsAmf0Any::boolean();
SrsAutoFree(SrsAmf0Any, o, false);
SrsAutoFree(SrsAmf0Any, o);
EXPECT_TRUE(o->is_boolean());
}
if (true) {
o = SrsAmf0Any::null();
SrsAutoFree(SrsAmf0Any, o, false);
SrsAutoFree(SrsAmf0Any, o);
EXPECT_TRUE(o->is_null());
}
if (true) {
o = SrsAmf0Any::undefined();
SrsAutoFree(SrsAmf0Any, o, false);
SrsAutoFree(SrsAmf0Any, o);
EXPECT_TRUE(o->is_undefined());
}
if (true) {
o = SrsAmf0Any::object();
SrsAutoFree(SrsAmf0Any, o, false);
SrsAutoFree(SrsAmf0Any, o);
EXPECT_TRUE(o->is_object());
}
if (true) {
o = SrsAmf0Any::ecma_array();
SrsAutoFree(SrsAmf0Any, o, false);
SrsAutoFree(SrsAmf0Any, o);
EXPECT_TRUE(o->is_ecma_array());
}
// empty object
if (true) {
o = SrsAmf0Any::object();
SrsAutoFree(SrsAmf0Any, o, false);
SrsAutoFree(SrsAmf0Any, o);
s.reset();
EXPECT_EQ(ERROR_SUCCESS, o->write(&s));
EXPECT_EQ(1+3, s.pos());
@ -887,7 +887,7 @@ VOID TEST(AMF0Test, ApiAnyAssert)
// empty ecma array
if (true) {
o = SrsAmf0Any::ecma_array();
SrsAutoFree(SrsAmf0Any, o, false);
SrsAutoFree(SrsAmf0Any, o);
s.reset();
EXPECT_EQ(ERROR_SUCCESS, o->write(&s));
EXPECT_EQ(1+4+3, s.pos());
@ -901,7 +901,7 @@ VOID TEST(AMF0Test, ApiObjectProps)
// get/set property
if (true) {
o = SrsAmf0Any::object();
SrsAutoFree(SrsAmf0Object, o, false);
SrsAutoFree(SrsAmf0Object, o);
EXPECT_TRUE(NULL == o->get_property("name"));
@ -917,7 +917,7 @@ VOID TEST(AMF0Test, ApiObjectProps)
// index property
if (true) {
o = SrsAmf0Any::object();
SrsAutoFree(SrsAmf0Object, o, false);
SrsAutoFree(SrsAmf0Object, o);
o->set("name", SrsAmf0Any::str("winlin"));
EXPECT_STREQ("name", o->key_at(0).c_str());
@ -937,7 +937,7 @@ VOID TEST(AMF0Test, ApiObjectProps)
// ensure property
if (true) {
o = SrsAmf0Any::object();
SrsAutoFree(SrsAmf0Object, o, false);
SrsAutoFree(SrsAmf0Object, o);
EXPECT_TRUE(NULL == o->ensure_property_string("name"));
EXPECT_TRUE(NULL == o->ensure_property_number("age"));
@ -957,7 +957,7 @@ VOID TEST(AMF0Test, ApiObjectProps)
// count
if (true) {
o = SrsAmf0Any::object();
SrsAutoFree(SrsAmf0Object, o, false);
SrsAutoFree(SrsAmf0Object, o);
EXPECT_EQ(0, o->count());
@ -979,7 +979,7 @@ VOID TEST(AMF0Test, ApiEcmaArrayProps)
// get/set property
if (true) {
o = SrsAmf0Any::ecma_array();
SrsAutoFree(SrsAmf0EcmaArray, o, false);
SrsAutoFree(SrsAmf0EcmaArray, o);
EXPECT_TRUE(NULL == o->get_property("name"));
@ -995,7 +995,7 @@ VOID TEST(AMF0Test, ApiEcmaArrayProps)
// index property
if (true) {
o = SrsAmf0Any::ecma_array();
SrsAutoFree(SrsAmf0EcmaArray, o, false);
SrsAutoFree(SrsAmf0EcmaArray, o);
o->set("name", SrsAmf0Any::str("winlin"));
EXPECT_STREQ("name", o->key_at(0).c_str());
@ -1015,7 +1015,7 @@ VOID TEST(AMF0Test, ApiEcmaArrayProps)
// ensure property
if (true) {
o = SrsAmf0Any::ecma_array();
SrsAutoFree(SrsAmf0EcmaArray, o, false);
SrsAutoFree(SrsAmf0EcmaArray, o);
EXPECT_TRUE(NULL == o->ensure_property_string("name"));
EXPECT_TRUE(NULL == o->ensure_property_number("age"));
@ -1035,7 +1035,7 @@ VOID TEST(AMF0Test, ApiEcmaArrayProps)
// count
if (true) {
o = SrsAmf0Any::ecma_array();
SrsAutoFree(SrsAmf0EcmaArray, o, false);
SrsAutoFree(SrsAmf0EcmaArray, o);
EXPECT_EQ(0, o->count());

View file

@ -115,7 +115,7 @@ VOID TEST(HandshakeTest, VerifyFPC0C1)
// manually validate the c1
// @see: calc_c1_digest
char* c1s1_joined_bytes = srs_bytes_join_schema0(c1.time, c1.version, &c1.block0.key, &c1.block1.digest);
SrsAutoFree(char, c1s1_joined_bytes, true);
SrsAutoFree(char, c1s1_joined_bytes);
bool is_valid;
ASSERT_EQ(ERROR_SUCCESS, c1.c1_validate_digest(is_valid));